public class EnterpriseGate
extends java.lang.Object
ModelMojoWriter.writeTo(OutputStream, StreamWriteOption...), the
single funnel every model MOJO byte passes through, including the nested
writers used for Stacked Ensembles.Model.toJava(OutputStream, boolean, boolean), which both public
POJO generators route through.ProtobufPipelineWriter.writeTo(...). An
water.rapids.Assembly carries only munging steps, never a model, but the
artifact is still a .mojo zip handed to the caller.block(String) directly - ModelsHandler
(fetchJavaCode, fetchMojo, exportMojo),
AssemblyToMojoPipelineExportHandler.fetchMojoPipeline and
AssemblyHandler.toJava. That is not the enforcement - the writers above are - but it
fails the request at the API boundary with a message naming the operation the caller asked
for. AssemblyHandler.toJava is the one case where the handler is the only
enforcement point, because the Java text is generated afterwards by RequestServer
rather than by a StreamWriter. The client-side notices in the Python/R packages are
only the friendly message.
Binary model export stays open by design: a model can still be moved to an H2O-3 Secure
cluster, which is the intended upgrade path. What OSS will not do is convert one into a
deployable scoring artifact.| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ENTERPRISE_EMAIL |
static java.lang.String |
LEARN_MORE |
| Modifier and Type | Method and Description |
|---|---|
static void |
block(java.lang.String operation)
Block a MOJO-related capability.
|
static void |
blockUnlessTestHarness(java.lang.String operation)
Enforcement point for the
hex.Model artifact-producing methods, which the
test harness itself relies on. |
static void |
logStartupBanner()
Log the OSS-vs-Secure notice at cluster startup.
|
public static final java.lang.String ENTERPRISE_EMAIL
public static final java.lang.String LEARN_MORE
public static void logStartupBanner()
Log.info(java.lang.Object...)
(not System.out) so it flows through the standard logging pipeline.public static void blockUnlessTestHarness(java.lang.String operation)
hex.Model artifact-producing methods, which the
test harness itself relies on. Identical to block(String) for every shipped
cluster; a no-op under the JUnit suites. The REST layer deliberately does not use
this variant - every request from a client is blocked unconditionally.public static void block(java.lang.String operation)
operation is the user-facing action
(e.g. "MOJO export", "MOJO import"). Always throws.