Repository: incubator-ignite Updated Branches: refs/heads/sprint-1 210bd2e3b -> 9513a6272
# IGNITE-191: WIP. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0c899a88 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0c899a88 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0c899a88 Branch: refs/heads/sprint-1 Commit: 0c899a885589bb2d9ac00e11bf43bd3e271aeb63 Parents: db8b4c7 Author: vozerov-gridgain <voze...@gridgain.com> Authored: Wed Feb 11 18:04:03 2015 +0300 Committer: vozerov-gridgain <voze...@gridgain.com> Committed: Wed Feb 11 18:04:03 2015 +0300 ---------------------------------------------------------------------- .../src/main/java/org/apache/ignite/Ignite.java | 9 +- .../apache/ignite/internal/GridProductImpl.java | 126 ++------------ .../org/apache/ignite/internal/IgniteEx.java | 5 - .../apache/ignite/internal/IgniteKernal.java | 174 +++---------------- .../impl/GridRouterCommandLineStartup.java | 7 +- .../processors/cache/GridCacheSwapManager.java | 3 - .../jdbc/GridCacheQueryJdbcValidationTask.java | 5 - .../processors/fs/GridGgfsIpcHandler.java | 13 +- .../internal/processors/fs/GridGgfsServer.java | 2 +- .../processors/fs/IgniteFsProcessor.java | 5 - .../license/GridLicenseProcessor.java | 20 --- .../license/GridLicenseSubsystem.java | 53 ------ .../license/GridLicenseUseRegistry.java | 90 ---------- .../license/os/GridOsLicenseProcessor.java | 15 -- .../handlers/cache/GridCacheCommandHandler.java | 4 - .../version/GridVersionCommandHandler.java | 4 +- .../streamer/GridStreamProcessor.java | 5 - .../ignite/internal/product/IgniteProduct.java | 76 +++++--- .../ipc/shmem/IpcSharedMemoryNativeLoader.java | 4 +- .../visor/misc/VisorLatestVersionTask.java | 4 +- .../optimized/optimized-classnames.properties | 1 - .../startup/cmdline/CommandLineStartup.java | 13 +- .../ignite/internal/GridVersionSelfTest.java | 69 ++++---- .../product/GridProductVersionSelfTest.java | 4 +- .../marshaller/GridMarshallerAbstractTest.java | 39 +++-- .../testframework/junits/GridAbstractTest.java | 3 - .../ignite/testframework/junits/IgniteMock.java | 6 + .../processors/hadoop/GridHadoopSetup.java | 4 +- .../scala/org/apache/ignite/scalar/scalar.scala | 3 +- .../org/apache/ignite/IgniteSpringBean.java | 8 + .../ignite/visor/commands/VisorConsole.scala | 7 +- .../commands/alert/VisorAlertCommand.scala | 2 +- .../scala/org/apache/ignite/visor/visor.scala | 3 +- 33 files changed, 200 insertions(+), 586 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/Ignite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java b/modules/core/src/main/java/org/apache/ignite/Ignite.java index 11acebb..8f85b73 100644 --- a/modules/core/src/main/java/org/apache/ignite/Ignite.java +++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java @@ -23,6 +23,7 @@ import org.apache.ignite.cluster.*; import org.apache.ignite.configuration.*; import org.apache.ignite.internal.product.*; import org.apache.ignite.internal.util.typedef.*; +import org.apache.ignite.lang.*; import org.apache.ignite.plugin.*; import org.jetbrains.annotations.*; @@ -46,7 +47,6 @@ import java.util.concurrent.*; * <li>{@link IgniteFs} - functionality for distributed Hadoop-compliant in-memory file system and map-reduce.</li> * <li>{@link IgniteStreamer} - functionality for streaming events workflow with queries and indexes into rolling windows.</li> * <li>{@link IgniteScheduler} - functionality for scheduling jobs using UNIX Cron syntax.</li> - * <li>{@link IgniteProduct} - functionality for licence management and update and product related information.</li> * <li>{@link IgniteCompute} - functionality for executing tasks and closures on all grid nodes (inherited form {@link ClusterGroup}).</li> * <li>{@link IgniteMessaging} - functionality for topic-based message exchange on all grid nodes (inherited form {@link ClusterGroup}).</li> * <li>{@link IgniteEvents} - functionality for querying and listening to events on all grid nodes (inherited form {@link ClusterGroup}).</li> @@ -181,6 +181,13 @@ public interface Ignite extends AutoCloseable { public IgniteProduct product(); /** + * Gets Ignite version. + * + * @return Ignite version. + */ + public IgniteProductVersion version(); + + /** * Gets an instance of cron-based scheduler. * * @return Instance of scheduler. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/GridProductImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridProductImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridProductImpl.java index aa598c5..a017bbc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridProductImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridProductImpl.java @@ -17,94 +17,22 @@ package org.apache.ignite.internal; -import org.apache.ignite.*; import org.apache.ignite.internal.product.*; -import org.apache.ignite.internal.util.typedef.internal.*; -import org.apache.ignite.lang.*; import org.jetbrains.annotations.*; import java.io.*; -import java.text.*; -import java.util.*; /** - * {@link org.apache.ignite.internal.product.IgniteProduct} implementation. + * {@link IgniteProduct} implementation. */ -public class GridProductImpl implements IgniteProduct, Externalizable { - /** */ - private static final long serialVersionUID = 0L; - - /** Copyright blurb. */ - public static final String COPYRIGHT = "2015 Copyright(C) Apache Software Foundation"; - - /** Enterprise edition flag. */ - private static final boolean ENT; - - /** Ignite version. */ - public static final String VER; - - /** Build timestamp in seconds. */ - public static final long BUILD_TSTAMP; - - /** Formatted build date. */ - public static final String BUILD_TSTAMP_STR; - - /** Revision hash. */ - public static final String REV_HASH; - - /** Release date. */ - public static final String RELEASE_DATE; - - /** Ignite version as numeric array (generated from {@link #VER}). */ - public static final byte[] VER_BYTES; - - /** Compound version. */ - public static final String COMPOUND_VER; - - /** Compound version. */ - public static final String ACK_VER; - +public class GridProductImpl extends IgniteProduct { /** */ private GridKernalContext ctx; - /** */ - private IgniteProductVersion ver; - /** Update notifier. */ private GridUpdateNotifier verChecker; /** - * - */ - static { - boolean ent0; - - try { - ent0 = Class.forName("org.gridgain.grid.kernal.breadcrumb") != null; - } - catch (ClassNotFoundException ignored) { - ent0 = false; - } - - ENT = ent0; - - VER = GridProperties.get("ignite.version"); - BUILD_TSTAMP = Long.valueOf(GridProperties.get("ignite.build")); - REV_HASH = GridProperties.get("ignite.revision"); - RELEASE_DATE = GridProperties.get("ignite.rel.date"); - - VER_BYTES = U.intToBytes(VER.hashCode()); - - COMPOUND_VER = VER; - - BUILD_TSTAMP_STR = new SimpleDateFormat("yyyyMMdd").format(new Date(BUILD_TSTAMP * 1000)); - - String rev = REV_HASH.length() > 8 ? REV_HASH.substring(0, 8) : REV_HASH; - - ACK_VER = COMPOUND_VER + '#' + BUILD_TSTAMP_STR + "-sha1:" + rev; - } - - /** * Required by {@link Externalizable}. */ public GridProductImpl() { @@ -118,8 +46,18 @@ public class GridProductImpl implements IgniteProduct, Externalizable { public GridProductImpl(GridKernalContext ctx, GridUpdateNotifier verChecker) { this.ctx = ctx; this.verChecker = verChecker; + } + + /** {@inheritDoc} */ + @Override public long gracePeriodLeft() { + ctx.gateway().readLock(); - ver = IgniteProductVersion.fromString(VER + '-' + BUILD_TSTAMP + '-' + REV_HASH); + try { + return ctx.license().gracePeriodLeft(); + } + finally { + ctx.gateway().readUnlock(); + } } /** {@inheritDoc} */ @@ -147,16 +85,6 @@ public class GridProductImpl implements IgniteProduct, Externalizable { } /** {@inheritDoc} */ - @Override public IgniteProductVersion version() { - return ver; - } - - /** {@inheritDoc} */ - @Override public String copyright() { - return COPYRIGHT; - } - - /** {@inheritDoc} */ @Nullable @Override public String latestVersion() { ctx.gateway().readLock(); @@ -167,32 +95,4 @@ public class GridProductImpl implements IgniteProduct, Externalizable { ctx.gateway().readUnlock(); } } - - /** {@inheritDoc} */ - @Override public void ackVisor(IgniteLogger log) { - if (ENT) - U.quietAndInfo(log, "To start GUI Management & Monitoring run ggvisorui.{sh|bat}"); - else - U.quietAndInfo(log, "To start Console Management & Monitoring run ignitevisorcmd.{sh|bat}"); - } - - /** {@inheritDoc} */ - @Override public void writeExternal(ObjectOutput out) throws IOException { - out.writeObject(ctx); - } - - /** {@inheritDoc} */ - @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - ctx = (GridKernalContext)in.readObject(); - } - - /** - * Reconstructs object on unmarshalling. - * - * @return Reconstructed object. - * @throws ObjectStreamException Thrown in case of unmarshalling error. - */ - private Object readResolve() throws ObjectStreamException { - return ctx.product(); - } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java index 515a337..fccd9c0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java @@ -96,11 +96,6 @@ public interface IgniteEx extends Ignite, ClusterGroupEx, IgniteCluster { public Collection<String> compatibleVersions(); /** - * @return Grace period left in minutes if bursting or {@code -1} otherwise. - */ - public long licenseGracePeriodLeft(); - - /** * Whether or not remote JMX management is enabled for this node. * * @return {@code True} if remote JMX management is enabled - {@code false} otherwise. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java index 620b1fe..dd76a3a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java @@ -92,10 +92,9 @@ import java.util.concurrent.atomic.*; import static org.apache.ignite.IgniteSystemProperties.*; import static org.apache.ignite.internal.GridKernalState.*; -import static org.apache.ignite.internal.GridProductImpl.*; +import static org.apache.ignite.internal.product.IgniteProduct.*; import static org.apache.ignite.internal.IgniteComponentType.*; import static org.apache.ignite.internal.IgniteNodeAttributes.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; import static org.apache.ignite.internal.util.nodestart.IgniteNodeStartUtils.*; import static org.apache.ignite.lifecycle.LifecycleEventType.*; @@ -124,15 +123,9 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit /** Periodic version check delay. */ private static final long PERIODIC_VER_CHECK_CONN_TIMEOUT = 10 * 1000; // 10 seconds. - /** Periodic version check delay. */ - private static final long PERIODIC_LIC_CHECK_DELAY = 1000 * 60; // Every minute. - /** Periodic starvation check interval. */ private static final long PERIODIC_STARVATION_CHECK_FREQ = 1000 * 30; - /** Shutdown delay in msec. when license violation detected. */ - private static final int SHUTDOWN_DELAY = 60 * 1000; - /** */ private IgniteConfiguration cfg; @@ -188,10 +181,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit /** */ @GridToStringExclude - private Timer licTimer; - - /** */ - @GridToStringExclude private Timer metricsLogTimer; /** Indicate error on grid stop. */ @@ -210,10 +199,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit @GridToStringExclude private final AtomicReference<GridKernalGateway> gw = new AtomicReference<>(); - /** Data Grid edition usage registered flag. */ - @GridToStringExclude - private volatile boolean dbUsageRegistered; - /** */ @GridToStringExclude private final Collection<String> compatibleVers; @@ -282,7 +267,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit /** {@inheritDoc} */ @Override public String getCopyright() { - return ctx.product().copyright(); + return IgniteProduct.COPYRIGHT; } /** {@inheritDoc} */ @@ -307,7 +292,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit /** {@inheritDoc} */ @Override public String getFullVersion() { - return COMPOUND_VER + '-' + BUILD_TSTAMP_STR; + return VER_STR + '-' + BUILD_TSTAMP_STR; } /** {@inheritDoc} */ @@ -621,7 +606,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit if (notifyEnabled) { try { - verChecker0 = new GridUpdateNotifier(gridName, VER, SITE, gw, false); + verChecker0 = new GridUpdateNotifier(gridName, VER_STR, SITE, gw, false); verChecker0.checkForNewVersion(execSvc, log); } @@ -795,9 +780,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit comp.onKernalStart(); } - // Ack the license. - ctx.license().ackLicense(); - // Register MBeans. registerKernalMBean(); registerLocalNodeMBean(); @@ -894,49 +876,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit }, interval, interval); } - if (!isDaemon()) { - licTimer = new Timer("ignite-license-checker"); - - // Setup periodic license check. - licTimer.scheduleAtFixedRate(new GridTimerTask() { - @Override public void safeRun() throws InterruptedException { - try { - ctx.license().checkLicense(); - } - // This exception only happens when license processor was unable - // to resolve license violation on its own and this grid instance - // now needs to be shutdown. - // - // Note that in most production configurations the license will - // have certain grace period and license processor will attempt - // to reload the license during the grace period. - // - // This exception thrown here means that grace period, if any, - // has expired and license violation is still unresolved. - catch (IgniteProductLicenseException ignored) { - U.error(log, "License violation is unresolved. Ignite node will shutdown in " + - (SHUTDOWN_DELAY / 1000) + " sec."); - U.error(log, " ^-- Contact your support for immediate assistance (!)"); - - // Allow interruption to break from here since - // node is stopping anyways. - Thread.sleep(SHUTDOWN_DELAY); - - G.stop(gridName, true); - } - // Safety net. - catch (Throwable e) { - U.error(log, "Unable to check the license due to system error.", e); - U.error(log, "Grid instance will be stopped..."); - - // Stop the grid if we get unknown license-related error. - // Should never happen. Practically an assertion... - G.stop(gridName, true); - } - } - }, PERIODIC_LIC_CHECK_DELAY, PERIODIC_LIC_CHECK_DELAY); - } - long metricsLogFreq = cfg.getMetricsLogFrequency(); if (metricsLogFreq > 0) { @@ -1033,7 +972,8 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit ctx.performance().logSuggestions(log, gridName); ackBenchmarks(); - ackVisor(); + + U.quietAndInfo(log, "To start Console Management & Monitoring run ignitevisorcmd.{sh|bat}"); ackStart(rtBean); @@ -1050,13 +990,11 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit String nid = localNode().id().toString().toUpperCase(); String nid8 = U.id8(localNode().id()).toUpperCase(); - IgniteProductLicense lic = ctx.license().license(); - String body = "Ignite node started with the following parameters:" + NL + NL + "----" + NL + - "Ignite ver. " + COMPOUND_VER + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH + NL + + "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR + NL + "Grid name: " + gridName + NL + "Node ID: " + nid + NL + "Node order: " + localNode().order() + NL + @@ -1069,15 +1007,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit "JVM name: " + U.jvmName() + NL + "JVM vendor: " + U.jvmVendor() + NL + "JVM version: " + U.jvmVersion() + NL + - "VM name: " + rtBean.getName() + NL; - - if (lic != null) { - body += - "License ID: " + lic.id().toString().toUpperCase() + NL + - "Licensed to: " + lic.userOrganization() + NL; - } - - body += + "VM name: " + rtBean.getName() + NL + "----" + NL + NL + "NOTE:" + NL + @@ -1265,7 +1195,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit // Stick in some system level attributes add(attrs, ATTR_JIT_NAME, U.getCompilerMx() == null ? "" : U.getCompilerMx().getName()); - add(attrs, ATTR_BUILD_VER, COMPOUND_VER); + add(attrs, ATTR_BUILD_VER, VER_STR); add(attrs, ATTR_BUILD_DATE, build); add(attrs, ATTR_COMPATIBLE_VERS, (Serializable)compatibleVersions()); add(attrs, ATTR_MARSHALLER, cfg.getMarshaller().getClass().getName()); @@ -1508,7 +1438,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit // Set all node attributes into discovery manager, // so they can be distributed to all nodes. if (mgr instanceof GridDiscoveryManager) - ((GridDiscoveryManager)mgr).setNodeAttributes(attrs, ctx.product().version()); + ((GridDiscoveryManager)mgr).setNodeAttributes(attrs, IgniteProduct.VER); // Add manager to registry before it starts to avoid // cases when manager is started but registry does not @@ -1623,18 +1553,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit } /** - * Acks Visor instructions. - */ - private void ackVisor() { - assert log != null; - - if (isDaemon()) - return; - - ctx.product().ackVisor(log); - } - - /** * Acks benchmarking instructions. */ private void ackBenchmarks() { @@ -1651,7 +1569,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit String fileName = log.fileName(); if (System.getProperty(IGNITE_NO_ASCII) == null) { - String ver = "ver. " + ACK_VER; + String ver = "ver. " + ACK_VER_STR; // Big thanks to: http://patorjk.com/software/taag // Font name "Small Slant" @@ -1663,7 +1581,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit "/___/\\___/_/|_/___/ /_/ /___/ ", " ", ver, - COPYRIGHT, + IgniteProduct.COPYRIGHT, "", "Quiet mode."); @@ -1683,7 +1601,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit ">>> /___/\\___/_/|_/___/ /_/ /___/ " + NL + ">>> " + NL + ">>> " + ver + NL + - ">>> " + COPYRIGHT + NL + ">>> " + IgniteProduct.COPYRIGHT + NL ); } } @@ -1704,7 +1622,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit if (log.isInfoEnabled()) { log.info(""); - String ack = "Ignite ver. " + COMPOUND_VER + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH; + String ack = "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR; String dash = U.dash(ack.length()); @@ -1883,10 +1801,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit if (starveTimer != null) starveTimer.cancel(); - // Cancel license timer. - if (licTimer != null) - licTimer.cancel(); - // Cancel metrics log timer. if (metricsLogTimer != null) metricsLogTimer.cancel(); @@ -1970,7 +1884,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit if (log.isInfoEnabled()) if (!errOnStop) { - String ack = "Ignite ver. " + COMPOUND_VER + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH + + String ack = "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR + " stopped OK"; String dash = U.dash(ack.length()); @@ -1985,7 +1899,7 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit NL); } else { - String ack = "Ignite ver. " + COMPOUND_VER + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH + + String ack = "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR + " stopped with ERRORS"; String dash = U.dash(ack.length()); @@ -2007,27 +1921,17 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit if (isSmtpEnabled() && isAdminEmailsSet() && cfg.isLifeCycleEmailNotification()) { String errOk = errOnStop ? "with ERRORS" : "OK"; - String headline = "Ignite ver. " + COMPOUND_VER + '#' + BUILD_TSTAMP_STR + + String headline = "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + " stopped " + errOk + ":"; String subj = "Ignite node stopped " + errOk + ": " + nid8; - IgniteProductLicense lic = ctx.license() != null ? ctx.license().license() : null; - String body = headline + NL + NL + "----" + NL + - "Ignite ver. " + COMPOUND_VER + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH + NL + + "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR + NL + "Grid name: " + gridName + NL + "Node ID: " + nid + NL + - "Node uptime: " + X.timeSpan2HMSM(U.currentTimeMillis() - startTime) + NL; - - if (lic != null) { - body += - "License ID: " + lic.id().toString().toUpperCase() + NL + - "Licensed to: " + lic.userOrganization() + NL; - } - - body += + "Node uptime: " + X.timeSpan2HMSM(U.currentTimeMillis() - startTime) + NL + "----" + NL + NL + "NOTE:" + NL + @@ -2885,12 +2789,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit guard(); try { - if (!dbUsageRegistered) { - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - - dbUsageRegistered = true; - } - return ctx.cache().transactions(); } finally { @@ -2903,12 +2801,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit guard(); try { - if (!dbUsageRegistered) { - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - - dbUsageRegistered = true; - } - return ctx.cache().publicCache(name); } finally { @@ -2921,12 +2813,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit guard(); try { - if (!dbUsageRegistered) { - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - - dbUsageRegistered = true; - } - return ctx.cache().publicJCache(name); } finally { @@ -2939,12 +2825,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit guard(); try { - if (!dbUsageRegistered) { - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - - dbUsageRegistered = true; - } - return ctx.cache().publicCaches(); } finally { @@ -3006,12 +2886,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit guard(); try { - if (!dbUsageRegistered) { - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - - dbUsageRegistered = true; - } - return ctx.<K, V>dataLoad().dataLoader(cacheName); } finally { @@ -3176,6 +3050,11 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit } /** {@inheritDoc} */ + @Override public IgniteProductVersion version() { + return IgniteProduct.VER; + } + + /** {@inheritDoc} */ @Override public IgniteScheduler scheduler() { return scheduler; } @@ -3186,11 +3065,6 @@ public class IgniteKernal extends ClusterGroupAdapter implements IgniteEx, Ignit } /** {@inheritDoc} */ - @Override public long licenseGracePeriodLeft() { - return ctx.license().gracePeriodLeft(); - } - - /** {@inheritDoc} */ @Override public void close() throws IgniteException { Ignition.stop(gridName, true); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterCommandLineStartup.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterCommandLineStartup.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterCommandLineStartup.java index 946896c..09f62ef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterCommandLineStartup.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterCommandLineStartup.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.client.router.impl; import org.apache.ignite.*; import org.apache.ignite.internal.client.router.*; import org.apache.ignite.internal.processors.spring.*; +import org.apache.ignite.internal.product.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.lang.*; @@ -29,7 +30,7 @@ import java.net.*; import java.util.*; import java.util.logging.*; -import static org.apache.ignite.internal.GridProductImpl.*; +import static org.apache.ignite.internal.product.IgniteProduct.*; import static org.apache.ignite.internal.IgniteComponentType.*; /** @@ -103,8 +104,8 @@ public class GridRouterCommandLineStartup { "/___/\\___/_/|_/___/ /_/ /___/ ", " ", "Ignite Router Command Line Loader", - "ver. " + ACK_VER, - COPYRIGHT, + "ver. " + ACK_VER_STR, + IgniteProduct.COPYRIGHT, " " ); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java index 01f3a80..6b3f819 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java @@ -41,7 +41,6 @@ import java.util.concurrent.*; import static org.apache.ignite.cache.CacheMemoryMode.*; import static org.apache.ignite.events.EventType.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; /** * Handles all swap operations. @@ -108,8 +107,6 @@ public class GridCacheSwapManager<K, V> extends GridCacheManagerAdapter<K, V> { */ private void initOffHeap() { // Register big data usage. - GridLicenseUseRegistry.onUsage(DATA_GRID, GridOffHeapMapFactory.class); - long max = cctx.config().getOffHeapMaxMemory(); long init = max > 0 ? max / 1024 : 8L * 1024L * 1024L; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcValidationTask.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcValidationTask.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcValidationTask.java index ce25f00..1751930 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcValidationTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/jdbc/GridCacheQueryJdbcValidationTask.java @@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.cache.query.jdbc; import org.apache.ignite.*; import org.apache.ignite.cluster.*; import org.apache.ignite.compute.*; -import org.apache.ignite.internal.processors.license.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.resources.*; @@ -28,8 +27,6 @@ import org.jetbrains.annotations.*; import java.util.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; - /** * Task to validate connection. Checks that cache with provided name exists in grid. */ @@ -41,8 +38,6 @@ public class GridCacheQueryJdbcValidationTask extends ComputeTaskSplitAdapter<St @Override protected Collection<? extends ComputeJob> split(int gridSize, @Nullable final String cacheName) { // Register big data usage. - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - return F.asSet(new ComputeJobAdapter() { @IgniteInstanceResource private Ignite ignite; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsIpcHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsIpcHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsIpcHandler.java index 5658e5f..697f152 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsIpcHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsIpcHandler.java @@ -22,7 +22,6 @@ import org.apache.ignite.ignitefs.*; import org.apache.ignite.internal.*; import org.apache.ignite.internal.fs.common.*; import org.apache.ignite.internal.processors.closure.*; -import org.apache.ignite.internal.processors.license.*; import org.apache.ignite.internal.util.future.*; import org.apache.ignite.internal.util.lang.*; import org.apache.ignite.internal.util.typedef.*; @@ -34,8 +33,6 @@ import java.io.*; import java.util.*; import java.util.concurrent.atomic.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; - /** * GGFS IPC handler. */ @@ -62,19 +59,14 @@ class GridGgfsIpcHandler implements GridGgfsServerHandler { /** Stopping flag. */ private volatile boolean stopping; - /** Management connection. */ - private final boolean mgmt; - /** * Constructs GGFS IPC handler. * * @param ggfsCtx Context. - * @param mgmt Management connection flag. */ - GridGgfsIpcHandler(GridGgfsContext ggfsCtx, boolean mgmt) { + GridGgfsIpcHandler(GridGgfsContext ggfsCtx) { assert ggfsCtx != null; - this.mgmt = mgmt; ctx = ggfsCtx.kernalContext(); ggfs = ggfsCtx.ggfs(); @@ -109,9 +101,6 @@ class GridGgfsIpcHandler implements GridGgfsServerHandler { /** {@inheritDoc} */ @Override public IgniteInternalFuture<GridGgfsMessage> handleAsync(final GridGgfsClientSession ses, final GridGgfsMessage msg, DataInput in) { - if (!mgmt) - GridLicenseUseRegistry.onUsage(HADOOP, getClass()); - try { // Even if will be closed right after this call, response write error will be ignored. if (stopping) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsServer.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsServer.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsServer.java index a784ffb..15806fc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/GridGgfsServer.java @@ -128,7 +128,7 @@ public class GridGgfsServer { if (srvEndpoint.getPort() >= 0) ggfsCtx.kernalContext().ports().registerPort(srvEndpoint.getPort(), TCP, srvEndpoint.getClass()); - hnd = new GridGgfsIpcHandler(ggfsCtx, mgmt); + hnd = new GridGgfsIpcHandler(ggfsCtx); // Start client accept worker. acceptWorker = new AcceptWorker(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/IgniteFsProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/IgniteFsProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/IgniteFsProcessor.java index aee707c..619d739 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/IgniteFsProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/fs/IgniteFsProcessor.java @@ -27,7 +27,6 @@ import org.apache.ignite.ignitefs.*; import org.apache.ignite.ignitefs.mapreduce.*; import org.apache.ignite.internal.*; import org.apache.ignite.internal.processors.cache.*; -import org.apache.ignite.internal.processors.license.*; import org.apache.ignite.internal.util.ipc.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; @@ -43,7 +42,6 @@ import static org.apache.ignite.cache.CacheMemoryMode.*; import static org.apache.ignite.cache.CacheMode.*; import static org.apache.ignite.ignitefs.IgniteFsMode.*; import static org.apache.ignite.internal.IgniteNodeAttributes.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; /** * Fully operational Ignite file system processor. @@ -79,9 +77,6 @@ public class IgniteFsProcessor extends IgniteFsProcessorAdapter { assert cfgs != null && cfgs.length > 0; - // Register HDFS edition usage with license manager. - GridLicenseUseRegistry.onUsage(HADOOP, getClass()); - validateLocalGgfsConfigurations(cfgs); // Start GGFS instances. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseProcessor.java index 4af94d5..f74aca4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseProcessor.java @@ -36,26 +36,6 @@ public interface GridLicenseProcessor extends GridProcessor { public void updateLicense(String licTxt) throws IgniteProductLicenseException; /** - * Acks the license to the log. - */ - public void ackLicense(); - - /** - * This method is called periodically by the Ignite to check the license conformance. - * - * @throws org.apache.ignite.internal.product.IgniteProductLicenseException Thrown in case of any license violation. - */ - public void checkLicense() throws IgniteProductLicenseException; - - /** - * Checks if subsystem is enabled. - * - * @param ed Subsystem to check. - * @return {@code True} if enabled. - */ - public boolean enabled(GridLicenseSubsystem ed); - - /** * Gets license descriptor. * * @return License descriptor or {@code null} for open-source edition. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseSubsystem.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseSubsystem.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseSubsystem.java deleted file mode 100644 index 0251b50..0000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseSubsystem.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.license; - -import org.jetbrains.annotations.*; - -/** - * Different Ignite subsystems. - */ -public enum GridLicenseSubsystem { - /** In-Memory HPC. */ - HPC, - - /** In-Memory Data Grid. */ - DATA_GRID, - - /** In-Memory Streaming. */ - STREAMING, - - /** In-Memory Accelerator For Hadoop. */ - HADOOP, - - /** In-Memory Accelerator For MongoDB. */ - MONGO; - - /** Enumerated values. */ - private static final GridLicenseSubsystem[] VALS = values(); - - /** - * Efficiently gets enumerated value from its ordinal. - * - * @param ord Ordinal value. - * @return Enumerated value or {@code null} if ordinal out of range. - */ - @Nullable public static GridLicenseSubsystem fromOrdinal(int ord) { - return ord >= 0 && ord < VALS.length ? VALS[ord] : null; - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseUseRegistry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseUseRegistry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseUseRegistry.java deleted file mode 100644 index 0401278..0000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/GridLicenseUseRegistry.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.license; - -import org.apache.ignite.internal.util.*; -import org.jdk8.backport.*; - -import java.util.*; -import java.util.concurrent.*; - -/** - * Usage registry. - */ -public class GridLicenseUseRegistry { - /** Usage map. */ - private static final ConcurrentMap<GridLicenseSubsystem, Collection<Class<?>>> useMap = - new ConcurrentHashMap8<>(); - - /** - * Ensure singleton. - */ - private GridLicenseUseRegistry() { - // No-op. - } - - /** - * Callback for whenever component gets used. - * - * @param ed Subsystem. - * @param cls Component. - */ - public static void onUsage(GridLicenseSubsystem ed, Class<?> cls) { - Collection<Class<?>> c = useMap.get(ed); - - if (c == null) { - Collection<Class<?>> old = useMap.putIfAbsent(ed, c = new GridConcurrentHashSet<>()); - - if (old != null) - c = old; - } - - c.add(cls); - } - - /** - * Gets used subsystems for given subsystem. - * - * @param ed Subsystem. - * @return Component. - */ - public static Collection<Class<?>> usedClasses(GridLicenseSubsystem ed) { - Collection<Class<?>> c = useMap.get(ed); - - return c == null ? Collections.<Class<?>>emptySet() : c; - } - - /** - * Checks if subsystem is used. - * - * @param ed Subsystem to check. - * @return {@code True} if used. - */ - public static boolean used(GridLicenseSubsystem ed) { - return !usedClasses(ed).isEmpty(); - } - - /** - * Clears usages. - * - * FOR TESTING PURPOSES ONLY! - */ - public static void clear() { - useMap.clear(); - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/license/os/GridOsLicenseProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/os/GridOsLicenseProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/license/os/GridOsLicenseProcessor.java index fade64c..9d58e8a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/license/os/GridOsLicenseProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/license/os/GridOsLicenseProcessor.java @@ -40,21 +40,6 @@ public class GridOsLicenseProcessor extends GridProcessorAdapter implements Grid } /** {@inheritDoc} */ - @Override public void ackLicense() { - // No-op. - } - - /** {@inheritDoc} */ - @Override public void checkLicense() throws IgniteProductLicenseException { - // No-op. - } - - /** {@inheritDoc} */ - @Override public boolean enabled(GridLicenseSubsystem ed) { - return true; - } - - /** {@inheritDoc} */ @Nullable @Override public IgniteProductLicense license() { return null; } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java index 34034cf..816d3b6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cache/GridCacheCommandHandler.java @@ -23,7 +23,6 @@ import org.apache.ignite.cluster.*; import org.apache.ignite.internal.*; import org.apache.ignite.internal.processors.cache.*; import org.apache.ignite.internal.processors.cache.transactions.*; -import org.apache.ignite.internal.processors.license.*; import org.apache.ignite.internal.processors.rest.*; import org.apache.ignite.internal.processors.rest.handlers.*; import org.apache.ignite.internal.processors.rest.request.*; @@ -43,7 +42,6 @@ import java.util.concurrent.*; import static java.util.concurrent.TimeUnit.*; import static org.apache.ignite.internal.GridClosureCallMode.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; import static org.apache.ignite.internal.processors.rest.GridRestCommand.*; import static org.apache.ignite.internal.processors.task.GridTaskThreadContextKey.*; import static org.apache.ignite.transactions.IgniteTxConcurrency.*; @@ -131,8 +129,6 @@ public class GridCacheCommandHandler extends GridRestCommandHandlerAdapter { assert SUPPORTED_COMMANDS.contains(req.command()); - GridLicenseUseRegistry.onUsage(DATA_GRID, getClass()); - if (log.isDebugEnabled()) log.debug("Handling cache REST request: " + req); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/version/GridVersionCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/version/GridVersionCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/version/GridVersionCommandHandler.java index 77e9288..cbed107 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/version/GridVersionCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/version/GridVersionCommandHandler.java @@ -26,7 +26,7 @@ import org.apache.ignite.internal.util.typedef.internal.*; import java.util.*; -import static org.apache.ignite.internal.GridProductImpl.*; +import static org.apache.ignite.internal.product.IgniteProduct.*; import static org.apache.ignite.internal.processors.rest.GridRestCommand.*; /** @@ -54,6 +54,6 @@ public class GridVersionCommandHandler extends GridRestCommandHandlerAdapter { assert SUPPORTED_COMMANDS.contains(req.command()); - return new GridFinishedFuture<>(ctx, new GridRestResponse(COMPOUND_VER)); + return new GridFinishedFuture<>(ctx, new GridRestResponse(VER_STR)); } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamProcessor.java index 50961da..030a3ea 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/streamer/GridStreamProcessor.java @@ -21,7 +21,6 @@ import org.apache.ignite.*; import org.apache.ignite.cluster.*; import org.apache.ignite.internal.*; import org.apache.ignite.internal.processors.*; -import org.apache.ignite.internal.processors.license.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.streamer.*; @@ -34,7 +33,6 @@ import java.util.*; import static org.apache.ignite.IgniteSystemProperties.*; import static org.apache.ignite.internal.IgniteNodeAttributes.*; -import static org.apache.ignite.internal.processors.license.GridLicenseSubsystem.*; /** * @@ -244,9 +242,6 @@ public class GridStreamProcessor extends GridProcessorAdapter { } for (StreamerConfiguration c : cfg) { - // Register streaming usage with license manager. - GridLicenseUseRegistry.onUsage(STREAMING, getClass()); - IgniteStreamerImpl s = new IgniteStreamerImpl(ctx, c); s.start(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/product/IgniteProduct.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/product/IgniteProduct.java b/modules/core/src/main/java/org/apache/ignite/internal/product/IgniteProduct.java index cb3674f..11a9c6a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/product/IgniteProduct.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/product/IgniteProduct.java @@ -17,10 +17,13 @@ package org.apache.ignite.internal.product; -import org.apache.ignite.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.jetbrains.annotations.*; +import java.text.*; +import java.util.*; + /** * Provides information about current release. Note that enterprise users are also * able to renew license. Instance of {@code GridProduct} is obtained from grid as follows: @@ -28,13 +31,56 @@ import org.jetbrains.annotations.*; * GridProduct p = Ignition.ignite().product(); * </pre> */ -public interface IgniteProduct { +public abstract class IgniteProduct { + /** Ignite version in String form. */ + public static final String VER_STR; + + /** Ignite version. */ + public static final IgniteProductVersion VER; + + /** Formatted build date. */ + public static final String BUILD_TSTAMP_STR; + + /** Build timestamp in seconds. */ + public static final long BUILD_TSTAMP; + + /** Revision hash. */ + public static final String REV_HASH_STR; + + /** Release date. */ + public static final String RELEASE_DATE_STR; + + /** Compound version. */ + public static final String ACK_VER_STR; + + /** Copyright blurb. */ + public static final String COPYRIGHT = "2015 Copyright(C) Apache Software Foundation"; + + /** + * + */ + static { + VER_STR = GridProperties.get("ignite.version"); + + BUILD_TSTAMP = Long.valueOf(GridProperties.get("ignite.build")); + BUILD_TSTAMP_STR = new SimpleDateFormat("yyyyMMdd").format(new Date(BUILD_TSTAMP * 1000)); + + REV_HASH_STR = GridProperties.get("ignite.revision"); + RELEASE_DATE_STR = GridProperties.get("ignite.rel.date"); + + String rev = REV_HASH_STR.length() > 8 ? REV_HASH_STR.substring(0, 8) : REV_HASH_STR; + + ACK_VER_STR = VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + rev; + + VER = IgniteProductVersion.fromString(VER_STR + '-' + BUILD_TSTAMP + '-' + REV_HASH_STR); + } + /** * Gets license descriptor for enterprise edition or {@code null} for open source edition. * * @return License descriptor. */ - @Nullable public IgniteProductLicense license(); + @Nullable public abstract IgniteProductLicense license(); /** * Updates to a new license in enterprise edition. This method is no-op in open source edition. @@ -42,21 +88,12 @@ public interface IgniteProduct { * @param lic The content of the license. * @throws IgniteProductLicenseException If license could not be updated. */ - public void updateLicense(String lic) throws IgniteProductLicenseException; + public abstract void updateLicense(String lic) throws IgniteProductLicenseException; /** - * Gets product version for this release. - * - * @return Product version for this release. + * @return Grace period left. */ - public IgniteProductVersion version(); - - /** - * Copyright statement for Ignite code. - * - * @return Legal copyright statement for Ignite code. - */ - public String copyright(); + public abstract long gracePeriodLeft(); /** * Gets latest version available for download or @@ -64,12 +101,5 @@ public interface IgniteProduct { * * @return Latest version string or {@code null} if information is not available. */ - @Nullable public String latestVersion(); - - /** - * Acks Visor instructions. - * - * @param log Logger. - */ - public void ackVisor(IgniteLogger log); + @Nullable public abstract String latestVersion(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/util/ipc/shmem/IpcSharedMemoryNativeLoader.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/ipc/shmem/IpcSharedMemoryNativeLoader.java b/modules/core/src/main/java/org/apache/ignite/internal/util/ipc/shmem/IpcSharedMemoryNativeLoader.java index cb52912..3b18125 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/ipc/shmem/IpcSharedMemoryNativeLoader.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/ipc/shmem/IpcSharedMemoryNativeLoader.java @@ -18,7 +18,7 @@ package org.apache.ignite.internal.util.ipc.shmem; import org.apache.ignite.*; -import org.apache.ignite.internal.*; +import org.apache.ignite.internal.product.*; import org.apache.ignite.internal.util.typedef.internal.*; import java.io.*; @@ -42,7 +42,7 @@ public class IpcSharedMemoryNativeLoader { private static final File LOCK_FILE = new File(System.getProperty("java.io.tmpdir"), "igniteshmem.lock"); /** Library name. */ - static final String LIB_NAME = LIB_NAME_BASE + "-" + GridProductImpl.VER; + static final String LIB_NAME = LIB_NAME_BASE + "-" + IgniteProduct.VER_STR; /** * @return Operating system name to resolve path to library. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java index 88fa825..7e835b5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java @@ -50,8 +50,10 @@ public class VisorLatestVersionTask extends VisorOneNodeTask<Void, String> { } /** {@inheritDoc} */ + // TODO: IGNITE-191: Move to ENT visor. @Override protected String run(Void arg) { - return g.product().latestVersion(); + //return g.product().latestVersion(); + return null; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/optimized-classnames.properties ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/optimized-classnames.properties b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/optimized-classnames.properties index 90bb56f..b1ee08a 100644 --- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/optimized-classnames.properties +++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/optimized-classnames.properties @@ -952,7 +952,6 @@ org.apache.ignite.internal.processors.job.GridJobProcessor$6 org.apache.ignite.internal.processors.job.GridJobProcessor$7 org.apache.ignite.internal.processors.job.GridJobWorker$3 org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor$SnapshotReducer -org.apache.ignite.internal.processors.license.GridLicenseSubsystem org.apache.ignite.internal.processors.query.GridQueryIndexType org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$DBTypeEnum org.apache.ignite.internal.processors.query.h2.sql.GridSqlFunctionType http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/main/java/org/apache/ignite/startup/cmdline/CommandLineStartup.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/startup/cmdline/CommandLineStartup.java b/modules/core/src/main/java/org/apache/ignite/startup/cmdline/CommandLineStartup.java index c7b092e..29b162b 100644 --- a/modules/core/src/main/java/org/apache/ignite/startup/cmdline/CommandLineStartup.java +++ b/modules/core/src/main/java/org/apache/ignite/startup/cmdline/CommandLineStartup.java @@ -18,6 +18,7 @@ package org.apache.ignite.startup.cmdline; import org.apache.ignite.*; +import org.apache.ignite.internal.product.*; import org.apache.ignite.internal.util.*; import org.apache.ignite.internal.util.lang.*; import org.apache.ignite.internal.util.typedef.*; @@ -37,7 +38,7 @@ import java.util.concurrent.*; import static org.apache.ignite.IgniteState.*; import static org.apache.ignite.IgniteSystemProperties.*; -import static org.apache.ignite.internal.GridProductImpl.*; +import static org.apache.ignite.internal.product.IgniteProduct.*; /** * This class defines command-line Ignite startup. This startup can be used to start Ignite @@ -84,7 +85,7 @@ public final class CommandLineStartup { // Mac OS specific customizations: app icon and about dialog. try { - releaseDate = new SimpleDateFormat("ddMMyyyy", Locale.US).parse(RELEASE_DATE); + releaseDate = new SimpleDateFormat("ddMMyyyy", Locale.US).parse(RELEASE_DATE_STR); Class<?> appCls = Class.forName("com.apple.eawt.Application"); @@ -110,8 +111,8 @@ public final class CommandLineStartup { new Class<?>[] {aboutHndCls}, new InvocationHandler() { @Override public Object invoke(Object proxy, Method mtd, Object[] args) throws Throwable { - AboutDialog.centerShow("Ignite Node", bannerUrl.toExternalForm(), VER, - releaseDate, COPYRIGHT); + AboutDialog.centerShow("Ignite Node", bannerUrl.toExternalForm(), VER_STR, + releaseDate, IgniteProduct.COPYRIGHT); return null; } @@ -247,8 +248,8 @@ public final class CommandLineStartup { */ public static void main(String[] args) { if (!QUITE) { - X.println("Ignite Command Line Startup, ver. " + ACK_VER); - X.println(COPYRIGHT); + X.println("Ignite Command Line Startup, ver. " + ACK_VER_STR); + X.println(IgniteProduct.COPYRIGHT); X.println(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java index 3b8f205..25de0cf 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java @@ -31,39 +31,40 @@ public class GridVersionSelfTest extends GridCommonAbstractTest { /** * @throws Exception If failed. */ - public void testVersions() throws Exception { - String propVal = System.getProperty(IGNITE_UPDATE_NOTIFIER); - - System.setProperty(IGNITE_UPDATE_NOTIFIER, "true"); - - try { - Ignite ignite = startGrid(); - - IgniteProductVersion currVer = ignite.product().version(); - - String newVer = null; - - for (int i = 0; i < 30; i++) { - newVer = ignite.product().latestVersion(); - - if (newVer != null) - break; - - U.sleep(100); - } - - info("Versions [cur=" + currVer + ", latest=" + newVer + ']'); - - assertNotNull(newVer); - assertNotSame(currVer.toString(), newVer); - } - finally { - stopGrid(); - - if (propVal != null) - System.setProperty(IGNITE_UPDATE_NOTIFIER, propVal); - else - System.clearProperty(IGNITE_UPDATE_NOTIFIER); - } + // TODO: IGNITE-191: Move to ENT. + public void _testVersions() throws Exception { +// String propVal = System.getProperty(IGNITE_UPDATE_NOTIFIER); +// +// System.setProperty(IGNITE_UPDATE_NOTIFIER, "true"); +// +// try { +// Ignite ignite = startGrid(); +// +// IgniteProductVersion currVer = ignite.product().version(); +// +// String newVer = null; +// +// for (int i = 0; i < 30; i++) { +// newVer = ignite.product().latestVersion(); +// +// if (newVer != null) +// break; +// +// U.sleep(100); +// } +// +// info("Versions [cur=" + currVer + ", latest=" + newVer + ']'); +// +// assertNotNull(newVer); +// assertNotSame(currVer.toString(), newVer); +// } +// finally { +// stopGrid(); +// +// if (propVal != null) +// System.setProperty(IGNITE_UPDATE_NOTIFIER, propVal); +// else +// System.clearProperty(IGNITE_UPDATE_NOTIFIER); +// } } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/test/java/org/apache/ignite/internal/product/GridProductVersionSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/product/GridProductVersionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/product/GridProductVersionSelfTest.java index 3134175..c1f5109 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/product/GridProductVersionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/product/GridProductVersionSelfTest.java @@ -20,7 +20,7 @@ package org.apache.ignite.internal.product; import org.apache.ignite.lang.*; import org.apache.ignite.testframework.junits.common.*; -import static org.apache.ignite.internal.GridProductImpl.*; +import static org.apache.ignite.internal.product.IgniteProduct.*; import static org.junit.Assert.*; /** @@ -104,6 +104,6 @@ public class GridProductVersionSelfTest extends GridCommonAbstractTest { assertArrayEquals(new byte[]{24, -27, -89, -20, -98, 50, 2, 18, 106, 105, -68, 35, 26, 107, -106, 91, -63, -41, 61, -18}, ver.revisionHash()); - IgniteProductVersion.fromString(VER + '-' + BUILD_TSTAMP + '-' + REV_HASH); + IgniteProductVersion.fromString(VER_STR + '-' + BUILD_TSTAMP + '-' + REV_HASH_STR); } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java index 7db64cc..7174fd9 100644 --- a/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java @@ -858,25 +858,26 @@ public abstract class GridMarshallerAbstractTest extends GridCommonAbstractTest /** * @throws Exception If failed. */ - public void testProduct() throws Exception { - IgniteProduct product = grid().product(); - - GridMarshallerTestBean inBean = newTestBean(product); - - byte[] buf = marshal(inBean); - - GridMarshallerTestBean outBean = unmarshal(buf); - - assert inBean.getObjectField() != null; - assert outBean.getObjectField() != null; - - assert inBean.getObjectField().getClass().equals(GridProductImpl.class); - assert outBean.getObjectField().getClass().equals(GridProductImpl.class); - - assert inBean != outBean; - assert inBean.equals(outBean); - - outBean.checkNullResources(); + // TOGO: IGNITE-191: Move to ENT. + public void _testProduct() throws Exception { +// IgniteProduct product = grid().product(); +// +// GridMarshallerTestBean inBean = newTestBean(product); +// +// byte[] buf = marshal(inBean); +// +// GridMarshallerTestBean outBean = unmarshal(buf); +// +// assert inBean.getObjectField() != null; +// assert outBean.getObjectField() != null; +// +// assert inBean.getObjectField().getClass().equals(GridProductImpl.class); +// assert outBean.getObjectField().getClass().equals(GridProductImpl.class); +// +// assert inBean != outBean; +// assert inBean.equals(outBean); +// +// outBean.checkNullResources(); } /** http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java index 776540c..cce0cdb 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java @@ -428,9 +428,6 @@ public abstract class GridAbstractTest extends TestCase { // Clear log throttle. LT.clear(); - // Clear license registry. - GridLicenseUseRegistry.clear(); - TestCounters cntrs = getTestCounters(); if (isDebug()) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java index 2192da9..d4b31d4 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java @@ -22,6 +22,7 @@ import org.apache.ignite.cache.*; import org.apache.ignite.cache.affinity.*; import org.apache.ignite.cluster.*; import org.apache.ignite.configuration.*; +import org.apache.ignite.lang.*; import org.apache.ignite.marshaller.Marshaller; import org.apache.ignite.internal.product.*; import org.apache.ignite.plugin.*; @@ -157,6 +158,11 @@ public class IgniteMock implements Ignite { } /** {@inheritDoc} */ + @Override public IgniteProductVersion version() { + return null; + } + + /** {@inheritDoc} */ @Override public IgniteScheduler scheduler() { return null; } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java index cc018f3..36028bf 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java @@ -26,7 +26,7 @@ import java.nio.file.*; import java.text.*; import java.util.*; -import static org.apache.ignite.internal.GridProductImpl.*; +import static org.apache.ignite.internal.product.IgniteProduct.*; /** * Setup tool to configure Hadoop client. @@ -56,7 +56,7 @@ public class GridHadoopSetup { " for Apache Hadoop ", " "); - println("Version " + ACK_VER); + println("Version " + ACK_VER_STR); configureHadoop(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/scalar/src/main/scala/org/apache/ignite/scalar/scalar.scala ---------------------------------------------------------------------- diff --git a/modules/scalar/src/main/scala/org/apache/ignite/scalar/scalar.scala b/modules/scalar/src/main/scala/org/apache/ignite/scalar/scalar.scala index 8ab733f..b457484 100644 --- a/modules/scalar/src/main/scala/org/apache/ignite/scalar/scalar.scala +++ b/modules/scalar/src/main/scala/org/apache/ignite/scalar/scalar.scala @@ -22,6 +22,7 @@ import org.apache.ignite.cache.query.{CacheQuerySqlField, CacheQueryTextField} import org.apache.ignite.cluster.ClusterNode import org.apache.ignite.configuration.IgniteConfiguration import org.apache.ignite.internal.GridProductImpl +import org.apache.ignite.internal.product.IgniteProduct import org.apache.ignite.{Ignite, IgniteDataLoader, IgniteState, Ignition} import org.jetbrains.annotations.Nullable @@ -128,7 +129,7 @@ import scala.annotation.meta.field */ object scalar extends ScalarConversions { /** Visor copyright blurb. */ - private val COPYRIGHT = GridProductImpl.COPYRIGHT + private val COPYRIGHT = IgniteProduct.COPYRIGHT /** Type alias for `CacheQuerySqlField`. */ type ScalarCacheQuerySqlField = CacheQuerySqlField @field http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java ---------------------------------------------------------------------- diff --git a/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java b/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java index 031d73e..ebd333e 100644 --- a/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java +++ b/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java @@ -21,6 +21,7 @@ import org.apache.ignite.cache.*; import org.apache.ignite.cache.affinity.*; import org.apache.ignite.cluster.*; import org.apache.ignite.configuration.*; +import org.apache.ignite.lang.*; import org.apache.ignite.plugin.*; import org.apache.ignite.internal.product.*; import org.apache.ignite.plugin.security.*; @@ -137,6 +138,13 @@ public class IgniteSpringBean implements Ignite, DisposableBean, InitializingBea } /** {@inheritDoc} */ + @Override public IgniteProductVersion version() { + assert g != null; + + return g.version(); + } + + /** {@inheritDoc} */ @Override public Collection<GridCache<?, ?>> caches() { assert g != null; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala index 714b92b..01ab834 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/VisorConsole.scala @@ -18,6 +18,7 @@ package org.apache.ignite.visor.commands import org.apache.ignite.internal.GridProductImpl +import org.apache.ignite.internal.product.IgniteProduct import org.apache.ignite.internal.util.IgniteUtils import org.apache.ignite.internal.util.typedef.internal.U import org.apache.ignite.internal.util.scala.impl @@ -59,13 +60,13 @@ import org.apache.ignite.visor.commands.vvm.VisorVvmCommand */ object VisorConsole extends App { /** Version number. */ - private final val VISOR_VER = GridProductImpl.VER + private final val VISOR_VER = IgniteProduct.VER_STR /** Release date. */ - private final val VISOR_RELEASE_DATE = GridProductImpl.RELEASE_DATE + private final val VISOR_RELEASE_DATE = IgniteProduct.RELEASE_DATE_STR /** Copyright. */ - private final val VISOR_COPYRIGHT = GridProductImpl.COPYRIGHT + private final val VISOR_COPYRIGHT = IgniteProduct.COPYRIGHT /** Release date (another format). */ private final val releaseDate = new SimpleDateFormat("ddMMyyyy").parse(VISOR_RELEASE_DATE) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala index 769defd..2a5511f 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala @@ -476,7 +476,7 @@ class VisorAlertCommand { assert(n != null) val subj = "Visor alert triggered: '" + a.spec + '\'' - val headline = "Ignite ver. " + grid.product().version() + val headline = "Ignite ver. " + grid.version() val stat = stats(a.id) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0c899a88/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala ---------------------------------------------------------------------- diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala index b8c51a1..53fd668 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala @@ -32,6 +32,7 @@ import org.apache.ignite.internal.IgniteComponentType._ import org.apache.ignite.internal.IgniteNodeAttributes._ import org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException import org.apache.ignite.internal.processors.spring.IgniteSpringProcessor +import org.apache.ignite.internal.product.IgniteProduct import org.apache.ignite.internal.util.lang.{GridFunc => F} import org.apache.ignite.internal.util.typedef._ import org.apache.ignite.internal.util.{GridConfigurationFinder, IgniteUtils} @@ -158,7 +159,7 @@ object visor extends VisorTag { private var nodeStopLsnr: IgnitionListener = null /** Visor copyright blurb. */ - private final val COPYRIGHT = GridProductImpl.COPYRIGHT + private final val COPYRIGHT = IgniteProduct.COPYRIGHT /** */ @volatile private var isCon: Boolean = false