You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/07/09 08:02:00 UTC
[3/6] incubator-ignite git commit: # ignite-843 Refactor
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/form-models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/form-models/clusters.json b/modules/web-control-center/nodejs/public/form-models/clusters.json
deleted file mode 100644
index e6be772..0000000
--- a/modules/web-control-center/nodejs/public/form-models/clusters.json
+++ /dev/null
@@ -1,891 +0,0 @@
-{
- "templateTip": [
- "Use following template for add cluster:",
- "<ul>",
- " <li>blank - Empty configuration.</li>",
- " <li>local - Configuration with static ips discovery and pre-configured list of IP addresses.</li>",
- " <li>multicast - Configuration with multicast discovery.</li>",
- "</ul>"
- ],
- "general": [
- {
- "label": "Name",
- "type": "text",
- "model": "name",
- "required": true,
- "placeholder": "Input name"
- },
- {
- "label": "Caches",
- "type": "dropdown-multiple",
- "model": "caches",
- "placeholder": "Choose caches",
- "items": "caches",
- "tip": [
- "Select caches to start in cluster."
- ],
- "addLink": {
- "label": "Add cache(s)",
- "ref": "/caches"
- }
- },
- {
- "label": "Discovery",
- "type": "dropdown-details",
- "path": "discovery",
- "model": "kind",
- "required": true,
- "placeholder": "Choose discovery",
- "items": "discoveries",
- "tip": [
- "Discovery allows to discover remote nodes in grid."
- ],
- "details": {
- "Vm": {
- "expanded": true,
- "fields": [
- {
- "type": "table-simple",
- "path": "discovery.Vm",
- "model": "addresses",
- "editIdx": -1,
- "reordering": true,
- "ipaddress": true,
- "placeholder": "IP address:port",
- "tip": [
- "Addresses may be represented as follows:",
- "<ul>",
- " <li>IP address (e.g. 127.0.0.1, 9.9.9.9, etc);</li>",
- " <li>IP address and port (e.g. 127.0.0.1:47500, 9.9.9.9:47501, etc);</li>",
- " <li>IP address and port range (e.g. 127.0.0.1:47500..47510, 9.9.9.9:47501..47504, etc);</li>",
- " <li>Hostname (e.g. host1.com, host2, etc);</li>",
- " <li>Hostname and port (e.g. host1.com:47500, host2:47502, etc).</li>",
- " <li>Hostname and port range (e.g. host1.com:47500..47510, host2:47502..47508, etc).</li>",
- "</ul>",
- "If port is 0 or not provided then default port will be used (depends on discovery SPI configuration).",
- "If port range is provided (e.g. host:port1..port2) the following should be considered:",
- "<ul>",
- " <li>port1 < port2 should be true;</li>",
- " <li>Both port1 and port2 should be greater than 0.</li>",
- "</ul>"
- ]
- }
- ]
- },
- "Multicast": {
- "expanded": false,
- "fields": [
- {
- "label": "IP address",
- "type": "text",
- "path": "discovery.Multicast",
- "model": "multicastGroup",
- "placeholder": "228.1.2.4",
- "tip": [
- "IP address of multicast group."
- ]
- },
- {
- "label": "Port number",
- "type": "number",
- "path": "discovery.Multicast",
- "model": "multicastPort",
- "max": 65535,
- "placeholder": "47400",
- "tip": [
- "Port number which multicast messages are sent to."
- ]
- },
- {
- "label": "Waits for reply",
- "type": "number",
- "path": "discovery.Multicast",
- "model": "responseWaitTime",
- "placeholder": "500",
- "tip": [
- "Time in milliseconds IP finder waits for reply to multicast address request."
- ]
- },
- {
- "label": "Attempts count",
- "type": "number",
- "path": "discovery.Multicast",
- "model": "addressRequestAttempts",
- "placeholder": "2",
- "tip": [
- "Number of attempts to send multicast address request.",
- "IP finder re-sends request only in case if no reply for previous request is received."
- ]
- },
- {
- "label": "Local address",
- "type": "text",
- "path": "discovery.Multicast",
- "model": "localAddress",
- "tip": [
- "Local host address used by this IP finder.",
- "If provided address is non-loopback then multicast socket is bound to this interface.",
- "If local address is not set or is any local address then IP finder creates multicast sockets for all found non-loopback addresses."
- ]
- }
- ]
- },
- "S3": {
- "expanded": true,
- "fields": [
- {
- "label": "Bucket name",
- "type": "text",
- "required": true,
- "path": "discovery.S3",
- "model": "bucketName",
- "placeholder": "",
- "tip": [
- "Bucket name for IP finder."
- ]
- }
- ]
- },
- "Cloud": {
- "expanded": true,
- "fields": [
- {
- "label": "Credential",
- "type": "text",
- "path": "discovery.Cloud",
- "model": "credential",
- "placeholder": "",
- "tip": [
- "Credential that is used during authentication on the cloud.",
- "Depending on a cloud platform it can be a password or access key."
- ]
- },
- {
- "label": "Path to credential",
- "type": "text",
- "path": "discovery.Cloud",
- "model": "credentialPath",
- "placeholder": "",
- "tip": [
- "Path to a credential that is used during authentication on the cloud.",
- "Access key or private key should be stored in a plain or PEM file without a passphrase."
- ]
- },
- {
- "label": "Identity",
- "type": "text",
- "required": true,
- "path": "discovery.Cloud",
- "model": "identity",
- "placeholder": "",
- "tip": [
- "Identity that is used as a user name during a connection to the cloud.",
- "Depending on a cloud platform it can be an email address, user name, etc."
- ]
- },
- {
- "label": "Provider",
- "type": "text",
- "required": true,
- "path": "discovery.Cloud",
- "model": "provider",
- "placeholder": "",
- "tip": [
- "Cloud provider to use."
- ]
- },
- {
- "label": "Regions",
- "type": "table-simple",
- "path": "discovery.Cloud",
- "model": "regions",
- "editIdx": -1,
- "placeholder": "",
- "tableTip": [
- "List of regions where VMs are located.",
- "If the regions are not set then every region, that a cloud provider has, will be investigated. This could lead to significant performance degradation.",
- "Note, that some cloud providers, like Google Compute Engine, doesn't have a notion of a region. For such providers a call to this method is redundant."
- ],
- "tip": [
- "Region where VMs are located."
- ]
- },
- {
- "label": "Zones",
- "type": "table-simple",
- "path": "discovery.Cloud",
- "model": "zones",
- "editIdx": -1,
- "placeholder": "",
- "tableTip": [
- "List of zones where VMs are located.",
- "If the zones are not set then every zone from regions, set by {@link #setRegions(Collection)}}, will be taken into account.",
- "Note, that some cloud providers, like Rackspace, doesn't have a notion of a zone. For such providers a call to this method is redundant."
- ],
- "tip": [
- "Zone where VMs are located."
- ]
- }
- ]
- },
- "GoogleStorage": {
- "expanded": true,
- "fields": [
- {
- "label": "Project name",
- "type": "text",
- "required": true,
- "path": "discovery.GoogleStorage",
- "model": "projectName",
- "placeholder": "",
- "tip": [
- "Google Cloud Platforms project name.",
- "Usually this is an auto generated project number (ex. 208709979073) that can be found in 'Overview' section of Google Developer Console."
- ]
- },
- {
- "label": "Bucket name",
- "type": "text",
- "required": true,
- "path": "discovery.GoogleStorage",
- "model": "bucketName",
- "placeholder": "",
- "tip": [
- "Google Cloud Storage bucket name.",
- "If the bucket doesn't exist Ignite will automatically create it.",
- "However the name must be unique across whole Google Cloud Storage and Service Account Id must be authorized to perform this operation."
- ]
- },
- {
- "label": "Private key path",
- "type": "text",
- "required": true,
- "path": "discovery.GoogleStorage",
- "model": "serviceAccountP12FilePath",
- "placeholder": "",
- "tip": [
- "Full path to the private key in PKCS12 format of the Service Account."
- ]
- },
- {
- "label": "Account id",
- "type": "text",
- "required": true,
- "path": "discovery.GoogleStorage",
- "model": "accountId",
- "placeholder": "",
- "tip": [
- "Service account ID (typically an e-mail address)."
- ]
- }
- ]
- },
- "Jdbc": {
- "expanded": true,
- "fields": [
- {
- "label": "DB schema should be initialized by Ignite",
- "type": "check",
- "path": "discovery.Jdbc",
- "model": "initSchema",
- "tip": [
- "Flag indicating whether DB schema should be initialized by Ignite or was explicitly created by user."
- ]
- }
- ]
- },
- "SharedFs": {
- "expanded": false,
- "fields": [
- {
- "label": "File path",
- "type": "text",
- "path": "discovery.SharedFs",
- "model": "path",
- "placeholder": "disco/tcp"
- }
- ]
- }
- }
- }
- ],
- "advanced": [
- {
- "label": "Atomic configuration",
- "tip": [
- "Configuration for atomic data structures.",
- "Atomics are distributed across the cluster, essentially enabling performing atomic operations (such as increment-and-get or compare-and-set) with the same globally-visible value."
- ],
- "fields": [
- {
- "label": "Backups",
- "type": "number",
- "path": "atomicConfiguration",
- "model": "backups",
- "placeholder": "0",
- "tip": [
- "Number of backup nodes."
- ]
- },
- {
- "label": "Cache mode",
- "type": "dropdown",
- "path": "atomicConfiguration",
- "model": "cacheMode",
- "placeholder": "PARTITIONED",
- "items": "cacheModes",
- "tip": [
- "Cache modes:",
- "<ul>",
- " <li>Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes.</li>",
- " <li>Replicated - in this mode all the keys are distributed to all participating nodes.</li>",
- " <li>Local - in this mode caches residing on different grid nodes will not know about each other.</li>",
- "</ul>"
- ]
- },
- {
- "label": "Sequence reserve",
- "type": "number",
- "path": "atomicConfiguration",
- "model": "atomicSequenceReserveSize",
- "placeholder": "1,000",
- "tip": [
- "Default number of sequence values reserved for IgniteAtomicSequence instances.",
- "After a certain number has been reserved, consequent increments of sequence will happen locally, without communication with other nodes, until the next reservation has to be made."
- ]
- }
- ]
- },
- {
- "label": "Communication",
- "tip": [
- "Cluster communication network properties."
- ],
- "fields": [
- {
- "label": "Timeout",
- "type": "number",
- "model": "networkTimeout",
- "placeholder": "5,000",
- "tip": [
- "Maximum timeout in milliseconds for network requests."
- ]
- },
- {
- "label": "Send retry delay",
- "type": "number",
- "model": "networkSendRetryDelay",
- "placeholder": "1,000",
- "tip": [
- "Interval in milliseconds between message send retries."
- ]
- },
- {
- "label": "Send retry count",
- "type": "number",
- "model": "networkSendRetryCount",
- "placeholder": "3",
- "tip": [
- "Message send retries count."
- ]
- },
- {
- "label": "Segment check frequency",
- "type": "number",
- "model": "segmentCheckFrequency",
- "placeholder": "10,000",
- "tip": [
- "Network segment check frequency in milliseconds.",
- "If 0, periodic segment check is disabled and segment is checked only on topology changes (if segmentation resolvers are configured)."
- ]
- },
- {
- "label": "Wait for segment on start",
- "type": "check",
- "model": "waitForSegmentOnStart",
- "tip": [
- "Wait for segment on start flag.",
- "<ul>",
- " <li>If enabled, node should wait for correct segment on start.</li>",
- " <li>If node detects that segment is incorrect on startup and enabled, node waits until segment becomes correct.</li>",
- " <li>If segment is incorrect on startup and disabled, exception is thrown.</li>",
- "</ul>"
- ]
- },
- {
- "label": "Discovery startup delay",
- "type": "number",
- "model": "discoveryStartupDelay",
- "placeholder": "600,000",
- "tip": [
- "This value is used to expire messages from waiting list whenever node discovery discrepancies happen."
- ]
- }
- ]
- },
- {
- "label": "Deployment",
- "tip": [
- "Task and resources deployment in cluster."
- ],
- "fields": [
- {
- "label": "Mode",
- "type": "dropdown",
- "model": "deploymentMode",
- "placeholder": "SHARED",
- "items": "deploymentModes",
- "tip": [
- "Task classes and resources sharing mode."
- ]
- }
- ]
- },
- {
- "label": "Events",
- "tip": [
- " Grid events are used for notification about what happens within the grid."
- ],
- "fields": [
- {
- "label": "Include type",
- "type": "dropdown-multiple",
- "model": "includeEventTypes",
- "placeholder": "Choose recorded event types",
- "items": "events",
- "tip": [
- "Array of event types, which will be recorded by GridEventStorageManager#record(Event).",
- "Note, that either the include event types or the exclude event types can be established."
- ]
- }
- ]
- },
- {
- "label": "Marshaller",
- "tip": [
- "Marshaller allows to marshal or unmarshal objects in grid.",
- "It provides serialization/deserialization mechanism for all instances that are sent across networks or are otherwise serialized."
- ],
- "fields": [
- {
- "label": "Marshaller",
- "type": "dropdown-details",
- "path": "marshaller",
- "model": "kind",
- "placeholder": "Choose marshaller",
- "items": "marshallers",
- "tip": [
- "Instance of marshaller to use in grid. If not provided, OptimizedMarshaller will be used on Java HotSpot VM, and JdkMarshaller will be used on other VMs."
- ],
- "details": {
- "OptimizedMarshaller": {
- "expanded": false,
- "fields": [
- {
- "label": "Streams pool size",
- "type": "number",
- "path": "marshaller.OptimizedMarshaller",
- "model": "poolSize",
- "placeholder": "0",
- "tip": [
- "Specifies size of cached object streams used by marshaller.",
- "Object streams are cached for performance reason to avoid costly recreation for every serialization routine.",
- "If 0 (default), pool is not used and each thread has its own cached object stream which it keeps reusing.",
- "Since each stream has an internal buffer, creating a stream for each thread can lead to high memory consumption if many large messages are marshalled or unmarshalled concurrently.",
- "Consider using pool in this case. This will limit number of streams that can be created and, therefore, decrease memory consumption.",
- "NOTE: Using streams pool can decrease performance since streams will be shared between different threads which will lead to more frequent context switching."
- ]
- },
- {
- "label": "Require serializable",
- "type": "check",
- "path": "marshaller.OptimizedMarshaller",
- "model": "requireSerializable",
- "tip": [
- "Whether marshaller should require Serializable interface or not."
- ]
- }
- ]
- }
- }
- },
- {
- "label": "Marshal local jobs",
- "type": "check",
- "model": "marshalLocalJobs",
- "placeholder": "false",
- "tip": [
- "If this flag is enabled, jobs mapped to local node will be marshalled as if it was remote node."
- ]
- },
- {
- "label": "Keep alive time",
- "type": "number",
- "model": "marshallerCacheKeepAliveTime",
- "placeholder": "10,000",
- "tip": [
- "Keep alive time of thread pool that is in charge of processing marshaller messages."
- ]
- },
- {
- "label": "Pool size",
- "type": "number",
- "model": "marshallerCacheThreadPoolSize",
- "placeholder": "max(8, availableProcessors) * 2",
- "tip": [
- "Default size of thread pool that is in charge of processing marshaller messages."
- ]
- }
- ]
- },
- {
- "label": "Metrics",
- "tip": ["Cluster runtime metrics settings."],
- "fields": [
- {
- "label": "Elapsed time",
- "type": "number",
- "model": "metricsExpireTime",
- "placeholder": "Long.MAX_VALUE",
- "min": 1,
- "tip": [
- "Time in milliseconds after which a certain metric value is considered expired."
- ]
- },
- {
- "label": "History size",
- "type": "number",
- "model": "metricsHistorySize",
- "placeholder": "10,000",
- "min": 1,
- "tip": [
- "Number of metrics kept in history to compute totals and averages."
- ]
- },
- {
- "label": "Log frequency",
- "type": "number",
- "model": "metricsLogFrequency",
- "placeholder": "60,000",
- "tip": [
- "Frequency of metrics log print out. To disable set to 0"
- ]
- },
- {
- "label": "Update frequency",
- "type": "number",
- "model": "metricsUpdateFrequency",
- "placeholder": "60,000",
- "tip": [
- "Job metrics update frequency in milliseconds.",
- "<ul>",
- " <li>If set to -1 job metrics are never updated.</li>",
- " <li>If set to 0 job metrics are updated on each job start and finish.</li>",
- " <li>Positive value defines the actual update frequency.</li>",
- "</ul>"
- ]
- }
- ]
- },
- {
- "label": "Peer Class Loading",
- "tip": ["Cluster peer class loading settings."],
- "fields": [
- {
- "label": "Enable peer class loading",
- "type": "check",
- "model": "peerClassLoadingEnabled",
- "tip": [
- "Enables/disables peer class loading."
- ]
- },
- {
- "label": "Local class path exclude",
- "type": "text",
- "model": "peerClassLoadingLocalClassPathExclude",
- "placeholder": "[]",
- "tip": [
- "List of packages separated by comma from the system classpath that need to be peer-to-peer loaded from task originating node.",
- "'*' is supported at the end of the package name which means that all sub-packages and their classes are included like in Java package import clause."
- ]
- },
- {
- "label": "Missed resources cache size",
- "type": "number",
- "model": "peerClassLoadingMissedResourcesCacheSize",
- "placeholder": "100",
- "tip": [
- "If size greater than 0, missed resources will be cached and next resource request ignored.",
- "If size is 0, then request for the resource will be sent to the remote node every time this resource is requested."
- ]
- },
- {
- "label": "Pool size",
- "type": "number",
- "model": "peerClassLoadingThreadPoolSize",
- "placeholder": "availableProcessors",
- "tip": [
- "Thread pool size to use for peer class loading."
- ]
- }
- ]
- },
- {
- "label": "Swap",
- "tip": ["Settings for overflow data to disk if it cannot fit in memory."],
- "fields": [
- {
- "label": "Swap space SPI",
- "type": "dropdown-details",
- "path": "swapSpaceSpi",
- "model": "kind",
- "items": "swapSpaceSpis",
- "placeholder": "Choose swap SPI",
- "tip": [
- "Provides a mechanism in grid for storing data on disk.",
- "Ignite cache uses swap space to overflow data to disk if it cannot fit in memory."
- ],
- "details": {
- "FileSwapSpaceSpi": {
- "fields": [
- {
- "label": "Base directory",
- "type": "text",
- "path": "swapSpaceSpi.FileSwapSpaceSpi",
- "model": "baseDirectory",
- "placeholder": "swapspace",
- "tip": [
- "Base directory where to write files."
- ]
- },
- {
- "label": "Read stripe size",
- "type": "number",
- "path": "swapSpaceSpi.FileSwapSpaceSpi",
- "model": "readStripesNumber",
- "placeholder": "available CPU cores",
- "tip": [
- "Read stripe size defines number of file channels to be used concurrently."
- ]
- },
- {
- "label": "Maximum sparsity",
- "type": "number",
- "path": "swapSpaceSpi.FileSwapSpaceSpi",
- "model": "maximumSparsity",
- "placeholder": "0.5",
- "tip": [
- "This property defines maximum acceptable wasted file space to whole file size ratio.",
- "When this ratio becomes higher than specified number compacting thread starts working."
- ]
- },
- {
- "label": "Max write queue size",
- "type": "number",
- "path": "swapSpaceSpi.FileSwapSpaceSpi",
- "model": "maxWriteQueueSize",
- "placeholder": "1024 * 1024",
- "tip": [
- "Max write queue size in bytes.",
- "If there are more values are waiting for being written to disk then specified size, SPI will block on store operation."
- ]
- },
- {
- "label": "Write buffer size",
- "type": "number",
- "path": "swapSpaceSpi.FileSwapSpaceSpi",
- "model": "writeBufferSize",
- "placeholder": "Available CPU cores",
- "tip": [
- "Write buffer size in bytes.",
- "Write to disk occurs only when this buffer is full."
- ]
- }
- ]
- }
- }
- }
- ]
- },
- {
- "label": "Time configuration",
- "tip": ["Time settings for CLOCK write ordering mode."],
- "fields": [
- {
- "label": "Samples size",
- "type": "number",
- "model": "clockSyncSamples",
- "placeholder": "8",
- "tip": [
- "Number of samples used to synchronize clocks between different nodes.",
- "Clock synchronization is used for cache version assignment in CLOCK order mode."
- ]
- },
- {
- "label": "Frequency",
- "type": "number",
- "model": "clockSyncFrequency",
- "placeholder": "120,000",
- "tip": [
- "Frequency at which clock is synchronized between nodes, in milliseconds.",
- "Clock synchronization is used for cache version assignment in CLOCK order mode."
- ]
- },
- {
- "label": "Port base",
- "type": "number",
- "model": "timeServerPortBase",
- "max": 65535,
- "placeholder": "31100",
- "tip": [
- "Time server provides clock synchronization between nodes.",
- "Base UPD port number for grid time server. Time server will be started on one of free ports in range."
- ]
- },
- {
- "label": "Port range",
- "type": "number",
- "model": "timeServerPortRange",
- "placeholder": "100",
- "tip": [
- "Time server port range."
- ]
- }
- ]
- },
- {
- "label": "Thread pools size",
- "tip": ["Settings for node thread pools."],
- "fields": [
- {
- "label": "Public",
- "type": "number",
- "model": "publicThreadPoolSize",
- "placeholder": "max(8, availableProcessors) * 2",
- "tip": [
- "Thread pool that is in charge of processing ComputeJob, GridJobs and user messages sent to node."
- ]
- },
- {
- "label": "System",
- "type": "number",
- "model": "systemThreadPoolSize",
- "placeholder": "max(8, availableProcessors) * 2",
- "tip": [
- "Thread pool that is in charge of processing internal system messages."
- ]
- },
- {
- "label": "Management",
- "type": "number",
- "model": "managementThreadPoolSize",
- "placeholder": "4",
- "tip": [
- "Thread pool that is in charge of processing internal and Visor ComputeJob, GridJobs."
- ]
- },
- {
- "label": "IGFS",
- "type": "number",
- "model": "igfsThreadPoolSize",
- "placeholder": "availableProcessors",
- "tip": [
- "Thread pool that is in charge of processing outgoing IGFS messages."
- ]
- }
- ]
- },
- {
- "label": "Transactions",
- "tip": ["Settings for transactions."],
- "fields": [
- {
- "label": "Cache concurrency",
- "type": "dropdown",
- "path": "transactionConfiguration",
- "model": "defaultTxConcurrency",
- "placeholder": "PESSIMISTIC",
- "items": "transactionConcurrency",
- "tip": [
- "Cache transaction concurrency to use when one is not explicitly specified."
- ]
- },
- {
- "label": "Isolation",
- "type": "dropdown",
- "path": "transactionConfiguration",
- "model": "transactionIsolation",
- "placeholder": "REPEATABLE_READ",
- "items": "transactionIsolation",
- "tip": [
- "Default transaction isolation."
- ]
- },
- {
- "label": "Default timeout",
- "type": "number",
- "path": "transactionConfiguration",
- "model": "defaultTxTimeout",
- "placeholder": "0",
- "tip": [
- "Default transaction timeout."
- ]
- },
- {
- "label": "Pessimistic log cleanup delay",
- "type": "number",
- "path": "transactionConfiguration",
- "model": "pessimisticTxLogLinger",
- "placeholder": "10,000",
- "tip": [
- "Delay, in milliseconds, after which pessimistic recovery entries will be cleaned up for failed node."
- ]
- },
- {
- "label": "Pessimistic log size",
- "type": "number",
- "path": "transactionConfiguration",
- "model": "pessimisticTxLogSize",
- "placeholder": "0",
- "tip": [
- "Size of pessimistic transactions log stored on node in order to recover transaction commit if originating node has left grid before it has sent all messages to transaction nodes."
- ]
- },
- {
- "label": "Enable serializable cache transactions",
- "type": "check",
- "path": "transactionConfiguration",
- "model": "txSerializableEnabled",
- "tip": [
- "Flag to enable/disable isolation level for cache transactions.",
- "Serializable level does carry certain overhead and if not used, should be disabled."
- ]
- }
- ]
- },
- {
- "label": "Utility",
- "tip": ["Settings for utility messages processing."],
- "fields": [
- {
- "label": "Keep alive time",
- "type": "number",
- "model": "utilityCacheKeepAliveTime",
- "placeholder": "10,000",
- "tip": [
- "Keep alive time of thread pool that is in charge of processing utility cache messages."
- ]
- },
- {
- "label": "Pool size",
- "type": "number",
- "model": "utilityCachePoolSize",
- "placeholder": "max(8, availableProcessors) * 2",
- "tip": [
- "Thread pool that is in charge of processing utility cache messages."
- ]
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/form-models/persistence.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/form-models/persistence.json b/modules/web-control-center/nodejs/public/form-models/persistence.json
deleted file mode 100644
index edf5344..0000000
--- a/modules/web-control-center/nodejs/public/form-models/persistence.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "connection": [
- {
- "label": "Name",
- "type": "text",
- "model": "name",
- "required": true
- },
- {
- "label": "Database type",
- "type": "dropdown",
- "model": "dbType",
- "placeholder": "Choose database",
- "items": "databases",
- "tip": [
- "Select database type to connect for loading tables metadata."
- ]
- },
- {
- "label": "Database name",
- "type": "text",
- "model": "dbName",
- "tip": [
- "Database name to connect for loading tables metadata."
- ]
- },
- {
- "label": "Host",
- "type": "text",
- "model": "host",
- "placeholder": "IP address or host",
- "tip": [
- "IP address or host name where database server deployed."
- ]
- },
- {
- "label": "Port",
- "type": "number",
- "model": "port",
- "max": 65535,
- "placeholder": "",
- "tip": [
- "Port number for connecting to database."
- ]
- },
- {
- "label": "User",
- "type": "text",
- "model": "user",
- "placeholder": "",
- "tip": [
- "User name for connecting to database."
- ]
- },
- {
- "label": "Password",
- "type": "password",
- "model": "password",
- "placeholder": "",
- "tip": [
- "Password for connecting to database.",
- "Note, password would not be saved."
- ]
- }
- ]
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/bundle.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/bundle.js b/modules/web-control-center/nodejs/public/javascripts/bundle.js
deleted file mode 100644
index 840da56..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/bundle.js
+++ /dev/null
@@ -1,18 +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.
- */
-
-// Place here all common utility functions that will be available on each page.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/controllers/adminController.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/adminController.js b/modules/web-control-center/nodejs/public/javascripts/controllers/adminController.js
deleted file mode 100644
index e0ded83..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/adminController.js
+++ /dev/null
@@ -1,66 +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.
- */
-
-controlCenterModule.controller('adminController', [
- '$scope', '$alert', '$http', 'commonFunctions', function ($scope,
- $alert, $http, commonFunctions) {
-
- $scope.userList = null;
-
- function reload() {
- $http.get('ajax/list')
- .success(function (data) {
- $scope.userList = data;
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
- }
-
- reload();
-
- $scope.removeUser = function (user) {
- if (!confirm("You are going to delete user " + user.username + ". Please, confirm it."))
- return false;
-
- $http.get('ajax/remove', {params: {userId: user._id}}).success(
- function (data) {
- $scope.alertStr = "User has been removed: " + user.username;
- $scope.alertType = 'success';
-
- reload();
- }).error(function (err) {
- $scope.alertStr = "Failed to remove user: " + err;
- });
-
- return false;
- };
-
- $scope.toggleAdmin = function(user) {
- if (user.adminChanging)
- return;
-
- user.adminChanging = true;
-
- $http.get('ajax/setAdmin', {params: {userId: user._id, adminFlag: user.admin}}).success(
- function (data) {
- reload();
- }).error(function (err) {
- $scope.alertStr = "Failed to update user: " + err;
- });
- }
- }]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/controllers/caches.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/caches.js b/modules/web-control-center/nodejs/public/javascripts/controllers/caches.js
deleted file mode 100644
index 294ff8f..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/caches.js
+++ /dev/null
@@ -1,253 +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.
- */
-
-controlCenterModule.controller('cachesController', ['$scope', '$alert', '$http', 'commonFunctions', function ($scope, $alert, $http, commonFunctions) {
- $scope.swapSimpleItems = commonFunctions.swapSimpleItems;
- $scope.joinTip = commonFunctions.joinTip;
- $scope.getModel = commonFunctions.getModel;
- $scope.errorMessage = commonFunctions.errorMessage;
-
- $scope.atomicities = [
- {value: 'ATOMIC', label: 'ATOMIC'},
- {value: 'TRANSACTIONAL', label: 'TRANSACTIONAL'}
- ];
-
- $scope.modes = [
- {value: 'PARTITIONED', label: 'PARTITIONED'},
- {value: 'REPLICATED', label: 'REPLICATED'},
- {value: 'LOCAL', label: 'LOCAL'}
- ];
-
- $scope.atomicWriteOrderModes = [
- {value: 'CLOCK', label: 'CLOCK'},
- {value: 'PRIMARY', label: 'PRIMARY'}
- ];
-
- $scope.memoryModes = [
- {value: 'ONHEAP_TIERED', label: 'ONHEAP_TIERED'},
- {value: 'OFFHEAP_TIERED', label: 'OFFHEAP_TIERED'},
- {value: 'OFFHEAP_VALUES', label: 'OFFHEAP_VALUES'}
- ];
-
- $scope.evictionPolicies = [
- {value: 'LRU', label: 'LRU'},
- {value: 'RND', label: 'Random'},
- {value: 'FIFO', label: 'FIFO'},
- {value: 'SORTED', label: 'Sorted'},
- {value: undefined, label: 'Not set'}
- ];
-
- $scope.rebalanceModes = [
- {value: 'SYNC', label: 'SYNC'},
- {value: 'ASYNC', label: 'ASYNC'},
- {value: 'NONE', label: 'NONE'}
- ];
-
- $scope.cacheStoreFactories = [
- {value: 'CacheJdbcPojoStoreFactory', label: 'JDBC POJO store factory'},
- {value: 'CacheJdbcBlobStoreFactory', label: 'JDBC BLOB store factory'},
- {value: 'CacheHibernateBlobStoreFactory', label: 'Hibernate BLOB store factory'},
- {value: undefined, label: 'Not set'}
- ];
-
- $scope.cacheStoreJdbcDialects = [
- {value: 'Oracle', label: 'Oracle'},
- {value: 'DB2', label: 'IBM DB2'},
- {value: 'SQLServer', label: 'Microsoft SQL Server'},
- {value: 'MySQL', label: 'My SQL'},
- {value: 'PostgreSQL', label: 'Postgre SQL'},
- {value: 'H2', label: 'H2 database'}
- ];
-
- $scope.general = [];
- $scope.advanced = [];
-
- $scope.showError = function (msg) {
- if ($scope.alert)
- $scope.alert.hide();
-
- $scope.alert = $alert({title: $scope.errorMessage(msg)});
- };
-
- $scope.showInfo = function (msg) {
- if ($scope.alert)
- $scope.alert.hide();
-
- $scope.alert = $alert({
- type: 'success',
- title: msg,
- duration: 2
- });
- };
-
- $http.get('/form-models/caches.json')
- .success(function (data) {
- $scope.general = data.general;
- $scope.advanced = data.advanced;
- })
- .error(function (errMsg) {
- $scope.showError(errMsg);
- });
-
- $scope.caches = [];
-
- // When landing on the page, get caches and show them.
- $http.post('/configuration/caches/list')
- .success(function (data) {
- $scope.spaces = data.spaces;
- $scope.caches = data.caches;
-
- var restoredItem = angular.fromJson(sessionStorage.cacheBackupItem);
-
- if (restoredItem) {
- var idx = _.findIndex($scope.caches, function (cache) {
- return cache._id == restoredItem._id;
- });
-
- if (idx >= 0) {
- $scope.selectedItem = $scope.caches[idx];
-
- $scope.backupItem = restoredItem;
- }
- else
- sessionStorage.removeItem('cacheBackupItem');
- }
-
- $scope.$watch('backupItem', function (val) {
- if (val)
- sessionStorage.cacheBackupItem = angular.toJson(val);
- }, true);
- })
- .error(function (errMsg) {
- $scope.showError(errMsg);
- });
-
- $scope.selectItem = function (item) {
- $scope.selectedItem = item;
-
- $scope.backupItem = angular.copy(item);
- };
-
- // Add new cache.
- $scope.createItem = function () {
- $scope.backupItem = {mode: 'PARTITIONED', atomicityMode: 'ATOMIC', readFromBackup: true};
- $scope.backupItem.space = $scope.spaces[0]._id;
- };
-
- // Save cache in db.
- $scope.saveItem = function () {
- var item = $scope.backupItem;
-
- if (item.cacheStoreFactory && item.cacheStoreFactory.kind && !(item.readThrough || item.writeThrough)) {
- $scope.showError('Store is configured but read/write through are not enabled!');
-
- return;
- }
-
- if ((item.readThrough || item.writeThrough) && (!item.cacheStoreFactory || !item.cacheStoreFactory.kind)) {
- $scope.showError('Read / write through are enabled but strore is not configured!');
-
- return;
- }
-
- $http.post('/configuration/caches/save', item)
- .success(function (_id) {
- var idx = _.findIndex($scope.caches, function (cache) {
- return cache._id == _id;
- });
-
- if (idx >= 0)
- angular.extend($scope.caches[idx], item);
- else {
- item._id = _id;
-
- $scope.caches.push(item);
- }
-
- $scope.selectItem(item);
-
- $scope.showInfo('Cache "' + item.name + '" saved.');
- })
- .error(function (errMsg) {
- $scope.showError(errMsg);
- });
- };
-
- $scope.removeItem = function () {
- var _id = $scope.selectedItem._id;
-
- $http.post('/configuration/caches/remove', {_id: _id})
- .success(function () {
- var i = _.findIndex($scope.caches, function (cache) {
- return cache._id == _id;
- });
-
- if (i >= 0) {
- $scope.caches.splice(i, 1);
-
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
- }
- })
- .error(function (errMsg) {
- $scope.showError(errMsg);
- });
- };
-
- $scope.checkIndexedTypes = function (keyCls, valCls) {
- if (!keyCls) {
- $scope.showError('Key class name should be non empty!');
-
- return false;
- }
-
- if (!valCls) {
- $scope.showError('Value class name should be non empty!');
-
- return false;
- }
-
- return true;
- };
-
- $scope.addIndexedTypes = function (keyCls, valCls) {
- if (!$scope.checkIndexedTypes(keyCls, valCls))
- return;
-
- var idxTypes = $scope.backupItem.indexedTypes;
-
- var newItem = {keyClass: keyCls, valueClass: valCls};
-
- if (idxTypes)
- idxTypes.push(newItem);
- else
- $scope.backupItem.indexedTypes = [newItem];
- };
-
- $scope.saveIndexedType = function (idx, keyCls, valCls) {
- if (!$scope.checkIndexedTypes(keyCls, valCls))
- return idx;
-
- var idxType = $scope.backupItem.indexedTypes[idx];
-
- idxType.keyClass = keyCls;
- idxType.valueClass = valCls;
-
- return -1;
- };
- }]
-);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js b/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
deleted file mode 100644
index 431ca54..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/clusters.js
+++ /dev/null
@@ -1,218 +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.
- */
-
-controlCenterModule.controller('clustersController', ['$scope', '$alert', '$http', 'commonFunctions', function ($scope, $alert, $http, commonFunctions) {
- $scope.swapSimpleItems = commonFunctions.swapSimpleItems;
- $scope.joinTip = commonFunctions.joinTip;
- $scope.getModel = commonFunctions.getModel;
- $scope.errorMessage = commonFunctions.errorMessage;
- $scope.console = console;
-
- $scope.templates = [
- {value: {discovery: {Vm: {addresses: ['127.0.0.1:47500..47510']}}}, label: 'none'},
- {value: {discovery: {kind: 'Vm', Vm: {addresses: ['127.0.0.1:47500..47510']}}}, label: 'local'},
- {value: {discovery: {kind: 'Multicast', Vm: {addresses: ['127.0.0.1:47500..47510']}, Multicast: {}}}, label: 'multicast'}
- ];
-
- $scope.discoveries = [
- {value: 'Vm', label: 'static IPs'},
- {value: 'Multicast', label: 'multicast'},
- {value: 'S3', label: 'AWS S3'},
- {value: 'Cloud', label: 'apache jclouds'},
- {value: 'GoogleStorage', label: 'google cloud storage'},
- {value: 'Jdbc', label: 'JDBC'},
- {value: 'SharedFs', label: 'shared filesystem'}
- ];
-
- $scope.swapSpaceSpis = [
- {value: 'FileSwapSpaceSpi', label: 'File-based swap'},
- {value: undefined, label: 'Not set'}
- ];
-
- $scope.events = [];
-
- for (var eventGroupName in eventGroups) {
- if (eventGroups.hasOwnProperty(eventGroupName)) {
- $scope.events.push({value: eventGroupName, label: eventGroupName});
- }
- }
-
- $scope.cacheModes = [
- {value: 'LOCAL', label: 'LOCAL'},
- {value: 'REPLICATED', label: 'REPLICATED'},
- {value: 'PARTITIONED', label: 'PARTITIONED'}
- ];
-
- $scope.deploymentModes = [
- {value: 'PRIVATE', label: 'PRIVATE'},
- {value: 'ISOLATED', label: 'ISOLATED'},
- {value: 'SHARED', label: 'SHARED'},
- {value: 'CONTINUOUS', label: 'CONTINUOUS'}
- ];
-
- $scope.transactionConcurrency = [
- {value: 'OPTIMISTIC', label: 'OPTIMISTIC'},
- {value: 'PESSIMISTIC', label: 'PESSIMISTIC'}
- ];
-
- $scope.transactionIsolation = [
- {value: 'READ_COMMITTED', label: 'READ_COMMITTED'},
- {value: 'REPEATABLE_READ', label: 'REPEATABLE_READ'},
- {value: 'SERIALIZABLE', label: 'SERIALIZABLE'}
- ];
-
- $scope.segmentationPolicy = [
- {value: 'RESTART_JVM', label: 'RESTART_JVM'},
- {value: 'STOP', label: 'STOP'},
- {value: 'NOOP', label: 'NOOP'}
- ];
-
- $scope.marshallers = [
- {value: 'JdkMarshaller', label: 'JdkMarshaller'},
- {value: 'OptimizedMarshaller', label: 'OptimizedMarshaller'}
- ];
-
- $scope.clusters = [];
-
- $http.get('/form-models/clusters.json')
- .success(function (data) {
- $scope.templateTip = data.templateTip;
-
- $scope.general = data.general;
- $scope.advanced = data.advanced;
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
-
- // When landing on the page, get clusters and show them.
- $http.post('/configuration/clusters/list')
- .success(function (data) {
- $scope.caches = data.caches;
- $scope.spaces = data.spaces;
- $scope.clusters = data.clusters;
-
- var restoredItem = angular.fromJson(sessionStorage.clusterBackupItem);
-
- if (restoredItem) {
- var idx = _.findIndex($scope.clusters, function (cluster) {
- return cluster._id == restoredItem._id;
- });
-
- if (idx >= 0) {
- $scope.selectedItem = $scope.clusters[idx];
-
- $scope.backupItem = restoredItem;
- }
- else
- sessionStorage.removeItem('clusterBackupItem');
- }
-
- $scope.$watch('backupItem', function (val) {
- if (val)
- sessionStorage.clusterBackupItem = angular.toJson(val);
- }, true);
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
-
- $scope.selectItem = function (item) {
- $scope.selectedItem = item;
-
- $scope.backupItem = angular.copy(item);
- };
-
- // Add new cluster.
- $scope.createItem = function () {
- $scope.backupItem = angular.copy($scope.create.template);
-
- $scope.backupItem.space = $scope.spaces[0]._id;
- };
-
- // Save cluster in db.
- $scope.saveItem = function () {
- var item = $scope.backupItem;
-
- if (!item.swapSpaceSpi || !item.swapSpaceSpi.kind) {
- for (var cacheId in item.caches) {
- var idx = _.findIndex($scope.caches, function (cache) {
- return cache._id == cacheId.value;
- });
-
- if (idx >= 0) {
- var cache = $scope.caches[idx];
-
- if (cache.swapEnabled) {
- $alert({title: 'Swap space SPI is not configured, but cache "' + cache.label + '" configured to use swap!'});
-
- return;
- }
- }
- }
- }
-
- $http.post('/configuration/clusters/save', item)
- .success(function (_id) {
- var idx = _.findIndex($scope.clusters, function (cluster) {
- return cluster._id == _id;
- });
-
- if (idx >= 0)
- angular.extend($scope.clusters[idx], item);
- else {
- item._id = _id;
-
- $scope.clusters.push(item);
- }
-
- $scope.selectItem(item);
-
- $alert({
- type: 'success',
- title: 'Cluster "' + item.name + '" saved.',
- duration: 2,
- container: '#save-btn'
- });
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
- };
-
- $scope.removeItem = function () {
- var _id = $scope.selectedItem._id;
-
- $http.post('/configuration/clusters/remove', {_id: _id})
- .success(function () {
- var i = _.findIndex($scope.clusters, function (cluster) {
- return cluster._id == _id;
- });
-
- if (i >= 0) {
- $scope.clusters.splice(i, 1);
-
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
- }
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
- };
- }]
-);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/common.js b/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
deleted file mode 100644
index 228181a..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/common.js
+++ /dev/null
@@ -1,191 +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.
- */
-
-var controlCenterModule = angular.module('ignite-web-control-center', ['smart-table', 'mgcrea.ngStrap', 'ngSanitize']);
-
-controlCenterModule.service('commonFunctions', function () {
- return {
- getModel: function (obj, path) {
- if (!path)
- return obj;
-
- path = path.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
- path = path.replace(/^\./, ''); // strip a leading dot
-
- var segs = path.split('.');
- var root = obj;
-
- while (segs.length > 0) {
- var pathStep = segs.shift();
-
- if (typeof root[pathStep] === 'undefined')
- root[pathStep] = {};
-
- root = root[pathStep];
- }
-
- return root;
- },
- swapSimpleItems: function (a, ix1, ix2) {
- var tmp = a[ix1];
-
- a[ix1] = a[ix2];
- a[ix2] = tmp;
- },
- joinTip: function (arr) {
- if (!arr) {
- return arr;
- }
-
- var lines = arr.map(function (line) {
- var rtrimmed = line.replace(/\s+$/g, '');
-
- if (rtrimmed.indexOf('>', this.length - 1) == -1) {
- rtrimmed = rtrimmed + '<br/>';
- }
-
- return rtrimmed;
- });
-
- return lines.join("");
- },
- errorMessage: function (errMsg) {
- return errMsg ? errMsg : 'Internal server error.';
- }
- }
-});
-
-controlCenterModule.config(function ($tooltipProvider) {
- angular.extend($tooltipProvider.defaults, {
- container: 'body',
- placement: 'right',
- html: 'true',
- trigger: 'click hover'
- });
-});
-
-controlCenterModule.config(function ($selectProvider) {
- angular.extend($selectProvider.defaults, {
- maxLength: '1',
- allText: 'Select All',
- noneText: 'Clear All',
- template: '/select'
- });
-});
-
-// Alert settings
-controlCenterModule.config(function ($alertProvider) {
- angular.extend($alertProvider.defaults, {
- container: 'body',
- placement: 'top-right',
- duration: '5',
- type: 'danger'
- });
-});
-
-// Decode name using map(value, label).
-controlCenterModule.filter('displayValue', function () {
- return function (v, m, dflt) {
- var i = _.findIndex(m, function (item) {
- return item.value == v;
- });
-
- if (i >= 0) {
- return m[i].label;
- }
-
- if (dflt) {
- return dflt;
- }
-
- return 'Unknown value';
- }
-});
-
-/**
- * Replaces all occurrences of {@code org.apache.ignite.} with {@code o.a.i.},
- * {@code org.apache.ignite.internal.} with {@code o.a.i.i.},
- * {@code org.apache.ignite.internal.visor.} with {@code o.a.i.i.v.} and
- * {@code org.apache.ignite.scalar.} with {@code o.a.i.s.}.
- *
- * @param s String to replace in.
- * @return Replaces string.
- */
-controlCenterModule.filter('compact', function () {
- return function (s) {
- return s.replace("org.apache.ignite.internal.visor.", "o.a.i.i.v.").
- replace("org.apache.ignite.internal.", "o.a.i.i.").
- replace("org.apache.ignite.scalar.", "o.a.i.s.").
- replace("org.apache.ignite.", "o.a.i.");
- }
-});
-
-controlCenterModule.directive('ipaddress', function () {
- const ip = '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])';
- const port = '([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])';
- const portRange = '(:' + port + '(..' + port + ')?)?';
- const host = '(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])';
-
- return {
- require: 'ngModel',
- link: function (scope, elem, attrs, ctrl) {
- ctrl.$validators.ipaddress = function (modelValue, viewValue) {
- if (ctrl.$isEmpty(modelValue) || !attrs['ipaddress'])
- return true;
-
- return viewValue.match(new RegExp('(^' + ip + portRange + '$)|(^' + host + portRange + '$)')) != null;
- }
- }
- }
-});
-
-controlCenterModule.controller('activeLink', [
- '$scope', function ($scope) {
- $scope.isActive = function (path) {
- return window.location.pathname.substr(0, path.length) == path;
- };
- }]);
-
-controlCenterModule.controller('auth', [
- '$scope', '$modal', '$alert', '$http', '$window', 'commonFunctions',
- function ($scope, $modal, $alert, $http, $window, commonFunctions) {
- $scope.errorMessage = commonFunctions.errorMessage;
-
- $scope.action = 'login';
-
- $scope.valid = false;
-
- // Pre-fetch an external template populated with a custom scope
- var authModal = $modal({scope: $scope, template: '/login', show: false});
-
- $scope.login = function () {
- // Show when some event occurs (use $promise property to ensure the template has been loaded)
- authModal.$promise.then(authModal.show);
- };
-
- $scope.auth = function (action, user_info) {
- $http.post('/' + action, user_info)
- .success(function (data) {
- authModal.hide();
-
- $window.location = '/configuration/clusters';
- })
- .error(function (data) {
- $alert({placement: 'top', container: '#errors-container', title: $scope.errorMessage(data)});
- });
- };
- }]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/controllers/persistences.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/persistences.js b/modules/web-control-center/nodejs/public/javascripts/controllers/persistences.js
deleted file mode 100644
index 645a193..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/persistences.js
+++ /dev/null
@@ -1,212 +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.
- */
-
-controlCenterModule.controller('persistenceController', ['$scope', '$alert', '$http', 'commonFunctions', function ($scope, $alert, $http, commonFunctions) {
- $scope.joinTip = commonFunctions.joinTip;
- $scope.getModel = commonFunctions.getModel;
- $scope.errorMessage = commonFunctions.errorMessage;
-
- $scope.databases = [
- {value: 'oracle', label: 'Oracle database'},
- {value: 'db2', label: 'IBM DB2'},
- {value: 'mssql', label: 'MS SQL Server'},
- {value: 'postgre', label: 'PostgreSQL'},
- {value: 'mysql', label: 'MySQL'},
- {value: 'h2', label: 'H2 database'}
- ];
-
- $scope.connection = [];
-
- $http.get('/form-models/persistence.json')
- .success(function (data) {
- $scope.connection = data.connection;
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
-
- $scope.persistences = [];
-
- // When landing on the page, get persistences and show them.
- $http.post('/configuration/persistences/list')
- .success(function (data) {
- $scope.spaces = data.spaces;
- $scope.persistences = data.persistences;
-
- var restoredItem = angular.fromJson(sessionStorage.persistenceBackupItem);
-
- if (restoredItem) {
- var idx = _.findIndex($scope.persistences, function (persistence) {
- return persistence._id == restoredItem._id;
- });
-
- if (idx >= 0) {
- $scope.selectedItem = $scope.persistences[idx];
-
- $scope.backupItem = restoredItem;
- }
- else
- sessionStorage.removeItem('persistenceBackupItem');
- }
-
- $scope.$watch('backupItem', function (val) {
- if (val)
- sessionStorage.persistenceBackupItem = angular.toJson(val);
- }, true);
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
-
- $scope.selectItem = function (item) {
- $scope.selectedItem = item;
- $scope.backupItem = angular.copy(item);
- };
-
- // Add new persistence.
- $scope.createItem = function () {
- $scope.backupItem = {database: 'oracle'};
- $scope.backupItem.space = $scope.spaces[0]._id;
- };
-
- // Save persistence in db.
- $scope.saveItem = function () {
- var item = $scope.backupItem;
-
- $http.post('/configuration/persistences/save', item)
- .success(function (_id) {
- var i = _.findIndex($scope.persistences, function (persistence) {
- return persistence._id == _id;
- });
-
- if (i >= 0)
- angular.extend($scope.persistences[i], item);
- else {
- item._id = _id;
-
- $scope.persistences.push(item);
- }
-
- $scope.selectItem(item);
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
- };
-
- $scope.removeItem = function () {
- var _id = $scope.selectedItem._id;
-
- $http.post('/configuration/persistences/remove', {_id: _id})
- .success(function () {
- var i = _.findIndex($scope.persistences, function (persistence) {
- return persistence._id == _id;
- });
-
- if (i >= 0) {
- $scope.persistences.splice(i, 1);
-
- $scope.selectedItem = undefined;
- $scope.backupItem = undefined;
- }
- })
- .error(function (errMsg) {
- $alert({title: $scope.errorMessage(errMsg)});
- });
- };
-
- $scope.data = {
- curTableIdx: -1,
- curFieldIdx: -1,
- curKeyClass: '',
- curValueClass: '',
- curJavaName: '',
- curJavaType: '',
- tables: [
- {schemaName: 'Schema1', use: true},
- {schemaName: 'Schema1', use: true, tableName: 'Table1', keyClass: 'KeyClass1', valueClass: 'ValueClass1',
- fields: [
- {use: true, key: true, ak: true, dbName: 'name1', dbType: 'dbType1', javaName: 'javaName1', javaType: 'javaType1'},
- {use: true, key: false, ak: false, dbName: 'name2', dbType: 'dbType2', javaName: 'javaName2', javaType: 'javaType2'},
- {use: false, key: false, ak: false, dbName: 'name3', dbType: 'dbType3', javaName: 'javaName3', javaType: 'javaType3'}
- ]
- },
- {schemaName: 'Schema2 with very long name', use: false},
- {schemaName: 'Schema2', use: false, tableName: 'Table2', keyClass: 'KeyClass2', valueClass: 'ValueClass2',
- fields: [
- {use: true, key: true, ak: true, dbName: 'name4', dbType: 'dbType4', javaName: 'javaName4', javaType: 'javaType4'},
- {use: true, key: false, ak: false, dbName: 'name5', dbType: 'dbType5', javaName: 'javaName5', javaType: 'javaType5'},
- {use: false, key: false, ak: false, dbName: 'name6', dbType: 'dbType6', javaName: 'javaName6', javaType: 'javaType6'}
- ]},
- {schemaName: 'Schema2', use: false, tableName: 'Table3', keyClass: 'KeyClass3', valueClass: 'ValueClass3',
- fields: [
- {use: true, key: true, ak: true, dbName: 'name7', dbType: 'dbType7', javaName: 'javaName7', javaType: 'javaType7'},
- {use: true, key: false, ak: false, dbName: 'name8', dbType: 'dbType8', javaName: 'javaName8', javaType: 'javaType8'},
- {use: false, key: false, ak: false, dbName: 'name9', dbType: 'dbType9', javaName: 'javaName9', javaType: 'javaType9'},
- {use: false, key: false, ak: false, dbName: 'name10', dbType: 'dbType10', javaName: 'javaName10', javaType: 'javaType10'},
- {use: false, key: false, ak: false, dbName: 'name11', dbType: 'dbType11', javaName: 'javaName11', javaType: 'javaType11'},
- {use: false, key: false, ak: false, dbName: 'name12', dbType: 'dbType12', javaName: 'javaName12', javaType: 'javaType12'}
- ]}]
- };
-
- $scope.selectSchema = function (idx) {
- var data = $scope.data;
- var tables = data.tables;
- var schemaName = tables[idx].schemaName;
- var use = tables[idx].use;
-
- for (var i = idx + 1; i < tables.length; i++) {
- var item = tables[i];
-
- if (item.schemaName == schemaName && item.tableName)
- item.use = use;
- else
- break;
- }
-
- data.curTableIdx = -1;
- data.curFieldIdx = -1;
- };
-
- $scope.selectTable = function (idx) {
- var data = $scope.data;
-
- data.curTableIdx = idx;
- data.curFieldIdx = -1;
-
- if (idx >= 0) {
- var tbl = data.tables[idx];
-
- data.curKeyClass = tbl.keyClass;
- data.curValueClass = tbl.valueClass;
- }
- };
-
- $scope.selectField = function (idx) {
- var data = $scope.data;
-
- data.curFieldIdx = idx;
-
- if (idx >= 0) {
- var fld = data.tables[data.curTableIdx].fields[idx];
-
- data.curJavaName = fld.javaName;
- data.curJavaType = fld.javaType;
- }
- };
- }]
-);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/controllers/summary.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/controllers/summary.js b/modules/web-control-center/nodejs/public/javascripts/controllers/summary.js
deleted file mode 100644
index 031807f..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/controllers/summary.js
+++ /dev/null
@@ -1,167 +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.
- */
-
-controlCenterModule.controller('summaryController', ['$scope', '$http', function ($scope, $http) {
- $scope.generateJavaItems = [
- { label: 'snippet',value: false},
- { label: 'factory class',value: true}
- ];
-
- $scope.generateJavaClass = false;
-
- $scope.javaData = undefined;
- $scope.xmlData = undefined;
- $scope.dockerData = undefined;
-
- $http.post('/configuration/clusters/list').success(function (data) {
- $scope.caches = data.caches;
- $scope.spaces = data.spaces;
- $scope.clusters = data.clusters;
- });
-
- $scope.selectItem = function (item) {
- $scope.selectedItem = item;
-
- $scope.generateConfig()
- };
-
- $scope.generateConfig = function() {
- var lang = $scope.cfgLang;
-
- if (lang == 'docker') {
- $("<pre class='brush:plain' />").text($scope.dockerFile()).appendTo($('#dockerResultDiv').empty());
-
- return;
- }
-
- var cluster = $scope.selectedItem;
-
- if (!cluster)
- return;
-
- $scope.loading = true;
-
- $http.post('/configuration/summary/generator', {_id: cluster._id, lang: lang, generateJavaClass: $scope.generateJavaClass})
- .success(
- function (data) {
- if (lang == 'java') {
- $scope.javaData = data;
-
- $("<pre class='brush:java' />").text(data).appendTo($('#javaResultDiv').empty());
- }
- else if (lang == 'xml') {
- $scope.xmlData = data;
-
- $("<pre class='brush:xml' />").text(data).appendTo($('#xmlResultDiv').empty());
- }
-
- SyntaxHighlighter.highlight();
-
- $scope.loading = false;
- }).error(function (data) {
- $scope.generateError = "Failed to generate config: " + data;
-
- $scope.loading = false;
- });
- };
-
- $scope.cfgLang = 'xml';
-
- $scope.$watch('cfgLang', $scope.generateConfig);
- $scope.$watch('generateJavaClass', $scope.generateConfig);
-
- $scope.dockerArg = {};
-
- $scope.download = function(text, fileName) {
- if (text.length == 0)
- return;
-
- var file = document.createElement('a');
- file.setAttribute('href', 'data:application/octet-stream;charset=utf-8,' + encodeURIComponent(text));
- file.setAttribute('download', fileName);
-
- file.style.display = 'none';
- document.body.appendChild(file);
-
- file.click();
-
- document.body.removeChild(file);
- };
-
- $scope.downloadJava = function() {
- $scope.download($scope.javaData,
- $scope.generateJavaClass ? 'ConfigurationFactory.java' : $scope.selectedItem.name + '.snipplet.txt');
- };
-
- $scope.downloadDocker = function() {
- $scope.download($scope.dockerFile(), 'Dockerfile');
- };
-
- $scope.oss = ['debian:8', 'ubuntu:14.10'];
-
- $scope.dockerFile = function() {
- if (!$scope.selectedItem || !$scope.dockerArg) {
- return '';
- }
-
- var os = $scope.dockerArg.os;
- if (!os) {
- os = 'debian:8'
- }
-
- return "" +
- "# Start from a Debian image.\n"+
- "FROM " + os + "\n"+
- "\n"+
- "# Install tools.\n"+
- "RUN apt-get update && apt-get install -y --fix-missing \\\n"+
- " wget \\\n"+
- " dstat \\\n"+
- " maven \\\n"+
- " git\n"+
- "\n"+
- "# Install Oracle JDK.\n"+
- "RUN mkdir /opt/jdk\n"+
- "\n"+
- "RUN wget --header \"Cookie: oraclelicense=accept-securebackup-cookie\" \\\n"+
- " http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz\n"+
- "\n"+
- "RUN tar -zxf jdk-7u79-linux-x64.tar.gz -C /opt/jdk\n"+
- "\n"+
- "RUN rm jdk-7u79-linux-x64.tar.gz\n"+
- "\n"+
- "RUN update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_79/bin/java 100\n"+
- "\n"+
- "RUN update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_79/bin/javac 100\n"+
- "\n"+
- "# Sets java variables.\n"+
- "ENV JAVA_HOME /opt/jdk/jdk1.7.0_79/\n"+
- "\n"+
- "# Create working directory\n"+
- "WORKDIR /home\n"+
- "\n"+
- "RUN wget -O ignite.zip http://tiny.cc/updater/download_ignite.php && unzip ignite.zip && rm ignite.zip\n"+
- "\n"+
- "COPY *.xml /tmp/\n"+
- "\n"+
- "RUN mv /tmp/*.xml /home/$(ls)/config";
- };
-
- $scope.$watch('dockerArg.os', function() {
- $("<pre class='brush:plain' />").text($scope.dockerFile()).appendTo($('#dockerResultDiv').empty());
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/36063e13/modules/web-control-center/nodejs/public/javascripts/dataStructures.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/public/javascripts/dataStructures.js b/modules/web-control-center/nodejs/public/javascripts/dataStructures.js
deleted file mode 100644
index 2462708..0000000
--- a/modules/web-control-center/nodejs/public/javascripts/dataStructures.js
+++ /dev/null
@@ -1,84 +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.
- */
-
-eventGroups = {
- EVTS_CHECKPOINT: ['EVT_CHECKPOINT_SAVED', 'EVT_CHECKPOINT_LOADED', 'EVT_CHECKPOINT_REMOVED'],
- EVTS_DEPLOYMENT: ['EVT_CLASS_DEPLOYED', 'EVT_CLASS_UNDEPLOYED', 'EVT_CLASS_DEPLOY_FAILED', 'EVT_TASK_DEPLOYED',
- 'EVT_TASK_UNDEPLOYED', 'EVT_TASK_DEPLOY_FAILED'],
- EVTS_ERROR: ['EVT_JOB_TIMEDOUT', 'EVT_JOB_FAILED', 'EVT_JOB_FAILED_OVER', 'EVT_JOB_REJECTED', 'EVT_JOB_CANCELLED',
- 'EVT_TASK_TIMEDOUT', 'EVT_TASK_FAILED', 'EVT_CLASS_DEPLOY_FAILED', 'EVT_TASK_DEPLOY_FAILED',
- 'EVT_TASK_DEPLOYED', 'EVT_TASK_UNDEPLOYED', 'EVT_CACHE_REBALANCE_STARTED', 'EVT_CACHE_REBALANCE_STOPPED'],
- EVTS_DISCOVERY: ['EVT_NODE_JOINED', 'EVT_NODE_LEFT', 'EVT_NODE_FAILED', 'EVT_NODE_SEGMENTED',
- 'EVT_CLIENT_NODE_DISCONNECTED', 'EVT_CLIENT_NODE_RECONNECTED'],
- EVTS_JOB_EXECUTION: ['EVT_JOB_MAPPED', 'EVT_JOB_RESULTED', 'EVT_JOB_FAILED_OVER', 'EVT_JOB_STARTED',
- 'EVT_JOB_FINISHED', 'EVT_JOB_TIMEDOUT', 'EVT_JOB_REJECTED', 'EVT_JOB_FAILED', 'EVT_JOB_QUEUED',
- 'EVT_JOB_CANCELLED'],
- EVTS_TASK_EXECUTION: ['EVT_TASK_STARTED', 'EVT_TASK_FINISHED', 'EVT_TASK_FAILED', 'EVT_TASK_TIMEDOUT',
- 'EVT_TASK_SESSION_ATTR_SET', 'EVT_TASK_REDUCED'],
- EVTS_CACHE: ['EVT_CACHE_ENTRY_CREATED', 'EVT_CACHE_ENTRY_DESTROYED', 'EVT_CACHE_OBJECT_PUT',
- 'EVT_CACHE_OBJECT_READ', 'EVT_CACHE_OBJECT_REMOVED', 'EVT_CACHE_OBJECT_LOCKED', 'EVT_CACHE_OBJECT_UNLOCKED',
- 'EVT_CACHE_OBJECT_SWAPPED', 'EVT_CACHE_OBJECT_UNSWAPPED', 'EVT_CACHE_OBJECT_EXPIRED'],
- EVTS_CACHE_REBALANCE: ['EVT_CACHE_REBALANCE_STARTED', 'EVT_CACHE_REBALANCE_STOPPED',
- 'EVT_CACHE_REBALANCE_PART_LOADED', 'EVT_CACHE_REBALANCE_PART_UNLOADED', 'EVT_CACHE_REBALANCE_OBJECT_LOADED',
- 'EVT_CACHE_REBALANCE_OBJECT_UNLOADED', 'EVT_CACHE_REBALANCE_PART_DATA_LOST'],
- EVTS_CACHE_LIFECYCLE: ['EVT_CACHE_STARTED', 'EVT_CACHE_STOPPED', 'EVT_CACHE_NODES_LEFT'],
- EVTS_CACHE_QUERY: ['EVT_CACHE_QUERY_EXECUTED', 'EVT_CACHE_QUERY_OBJECT_READ'],
- EVTS_SWAPSPACE: ['EVT_SWAP_SPACE_CLEARED', 'EVT_SWAP_SPACE_DATA_REMOVED', 'EVT_SWAP_SPACE_DATA_READ',
- 'EVT_SWAP_SPACE_DATA_STORED', 'EVT_SWAP_SPACE_DATA_EVICTED'],
- EVTS_IGFS: ['EVT_IGFS_FILE_CREATED', 'EVT_IGFS_FILE_RENAMED', 'EVT_IGFS_FILE_DELETED', 'EVT_IGFS_FILE_OPENED_READ',
- 'EVT_IGFS_FILE_OPENED_WRITE', 'EVT_IGFS_FILE_CLOSED_WRITE', 'EVT_IGFS_FILE_CLOSED_READ', 'EVT_IGFS_FILE_PURGED',
- 'EVT_IGFS_META_UPDATED', 'EVT_IGFS_DIR_CREATED', 'EVT_IGFS_DIR_RENAMED', 'EVT_IGFS_DIR_DELETED']
-};
-
-jdbcTypes = {
- BIT: {value: "BIT", code: -7, label: "BIT"},
- TINYINT: {value: "TINYINT", code: -6, label: "TINYINT"},
- SMALLINT: {value: "SMALLINT", code: 5, label: "SMALLINT"},
- INTEGER: {value: "INTEGER", code: 4, label: "INTEGER"},
- BIGINT: {value: "BIGINT", code: -5, label: "BIGINT"},
- FLOAT: {value: "FLOAT", code: 6, label: "FLOAT"},
- REAL: {value: "REAL", code: 7, label: "REAL"},
- DOUBLE: {value: "DOUBLE", code: 8, label: "DOUBLE"},
- NUMERIC: {value: "NUMERIC", code: 2, label: "NUMERIC"},
- DECIMAL: {value: "DECIMAL", code: 3, label: "DECIMAL"},
- CHAR: {value: "CHAR", code: 1, label: "CHAR"},
- VARCHAR: {value: "VARCHAR", code: 12, label: "VARCHAR"},
- DATE: {value: "DATE", code: 91, label: "DATE"},
- TIME: {value: "TIME", code: 92, label: "TIME"},
- TIMESTAMP: {value: "TIMESTAMP", code: 93, label: "TIMESTAMP"},
- BINARY: {value: "BINARY", code: -2, label: "BINARY"}
-};
-
-javaTypes = {
- INTEGER: {value: "java.lang.Integer", label: "Integer"},
- LONG: {value: "java.lang.Long", label: "Long"},
- BIGDECIMAL: {value: "java.math.BigDecimal", label: "BigDecimal"},
- FLOAT: {value: "java.lang.Float", label: "Float"},
- DOUBLE: {value: "java.lang.Double", label: "Double"},
- STRING: {value: "java.lang.String", label: "String"},
- BOOLEAN: {value: "java.lang.Boolean", label: "Boolean"},
- BYTE_ARRAY: {value: "byte[]", label: "byte[]"},
- DATE: {value: "java.sql.Date", label: "Date"},
- TIME: {value: "java.sql.Time", label: "Time"},
- TIMESTAMP: {value: "java.sql.Timestamp", label: "Timestamp"}
-};
-
-if (typeof window === 'undefined') {
- exports.eventGroups = eventGroups;
- exports.jdbcTypes = jdbcTypes;
- exports.javaTypes = javaTypes;
-}