You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2016/02/12 03:39:39 UTC
[1/5] incubator-geode git commit: GEODE-913: refactor
AbstractDistributionConfig
Repository: incubator-geode
Updated Branches:
refs/heads/develop 3adb0b8e1 -> 700599052
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfigImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfigImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfigImpl.java
index 190a137..fc2fca7 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfigImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfigImpl.java
@@ -17,21 +17,6 @@
package com.gemstone.gemfire.distributed.internal;
-import java.io.File;
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.InetAddress;
-import java.net.URL;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
import com.gemstone.gemfire.GemFireConfigException;
import com.gemstone.gemfire.GemFireIOException;
import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -41,6 +26,14 @@ import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
import com.gemstone.gemfire.internal.process.ProcessLauncherContext;
import com.gemstone.gemfire.memcached.GemFireMemcachedServer;
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.InetAddress;
+import java.net.URL;
+import java.net.UnknownHostException;
+import java.util.*;
+
/**
* Provides an implementation of <code>DistributionConfig</code> that
* knows how to read the configuration file.
@@ -1544,8 +1537,7 @@ public class DistributionConfigImpl
}
public void setHttpServicePort(int value) {
- minMaxCheck(HTTP_SERVICE_PORT_NAME, value, 0, 65535);
- this.httpServicePort = value;
+ this.httpServicePort = (Integer)checkAttribute(HTTP_SERVICE_PORT_NAME, value);
}
public String getHttpServiceBindAddress() {
@@ -1553,8 +1545,7 @@ public class DistributionConfigImpl
}
public void setHttpServiceBindAddress(String value) {
- checkHttpServiceBindAddress(value);
- this.httpServiceBindAddress = value;
+ this.httpServiceBindAddress = (String)checkAttribute(HTTP_SERVICE_BIND_ADDRESS_NAME, value);
}
public boolean getStartDevRestApi(){
@@ -1566,8 +1557,7 @@ public class DistributionConfigImpl
}
public void setUserCommandPackages(String value) {
- checkUserCommandPackages(value);
- this.userCommandPackages = value;
+ this.userCommandPackages = (String)checkAttribute(USER_COMMAND_PACKAGES, value);
}
public boolean getDeltaPropagation() {
@@ -1575,44 +1565,35 @@ public class DistributionConfigImpl
}
public void setDeltaPropagation(boolean value) {
- checkDeltaPropagationModifiable();
- this.deltaPropagation = value;
+ this.deltaPropagation = (Boolean)checkAttribute(DELTA_PROPAGATION_PROP_NAME, value);
}
public void setName(String value) {
- checkName(value);
if (value == null) {
value = DEFAULT_NAME;
}
- this.name = value;
+ this.name = (String)checkAttribute(NAME_NAME, value);
}
public void setTcpPort(int value) {
- checkTcpPort(value);
- this.tcpPort = value;
+ this.tcpPort = (Integer)checkAttribute(TCP_PORT_NAME, value);
}
public void setMcastPort(int value) {
- checkMcastPort(value);
- this.mcastPort = value;
+ this.mcastPort = (Integer)checkAttribute(MCAST_PORT_NAME, value);
}
public void setMcastTtl(int value) {
- checkMcastTtl(value);
- this.mcastTtl = value;
+ this.mcastTtl = (Integer)checkAttribute(MCAST_TTL_NAME, value);
}
public void setSocketLeaseTime(int value) {
- checkSocketLeaseTime(value);
- this.socketLeaseTime = value;
+ this.socketLeaseTime = (Integer)checkAttribute(SOCKET_LEASE_TIME_NAME, value);
}
public void setSocketBufferSize(int value) {
- checkSocketBufferSize(value);
- this.socketBufferSize = value;
+ this.socketBufferSize = (Integer)checkAttribute(SOCKET_BUFFER_SIZE_NAME, value);
}
public void setConserveSockets(boolean value) {
- checkConserveSockets(value);
- this.conserveSockets = value;
+ this.conserveSockets = (Boolean)checkAttribute(CONSERVE_SOCKETS_NAME, value);
}
public void setRoles(String value) {
- checkRoles(value);
- this.roles = value;
+ this.roles = (String)checkAttribute(ROLES_NAME, value);
}
public void setMaxWaitTimeForReconnect(int value){
@@ -1624,23 +1605,19 @@ public class DistributionConfigImpl
}
public void setMcastAddress(InetAddress value) {
- checkMcastAddress(value);
- this.mcastAddress = value;
+ this.mcastAddress = (InetAddress)checkAttribute(MCAST_ADDRESS_NAME, value);
}
public void setBindAddress(String value) {
- checkBindAddress(value);
- this.bindAddress = value;
+ this.bindAddress = (String)checkAttribute(BIND_ADDRESS_NAME, value);
}
public void setServerBindAddress(String value) {
- checkServerBindAddress(value);
- this.serverBindAddress = value;
+ this.serverBindAddress = (String)checkAttribute(SERVER_BIND_ADDRESS_NAME, value);
}
public void setLocators(String value) {
- value = checkLocators(value);
if (value == null) {
value = DEFAULT_LOCATORS;
}
- this.locators = value;
+ this.locators = (String)checkAttribute(LOCATORS_NAME, value);
}
public void setLocatorWaitTime(int value) {
@@ -1652,16 +1629,13 @@ public class DistributionConfigImpl
}
public void setDeployWorkingDir(File value) {
- checkDeployWorkingDir(value);
- this.deployWorkingDir = value;
+ this.deployWorkingDir = (File)checkAttribute(DEPLOY_WORKING_DIR, value);
}
public void setLogFile(File value) {
- checkLogFile(value);
- this.logFile = value;
+ this.logFile = (File)checkAttribute(LOG_FILE_NAME, value);
}
public void setLogLevel(int value) {
- checkLogLevel(value);
- this.logLevel = value;
+ this.logLevel = (Integer)checkAttribute(LOG_LEVEL_NAME, value);
}
/**
* the locator startup code must be able to modify the locator log file in order
@@ -1700,17 +1674,16 @@ public class DistributionConfigImpl
}
}
else {
- checkStartLocator(value);
+ value = (String)checkAttribute(START_LOCATOR_NAME, value);
}
}
this.startLocator = value;
}
public void setStatisticSamplingEnabled(boolean value) {
- checkStatisticSamplingEnabled(value);
- this.statisticSamplingEnabled = value;
+ this.statisticSamplingEnabled = (Boolean)checkAttribute(STATISTIC_SAMPLING_ENABLED_NAME, value);
}
public void setStatisticSampleRate(int value) {
- checkStatisticSampleRate(value);
+ value = (Integer)checkAttribute(STATISTIC_SAMPLE_RATE_NAME, value);
if (value < DEFAULT_STATISTIC_SAMPLE_RATE) {
// fix 48228
InternalDistributedSystem ids = InternalDistributedSystem.getConnectedInstance();
@@ -1722,110 +1695,94 @@ public class DistributionConfigImpl
this.statisticSampleRate = value;
}
public void setStatisticArchiveFile(File value) {
- checkStatisticArchiveFile(value);
if (value == null) {
value = new File("");
}
- this.statisticArchiveFile = value;
+ this.statisticArchiveFile = (File)checkAttribute(STATISTIC_ARCHIVE_FILE_NAME, value);
}
public void setCacheXmlFile(File value) {
- checkCacheXmlFile(value);
- this.cacheXmlFile = value;
+ this.cacheXmlFile = (File)checkAttribute(CACHE_XML_FILE_NAME, value);
}
public void setAckWaitThreshold(int value) {
- checkAckWaitThreshold(value);
- this.ackWaitThreshold = value;
+ this.ackWaitThreshold = (Integer)checkAttribute(ACK_WAIT_THRESHOLD_NAME, value);
}
public void setAckSevereAlertThreshold(int value) {
- checkAckSevereAlertThreshold(value);
- this.ackForceDisconnectThreshold = value;
+ this.ackForceDisconnectThreshold = (Integer)checkAttribute(ACK_SEVERE_ALERT_THRESHOLD_NAME, value);
}
public int getArchiveDiskSpaceLimit() {
return this.archiveDiskSpaceLimit;
}
public void setArchiveDiskSpaceLimit(int value) {
- checkArchiveDiskSpaceLimit(value);
- this.archiveDiskSpaceLimit = value;
+ this.archiveDiskSpaceLimit = (Integer)checkAttribute(ARCHIVE_DISK_SPACE_LIMIT_NAME, value);
}
public int getArchiveFileSizeLimit() {
return this.archiveFileSizeLimit;
}
public void setArchiveFileSizeLimit(int value) {
- checkArchiveFileSizeLimit(value);
- this.archiveFileSizeLimit = value;
+ this.archiveFileSizeLimit = (Integer)checkAttribute(ARCHIVE_FILE_SIZE_LIMIT_NAME, value);
}
public int getLogDiskSpaceLimit() {
return this.logDiskSpaceLimit;
}
public void setLogDiskSpaceLimit(int value) {
- checkLogDiskSpaceLimit(value);
- this.logDiskSpaceLimit = value;
+ this.logDiskSpaceLimit = (Integer)checkAttribute(LOG_DISK_SPACE_LIMIT_NAME, value);
}
public int getLogFileSizeLimit() {
return this.logFileSizeLimit;
}
public void setLogFileSizeLimit(int value) {
- checkLogFileSizeLimit(value);
- this.logFileSizeLimit = value;
+ this.logFileSizeLimit = (Integer)checkAttribute(LOG_FILE_SIZE_LIMIT_NAME, value);
}
public void setSSLEnabled( boolean value ) {
- checkSSLEnabled( value ? Boolean.TRUE : Boolean.FALSE );
- this.sslEnabled = value;
+ this.sslEnabled = (Boolean)checkAttribute(SSL_ENABLED_NAME, value);
}
public void setSSLProtocols( String value ) {
- checkSSLProtocols( value );
- this.sslProtocols = value;
+ this.sslProtocols = (String)checkAttribute(SSL_PROTOCOLS_NAME, value);
}
public void setSSLCiphers( String value ) {
- checkSSLCiphers( value );
- this.sslCiphers = value;
+ this.sslCiphers = (String)checkAttribute(SSL_CIPHERS_NAME, value);
}
public void setSSLRequireAuthentication( boolean value ){
- checkSSLRequireAuthentication( value ? Boolean.TRUE : Boolean.FALSE );
- this.sslRequireAuthentication = value;
+ this.sslRequireAuthentication = (Boolean)checkAttribute(SSL_REQUIRE_AUTHENTICATION_NAME, value);
}
public void setClusterSSLEnabled( boolean value ) {
- checkClusterSSLEnabled( value ? Boolean.TRUE : Boolean.FALSE );
- this.clusterSSLEnabled = value;
+ this.clusterSSLEnabled = (Boolean)checkAttribute(CLUSTER_SSL_ENABLED_NAME, value);
}
public void setClusterSSLProtocols( String value ) {
- checkClusterSSLProtocols( value );
- this.clusterSSLProtocols = value;
+ this.clusterSSLProtocols = (String)checkAttribute(CLUSTER_SSL_PROTOCOLS_NAME, value);
}
public void setClusterSSLCiphers( String value ) {
- checkClusterSSLCiphers( value );
- this.clusterSSLCiphers = value;
+ this.clusterSSLCiphers = (String)checkAttribute(CLUSTER_SSL_CIPHERS_NAME, value);
}
public void setClusterSSLRequireAuthentication( boolean value ){
- checkClusterSSLRequireAuthentication( value ? Boolean.TRUE : Boolean.FALSE );
- this.clusterSSLRequireAuthentication = value;
+ this.clusterSSLRequireAuthentication = (Boolean)checkAttribute(CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME, value);
}
public void setClusterSSLKeyStore( String value ) {
- checkClusterSSLKeyStore( value );
+ value = (String)checkAttribute(CLUSTER_SSL_KEYSTORE_NAME, value);
this.getClusterSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_NAME, value);
this.clusterSSLKeyStore = value;
}
public void setClusterSSLKeyStoreType( String value ) {
- checkClusterSSLKeyStoreType( value );
+ value = (String)checkAttribute(CLUSTER_SSL_KEYSTORE_TYPE_NAME, value);
this.getClusterSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_TYPE_NAME, value);
this.clusterSSLKeyStoreType = value;
}
public void setClusterSSLKeyStorePassword( String value ) {
- checkClusterSSLKeyStorePassword( value );
+ value = (String)checkAttribute(CLUSTER_SSL_KEYSTORE_PASSWORD_NAME, value);
this.getClusterSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_PASSWORD_NAME, value);
- this.clusterSSLKeyStorePassword = value;
+ this.clusterSSLKeyStorePassword =value;
}
public void setClusterSSLTrustStore( String value ) {
- checkClusterSSLTrustStore( value );
+ value = (String)checkAttribute(CLUSTER_SSL_TRUSTSTORE_NAME, value);
this.getClusterSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_NAME, value);
this.clusterSSLTrustStore = value;
}
public void setClusterSSLTrustStorePassword( String value ) {
- checkClusterSSLTrustStorePassword( value );
+ value = (String)checkAttribute(CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME, value);
this.getClusterSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_PASSWORD_NAME, value);
this.clusterSSLTrustStorePassword = value;
}
@@ -1835,8 +1792,7 @@ public class DistributionConfigImpl
}
public void setMcastSendBufferSize(int value) {
- checkMcastSendBufferSize(value);
- mcastSendBufferSize = value;
+ mcastSendBufferSize = (Integer)checkAttribute(MCAST_SEND_BUFFER_SIZE_NAME, value);
}
public int getMcastRecvBufferSize() {
@@ -1844,20 +1800,16 @@ public class DistributionConfigImpl
}
public void setMcastRecvBufferSize(int value) {
- checkMcastRecvBufferSize(value);
- mcastRecvBufferSize = value;
+ mcastRecvBufferSize = (Integer)checkAttribute(MCAST_RECV_BUFFER_SIZE_NAME, value);
}
public void setAsyncDistributionTimeout(int value) {
- checkAsyncDistributionTimeout(value);
- this.asyncDistributionTimeout = value;
+ this.asyncDistributionTimeout = (Integer)checkAttribute(ASYNC_DISTRIBUTION_TIMEOUT_NAME, value);
}
public void setAsyncQueueTimeout(int value) {
- checkAsyncQueueTimeout(value);
- this.asyncQueueTimeout = value;
+ this.asyncQueueTimeout = (Integer)checkAttribute(ASYNC_QUEUE_TIMEOUT_NAME, value);
}
public void setAsyncMaxQueueSize(int value) {
- checkAsyncMaxQueueSize(value);
- this.asyncMaxQueueSize = value;
+ this.asyncMaxQueueSize = (Integer)checkAttribute(ASYNC_MAX_QUEUE_SIZE_NAME, value);
}
public FlowControlParams getMcastFlowControl() {
@@ -1865,8 +1817,7 @@ public class DistributionConfigImpl
}
public void setMcastFlowControl(FlowControlParams values) {
- checkMcastFlowControl(values);
- mcastFlowControl = values;
+ mcastFlowControl = (FlowControlParams)checkAttribute(MCAST_FLOW_CONTROL_NAME, values);
}
public int getUdpFragmentSize() {
@@ -1874,8 +1825,7 @@ public class DistributionConfigImpl
}
public void setUdpFragmentSize(int value) {
- checkUdpFragmentSize(value);
- udpFragmentSize = value;
+ udpFragmentSize = (Integer)checkAttribute(UDP_FRAGMENT_SIZE_NAME, value);
}
public int getUdpSendBufferSize() {
@@ -1883,8 +1833,7 @@ public class DistributionConfigImpl
}
public void setUdpSendBufferSize(int value) {
- checkUdpSendBufferSize(value);
- udpSendBufferSize = value;
+ udpSendBufferSize = (Integer)checkAttribute(UDP_SEND_BUFFER_SIZE_NAME, value);
}
public int getUdpRecvBufferSize() {
@@ -1892,8 +1841,7 @@ public class DistributionConfigImpl
}
public void setUdpRecvBufferSize(int value) {
- checkUdpRecvBufferSize(value);
- udpRecvBufferSize = value;
+ udpRecvBufferSize = (Integer)checkAttribute(UDP_RECV_BUFFER_SIZE_NAME, value);
}
public boolean getDisableTcp() {
@@ -1917,8 +1865,7 @@ public class DistributionConfigImpl
}
public void setMemberTimeout(int value) {
- checkMemberTimeout(value);
- memberTimeout = value;
+ memberTimeout = (Integer)checkAttribute(MEMBER_TIMEOUT_NAME, value);
}
/** @since 5.7 */
@@ -1928,8 +1875,7 @@ public class DistributionConfigImpl
/** @since 5.7 */
public void setClientConflation(String value) {
- checkClientConflation(value);
- this.clientConflation = value;
+ this.clientConflation = (String)checkAttribute(CLIENT_CONFLATION_PROP_NAME, value);
}
public String getDurableClientId() {
@@ -1937,8 +1883,7 @@ public class DistributionConfigImpl
}
public void setDurableClientId(String value) {
- checkDurableClientId(value);
- durableClientId = value;
+ durableClientId = (String)checkAttribute(DURABLE_CLIENT_ID_NAME, value);
}
public int getDurableClientTimeout() {
@@ -1946,8 +1891,7 @@ public class DistributionConfigImpl
}
public void setDurableClientTimeout(int value) {
- checkDurableClientTimeout(value);
- durableClientTimeout = value;
+ durableClientTimeout = (Integer)checkAttribute(DURABLE_CLIENT_TIMEOUT_NAME, value);
}
public String getSecurityClientAuthInit() {
@@ -1955,8 +1899,7 @@ public class DistributionConfigImpl
}
public void setSecurityClientAuthInit(String value) {
- checkSecurityClientAuthInit(value);
- securityClientAuthInit = value;
+ securityClientAuthInit = (String)checkAttribute(SECURITY_CLIENT_AUTH_INIT_NAME, value);
}
public String getSecurityClientAuthenticator() {
@@ -1978,8 +1921,7 @@ public class DistributionConfigImpl
}
public void setSecurityClientAuthenticator(String value) {
- checkSecurityClientAuthenticator(value);
- securityClientAuthenticator = value;
+ securityClientAuthenticator = (String)checkAttribute(SECURITY_CLIENT_AUTHENTICATOR_NAME, value);
}
public String getSecurityClientDHAlgo() {
@@ -1987,8 +1929,7 @@ public class DistributionConfigImpl
}
public void setSecurityClientDHAlgo(String value) {
- checkSecurityClientDHAlgo(value);
- securityClientDHAlgo = value;
+ securityClientDHAlgo = (String)checkAttribute(SECURITY_CLIENT_DHALGO_NAME, value);
}
public String getSecurityPeerAuthInit() {
@@ -1996,8 +1937,7 @@ public class DistributionConfigImpl
}
public void setSecurityPeerAuthInit(String value) {
- checkSecurityPeerAuthInit(value);
- securityPeerAuthInit = value;
+ securityPeerAuthInit = (String)checkAttribute(SECURITY_PEER_AUTH_INIT_NAME, value);
}
public String getSecurityPeerAuthenticator() {
@@ -2005,8 +1945,7 @@ public class DistributionConfigImpl
}
public void setSecurityPeerAuthenticator(String value) {
- checkSecurityPeerAuthenticator(value);
- securityPeerAuthenticator = value;
+ securityPeerAuthenticator = (String)checkAttribute(SECURITY_PEER_AUTHENTICATOR_NAME, value);
}
public String getSecurityClientAccessor() {
@@ -2014,8 +1953,7 @@ public class DistributionConfigImpl
}
public void setSecurityClientAccessor(String value) {
- checkSecurityClientAccessor(value);
- securityClientAccessor = value;
+ securityClientAccessor = (String)checkAttribute(SECURITY_CLIENT_ACCESSOR_NAME, value);
}
public String getSecurityClientAccessorPP() {
@@ -2023,8 +1961,7 @@ public class DistributionConfigImpl
}
public void setSecurityClientAccessorPP(String value) {
- checkSecurityClientAccessorPP(value);
- securityClientAccessorPP = value;
+ securityClientAccessorPP = (String)checkAttribute(SECURITY_CLIENT_ACCESSOR_PP_NAME, value);
}
public int getSecurityLogLevel() {
@@ -2032,8 +1969,7 @@ public class DistributionConfigImpl
}
public void setSecurityLogLevel(int value) {
- checkSecurityLogLevel(value);
- securityLogLevel = value;
+ securityLogLevel = (Integer)checkAttribute(SECURITY_LOG_LEVEL_NAME, value);
}
public File getSecurityLogFile() {
@@ -2041,8 +1977,7 @@ public class DistributionConfigImpl
}
public void setSecurityLogFile(File value) {
- checkSecurityLogFile(value);
- securityLogFile = value;
+ securityLogFile = (File)checkAttribute(SECURITY_LOG_FILE_NAME, value);
}
public int getSecurityPeerMembershipTimeout() {
@@ -2050,8 +1985,7 @@ public class DistributionConfigImpl
}
public void setSecurityPeerMembershipTimeout(int value) {
- checkSecurityPeerMembershipTimeout(value);
- securityPeerMembershipTimeout = value;
+ securityPeerMembershipTimeout = (Integer)checkAttribute(SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME, value);
}
public Properties getSecurityProps() {
@@ -2065,7 +1999,7 @@ public class DistributionConfigImpl
}
public void setSecurity(String attName, String attValue) {
- checkSecurity(attName, attValue);
+ checkAttribute(attName, attValue);
security.setProperty(attName, attValue);
}
@@ -2082,8 +2016,7 @@ public class DistributionConfigImpl
}
public void setDistributedSystemId(int distributedSystemId) {
- checkDistributedSystemId(distributedSystemId);
- this.distributedSystemId = distributedSystemId;
+ this.distributedSystemId = (Integer)checkAttribute(DISTRIBUTED_SYSTEM_ID_NAME, distributedSystemId);
}
@@ -2097,19 +2030,17 @@ public class DistributionConfigImpl
}
public void setEnforceUniqueHost(boolean enforceUniqueHost) {
- checkEnforceUniqueHostModifiable();
- this.enforceUniqueHost = enforceUniqueHost;
+ this.enforceUniqueHost = (Boolean)checkAttribute(ENFORCE_UNIQUE_HOST_NAME, enforceUniqueHost);
}
public void setRedundancyZone(String redundancyZone) {
- checkRedundancyZoneModifiable();
- this.redundancyZone = redundancyZone;
+ this.redundancyZone = (String)checkAttribute(REDUNDANCY_ZONE_NAME, redundancyZone);
}
public void setSSLProperty(String attName, String attValue) {
- checkSSLPropertyModifiable();
+ checkAttribute(attName, attValue);
if (attName.startsWith(SYS_PROP_NAME)) {
attName = attName.substring(SYS_PROP_NAME.length());
}
@@ -2150,11 +2081,10 @@ public class DistributionConfigImpl
return this.groups;
}
public void setGroups(String value) {
- checkGroups(value);
if (value == null) {
value = DEFAULT_GROUPS;
}
- this.groups = value;
+ this.groups = (String)checkAttribute(GROUPS_NAME, value);
}
@Override
@@ -2182,10 +2112,6 @@ public class DistributionConfigImpl
this.jmxManagerSSL= value;
}
@Override
- public boolean isJmxManagerSSLModifiable() {
- return false;
- }
- @Override
public boolean getJmxManagerSSLEnabled() {
return this.jmxManagerSSLEnabled;
}
@@ -2219,29 +2145,29 @@ public class DistributionConfigImpl
}
public void setJmxManagerSSLKeyStore( String value ) {
- checkJmxManagerSSLKeyStore( value );
+ value = (String)checkAttribute(JMX_MANAGER_SSL_KEYSTORE_NAME, value);
this.getJmxSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_NAME, value);
this.jmxManagerSSLKeyStore = value;
}
public void setJmxManagerSSLKeyStoreType( String value ) {
- checkJmxManagerSSLKeyStoreType( value );
+ value =(String)checkAttribute(JMX_MANAGER_SSL_KEYSTORE_TYPE_NAME, value);
this.getJmxSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_TYPE_NAME, value);
this.jmxManagerSSLKeyStoreType = value;
}
public void setJmxManagerSSLKeyStorePassword( String value ) {
- checkJmxManagerSSLKeyStorePassword( value );
+ value = (String)checkAttribute(JMX_MANAGER_SSL_KEYSTORE_PASSWORD_NAME, value);
this.getJmxSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_PASSWORD_NAME, value);
this.jmxManagerSSLKeyStorePassword = value;
}
public void setJmxManagerSSLTrustStore( String value ) {
- checkJmxManagerSSLTrustStore( value );
+ value = (String)checkAttribute(JMX_MANAGER_SSL_TRUSTSTORE_NAME, value);
this.getJmxSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_NAME, value);
this.jmxManagerSSLTrustStore = value;
}
public void setJmxManagerSSLTrustStorePassword( String value ) {
- checkJmxManagerSSLTrustStorePassword( value );
+ value = (String)checkAttribute(JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD_NAME, value);
this.getJmxSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_PASSWORD_NAME, value);
- this.jmxManagerSSLTrustStorePassword = value;
+ this.jmxManagerSSLTrustStorePassword =value;
}
public String getJmxManagerSSLKeyStore( ){
@@ -2269,8 +2195,7 @@ public class DistributionConfigImpl
}
@Override
public void setJmxManagerPort(int value) {
- checkJmxManagerPort(value);
- this.jmxManagerPort = value;
+ this.jmxManagerPort = (Integer)checkAttribute(JMX_MANAGER_PORT_NAME, value);
}
@Override
public String getJmxManagerBindAddress() {
@@ -2281,8 +2206,7 @@ public class DistributionConfigImpl
if (value == null) {
value = "";
}
- checkJmxManagerBindAddress(value);
- this.jmxManagerBindAddress = value;
+ this.jmxManagerBindAddress = (String)checkAttribute(JMX_MANAGER_BIND_ADDRESS_NAME, value);
}
@Override
public String getJmxManagerHostnameForClients() {
@@ -2293,8 +2217,7 @@ public class DistributionConfigImpl
if (value == null) {
value = "";
}
- checkJmxManagerHostnameForClients(value);
- this.jmxManagerHostnameForClients = value;
+ this.jmxManagerHostnameForClients = (String)checkAttribute(JMX_MANAGER_HOSTNAME_FOR_CLIENTS_NAME, value);
}
@Override
public String getJmxManagerPasswordFile() {
@@ -2305,8 +2228,7 @@ public class DistributionConfigImpl
if (value == null) {
value = "";
}
- checkJmxManagerPasswordFile(value);
- this.jmxManagerPasswordFile = value;
+ this.jmxManagerPasswordFile = (String)checkAttribute(JMX_MANAGER_PASSWORD_FILE_NAME, value);
}
@Override
public String getJmxManagerAccessFile() {
@@ -2317,8 +2239,7 @@ public class DistributionConfigImpl
if (value == null) {
value = "";
}
- checkJmxManagerAccessFile(value);
- this.jmxManagerAccessFile = value;
+ this.jmxManagerAccessFile = (String)checkAttribute(JMX_MANAGER_ACCESS_FILE_NAME, value);
}
@Override
@@ -2338,8 +2259,7 @@ public class DistributionConfigImpl
@Override
public void setJmxManagerUpdateRate(int value) {
- checkJmxManagerUpdateRate(value);
- this.jmxManagerUpdateRate = value;
+ this.jmxManagerUpdateRate = (Integer)checkAttribute(JMX_MANAGER_UPDATE_RATE_NAME, value);
}
@Override
@@ -3177,15 +3097,14 @@ public class DistributionConfigImpl
* @see com.gemstone.gemfire.distributed.internal.DistributionConfig#setMembershipPortRange(int[])
*/
public void setMembershipPortRange(int[] range) {
- checkMembershipPortRange(range);
- membershipPortRange = range;
+ membershipPortRange = (int[])checkAttribute(MEMBERSHIP_PORT_RANGE_NAME, range);
}
/**
* Set the host-port information of remote site locator
*/
public void setRemoteLocators(String value) {
- this.remoteLocators = checkRemoteLocators(value);
+ this.remoteLocators = (String)checkAttribute(REMOTE_LOCATORS_NAME, value);
}
/**
@@ -3206,8 +3125,7 @@ public class DistributionConfigImpl
@Override
public void setMemcachedPort(int value) {
- checkMemcachedPort(value);
- this.memcachedPort = value;
+ this.memcachedPort = (Integer)checkAttribute(MEMCACHED_PORT_NAME, value);
}
@Override
@@ -3217,8 +3135,7 @@ public class DistributionConfigImpl
@Override
public void setMemcachedProtocol(String protocol) {
- checkMemcachedProtocol(protocol);
- this.memcachedProtocol = protocol;
+ this.memcachedProtocol = (String)checkAttribute(MEMCACHED_PROTOCOL_NAME, protocol);
}
@Override
@@ -3228,8 +3145,7 @@ public class DistributionConfigImpl
@Override
public void setRedisPort(int value) {
- checkRedisPort(value);
- this.redisPort = value;
+ this.redisPort = (Integer)checkAttribute(REDIS_PORT_NAME, value);
}
@Override
@@ -3239,8 +3155,7 @@ public class DistributionConfigImpl
@Override
public void setRedisBindAddress(String bindAddress) {
- checkRedisBindAddress(bindAddress);
- this.redisBindAddress = bindAddress;
+ this.redisBindAddress = (String)checkAttribute(REDIS_BIND_ADDRESS_NAME, bindAddress);
}
@Override
@@ -3260,12 +3175,7 @@ public class DistributionConfigImpl
@Override
public void setOffHeapMemorySize(String value) {
- checkOffHeapMemorySize(value);
- this.offHeapMemorySize = value;
- }
-
- protected void checkOffHeapMemorySize(String value) {
- super.checkOffHeapMemorySize(value);
+ this.offHeapMemorySize = (String)checkAttribute(OFF_HEAP_MEMORY_SIZE_NAME, value);
}
@Override
@@ -3275,14 +3185,12 @@ public class DistributionConfigImpl
@Override
public void setMemcachedBindAddress(String bindAddress) {
- checkMemcachedBindAddress(bindAddress);
- this.memcachedBindAddress = bindAddress;
+ this.memcachedBindAddress = (String)checkAttribute(MEMCACHED_BIND_ADDRESS_NAME, bindAddress);
}
@Override
public void setEnableClusterConfiguration(boolean value) {
- checkEnableSharedConfiguration();
- this.enableSharedConfiguration = value;
+ this.enableSharedConfiguration = (Boolean)checkAttribute(ENABLE_CLUSTER_CONFIGURATION_NAME, value);
}
@Override
@@ -3293,8 +3201,7 @@ public class DistributionConfigImpl
@Override
public void setUseSharedConfiguration(boolean newValue) {
- checkUseSharedConfiguration();
- this.useSharedConfiguration = newValue;
+ this.useSharedConfiguration = (Boolean)checkAttribute(USE_CLUSTER_CONFIGURATION_NAME, newValue);
}
@Override
@@ -3303,8 +3210,7 @@ public class DistributionConfigImpl
}
@Override
public void setLoadClusterConfigFromDir(boolean newValue) {
- checkLoadSharedConfigFromDir();
- this.loadSharedConfigurationFromDir = newValue;
+ this.loadSharedConfigurationFromDir = (Boolean)checkAttribute(LOAD_CLUSTER_CONFIG_FROM_DIR_NAME, newValue);
}
@Override
@@ -3314,8 +3220,7 @@ public class DistributionConfigImpl
@Override
public void setClusterConfigDir(String clusterConfigDir) {
- checkClusterConfigDir();
- this.clusterConfigDir = clusterConfigDir;
+ this.clusterConfigDir = (String)checkAttribute(CLUSTER_CONFIGURATION_DIR, clusterConfigDir);
}
@Override
@@ -3329,8 +3234,7 @@ public class DistributionConfigImpl
@Override
public void setServerSSLEnabled(boolean value) {
- checkServerSSLEnabled();
- this.serverSSLEnabled = value;
+ this.serverSSLEnabled = (Boolean)checkAttribute(SERVER_SSL_ENABLED_NAME, value);
}
@@ -3341,8 +3245,7 @@ public class DistributionConfigImpl
@Override
public void setServerSSLRequireAuthentication(boolean value) {
- checkServerSSLRequireAuthentication();
- this.serverSslRequireAuthentication = value;
+ this.serverSslRequireAuthentication = (Boolean)checkAttribute(SERVER_SSL_REQUIRE_AUTHENTICATION_NAME, value);
}
@Override
@@ -3352,8 +3255,7 @@ public class DistributionConfigImpl
@Override
public void setServerSSLProtocols(String protocols) {
- checkServerSSLProtocols();
- this.serverSslProtocols = protocols;
+ this.serverSslProtocols = (String)checkAttribute(SERVER_SSL_PROTOCOLS_NAME, protocols);
}
@Override
@@ -3363,32 +3265,31 @@ public class DistributionConfigImpl
@Override
public void setServerSSLCiphers(String ciphers) {
- checkServerSSLCiphers();
- this.serverSslCiphers = ciphers;
+ this.serverSslCiphers = (String)checkAttribute(SERVER_SSL_CIPHERS_NAME, ciphers);
}
public void setServerSSLKeyStore( String value ) {
- checkServerSSLKeyStore( value );
+ value = (String)checkAttribute(SERVER_SSL_KEYSTORE_NAME, value);
this.getServerSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_NAME, value);
this.serverSSLKeyStore = value;
}
public void setServerSSLKeyStoreType( String value ) {
- checkServerSSLKeyStoreType( value );
+ value = (String)checkAttribute(SERVER_SSL_KEYSTORE_TYPE_NAME, value);
this.getServerSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_TYPE_NAME, value);
this.serverSSLKeyStoreType = value;
}
public void setServerSSLKeyStorePassword( String value ) {
- checkServerSSLKeyStorePassword( value );
+ value = (String) checkAttribute(SERVER_SSL_KEYSTORE_PASSWORD_NAME, value );
this.getServerSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_PASSWORD_NAME, value);
this.serverSSLKeyStorePassword = value;
}
public void setServerSSLTrustStore( String value ) {
- checkServerSSLTrustStore( value );
+ value = (String)checkAttribute(SERVER_SSL_TRUSTSTORE_NAME, value);
this.getServerSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_NAME, value);
this.serverSSLTrustStore = value;
}
public void setServerSSLTrustStorePassword( String value ) {
- checkServerSSLTrustStorePassword( value );
+ value = (String)checkAttribute(SERVER_SSL_TRUSTSTORE_PASSWORD_NAME, value);
this.getServerSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_PASSWORD_NAME, value);
this.serverSSLTrustStorePassword = value;
}
@@ -3424,8 +3325,7 @@ public class DistributionConfigImpl
@Override
public void setGatewaySSLEnabled(boolean value) {
- checkServerSSLEnabled();
- this.gatewaySSLEnabled = value;
+ this.gatewaySSLEnabled = (Boolean)checkAttribute(SERVER_SSL_ENABLED_NAME, value);
}
@@ -3436,8 +3336,7 @@ public class DistributionConfigImpl
@Override
public void setGatewaySSLRequireAuthentication(boolean value) {
- checkGatewaySSLRequireAuthentication();
- this.gatewaySslRequireAuthentication = value;
+ this.gatewaySslRequireAuthentication = (Boolean)checkAttribute(GATEWAY_SSL_REQUIRE_AUTHENTICATION_NAME, value);
}
@Override
@@ -3447,8 +3346,7 @@ public class DistributionConfigImpl
@Override
public void setGatewaySSLProtocols(String protocols) {
- checkServerSSLProtocols();
- this.gatewaySslProtocols = protocols;
+ this.gatewaySslProtocols = (String)checkAttribute(SERVER_SSL_PROTOCOLS_NAME, protocols);
}
@Override
@@ -3458,32 +3356,31 @@ public class DistributionConfigImpl
@Override
public void setGatewaySSLCiphers(String ciphers) {
- checkGatewaySSLCiphers();
- this.gatewaySslCiphers = ciphers;
+ this.gatewaySslCiphers = (String)checkAttribute(GATEWAY_SSL_CIPHERS_NAME, ciphers);
}
public void setGatewaySSLKeyStore( String value ) {
- checkGatewaySSLKeyStore( value );
+ checkAttribute(GATEWAY_SSL_KEYSTORE_NAME, value);
this.getGatewaySSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_NAME, value);
this.gatewaySSLKeyStore = value;
}
public void setGatewaySSLKeyStoreType( String value ) {
- checkGatewaySSLKeyStoreType( value );
+ checkAttribute(GATEWAY_SSL_KEYSTORE_TYPE_NAME, value);
this.getGatewaySSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_TYPE_NAME, value);
this.gatewaySSLKeyStoreType = value;
}
public void setGatewaySSLKeyStorePassword( String value ) {
- checkGatewaySSLKeyStorePassword( value );
+ checkAttribute(GATEWAY_SSL_KEYSTORE_PASSWORD_NAME, value);
this.getGatewaySSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_PASSWORD_NAME, value);
this.gatewaySSLKeyStorePassword = value;
}
public void setGatewaySSLTrustStore( String value ) {
- checkGatewaySSLTrustStore( value );
+ checkAttribute(GATEWAY_SSL_TRUSTSTORE_NAME, value);
this.getGatewaySSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_NAME, value);
this.gatewaySSLTrustStore = value;
}
public void setGatewaySSLTrustStorePassword( String value ) {
- checkGatewaySSLTrustStorePassword( value );
+ checkAttribute(GATEWAY_SSL_TRUSTSTORE_PASSWORD_NAME, value);
this.getGatewaySSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_PASSWORD_NAME, value);
this.gatewaySSLTrustStorePassword = value;
}
@@ -3560,7 +3457,7 @@ public class DistributionConfigImpl
@Override
public void setHttpServiceSSLKeyStore(String httpServiceSSLKeyStore) {
- checkHttpServiceSSLKeyStore(httpServiceSSLKeyStore);
+ checkAttribute(HTTP_SERVICE_SSL_KEYSTORE_NAME, httpServiceSSLKeyStore);
this.getHttpServiceSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_NAME, httpServiceSSLKeyStore);
this.httpServiceSSLKeyStore = httpServiceSSLKeyStore;
}
@@ -3572,7 +3469,7 @@ public class DistributionConfigImpl
@Override
public void setHttpServiceSSLKeyStoreType(String httpServiceSSLKeyStoreType) {
- checkHttpServiceSSLKeyStoreType(httpServiceSSLKeyStoreType);
+ checkAttribute(HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME, httpServiceSSLKeyStoreType);
this.getHttpServiceSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_TYPE_NAME, httpServiceSSLKeyStoreType);
this.httpServiceSSLKeyStoreType = httpServiceSSLKeyStoreType;
}
@@ -3584,7 +3481,7 @@ public class DistributionConfigImpl
@Override
public void setHttpServiceSSLKeyStorePassword(String httpServiceSSLKeyStorePassword) {
- checkHttpServiceSSLKeyStorePassword(httpServiceSSLKeyStorePassword);
+ checkAttribute(HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, httpServiceSSLKeyStorePassword);
this.getHttpServiceSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + KEY_STORE_PASSWORD_NAME,
httpServiceSSLKeyStorePassword);
this.httpServiceSSLKeyStorePassword = httpServiceSSLKeyStorePassword;
@@ -3597,7 +3494,7 @@ public class DistributionConfigImpl
@Override
public void setHttpServiceSSLTrustStore(String httpServiceSSLTrustStore) {
- checkHttpServiceSSLTrustStore(httpServiceSSLTrustStore);
+ checkAttribute(HTTP_SERVICE_SSL_TRUSTSTORE_NAME, httpServiceSSLTrustStore);
this.getHttpServiceSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_NAME, httpServiceSSLTrustStore);
this.httpServiceSSLTrustStore = httpServiceSSLTrustStore;
}
@@ -3609,7 +3506,7 @@ public class DistributionConfigImpl
@Override
public void setHttpServiceSSLTrustStorePassword(String httpServiceSSLTrustStorePassword) {
- checkHttpServiceSSLTrustStorePassword(httpServiceSSLTrustStorePassword);
+ checkAttribute(HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME, httpServiceSSLTrustStorePassword);
this.getHttpServiceSSLProperties().setProperty(SSL_SYSTEM_PROPS_NAME + TRUST_STORE_PASSWORD_NAME,
httpServiceSSLTrustStorePassword);
this.httpServiceSSLTrustStorePassword = httpServiceSSLTrustStorePassword;
@@ -3631,4 +3528,6 @@ public class DistributionConfigImpl
this.distributedTransactions = value;
}
+
+
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/RuntimeDistributionConfigImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/RuntimeDistributionConfigImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/RuntimeDistributionConfigImpl.java
index 299744a..f2e3a62 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/RuntimeDistributionConfigImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/RuntimeDistributionConfigImpl.java
@@ -17,12 +17,14 @@
package com.gemstone.gemfire.distributed.internal;
-import java.io.File;
-
import com.gemstone.gemfire.GemFireIOException;
import com.gemstone.gemfire.internal.ConfigSource;
import com.gemstone.gemfire.internal.logging.log4j.LogWriterAppenders;
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
/**
* Provides an implementation of <code>DistributionConfig</code> that
* is used at runtime by a {@link InternalDistributedSystem}. It allows
@@ -56,33 +58,23 @@ public final class RuntimeDistributionConfigImpl
}
//////////////////// Configuration Methods ////////////////////
-
@Override
public void setLogLevel(int value) {
- checkLogLevel(value);
- this.logLevel = value;
+ this.logLevel = (Integer)checkAttribute(LOG_LEVEL_NAME, value);
getAttSourceMap().put(LOG_LEVEL_NAME, ConfigSource.runtime());
this.ds.getInternalLogWriter().setLogWriterLevel(value);
LogWriterAppenders.configChanged(LogWriterAppenders.Identifier.MAIN);
}
- @Override
- public boolean isLogLevelModifiable() {
- return true;
- }
@Override
public void setStatisticSamplingEnabled(boolean value) {
- checkStatisticSamplingEnabled(value);
- this.statisticSamplingEnabled = value;
+ this.statisticSamplingEnabled = (Boolean)checkAttribute(STATISTIC_SAMPLING_ENABLED_NAME, value);
getAttSourceMap().put(STATISTIC_SAMPLING_ENABLED_NAME, ConfigSource.runtime());
}
- @Override
- public boolean isStatisticSamplingEnabledModifiable() {
- return true;
- }
+
@Override
public void setStatisticSampleRate(int value) {
- checkStatisticSampleRate(value);
+ value = (Integer)checkAttribute(STATISTIC_SAMPLE_RATE_NAME, value);
if (value < DEFAULT_STATISTIC_SAMPLE_RATE) {
// fix 48228
this.ds.getLogWriter().info("Setting statistic-sample-rate to " + DEFAULT_STATISTIC_SAMPLE_RATE + " instead of the requested " + value + " because VSD does not work with sub-second sampling.");
@@ -90,13 +82,10 @@ public final class RuntimeDistributionConfigImpl
}
this.statisticSampleRate = value;
}
- @Override
- public boolean isStatisticSampleRateModifiable() {
- return true;
- }
+
@Override
public void setStatisticArchiveFile(File value) {
- checkStatisticArchiveFile(value);
+ value = (File)checkAttribute(STATISTIC_ARCHIVE_FILE_NAME, value);
if (value == null) {
value = new File("");
}
@@ -108,55 +97,42 @@ public final class RuntimeDistributionConfigImpl
this.statisticArchiveFile = value;
getAttSourceMap().put(STATISTIC_ARCHIVE_FILE_NAME, ConfigSource.runtime());
}
- @Override
- public boolean isStatisticArchiveFileModifiable() {
- return true;
- }
+
@Override
public void setArchiveDiskSpaceLimit(int value) {
- checkArchiveDiskSpaceLimit(value);
- this.archiveDiskSpaceLimit = value;
+ this.archiveDiskSpaceLimit = (Integer)checkAttribute(ARCHIVE_DISK_SPACE_LIMIT_NAME, value);
getAttSourceMap().put(ARCHIVE_DISK_SPACE_LIMIT_NAME, ConfigSource.runtime());
}
- @Override
- public boolean isArchiveDiskSpaceLimitModifiable() {
- return true;
- }
+
@Override
public void setArchiveFileSizeLimit(int value) {
- checkArchiveFileSizeLimit(value);
- this.archiveFileSizeLimit = value;
+ this.archiveFileSizeLimit = (Integer)checkAttribute(ARCHIVE_FILE_SIZE_LIMIT_NAME, value);
getAttSourceMap().put(ARCHIVE_FILE_SIZE_LIMIT_NAME, ConfigSource.runtime());
}
- @Override
- public boolean isArchiveFileSizeLimitModifiable() {
- return true;
- }
+
@Override
public void setLogDiskSpaceLimit(int value) {
- checkLogDiskSpaceLimit(value);
- this.logDiskSpaceLimit = value;
+ this.logDiskSpaceLimit = (Integer)checkAttribute(LOG_DISK_SPACE_LIMIT_NAME, value);
getAttSourceMap().put(LOG_DISK_SPACE_LIMIT_NAME, ConfigSource.runtime());
LogWriterAppenders.configChanged(LogWriterAppenders.Identifier.MAIN);
}
- @Override
- public boolean isLogDiskSpaceLimitModifiable() {
- return true;
- }
+
@Override
public void setLogFileSizeLimit(int value) {
- checkLogFileSizeLimit(value);
- this.logFileSizeLimit = value;
+ this.logFileSizeLimit = (Integer)checkAttribute(LOG_FILE_SIZE_LIMIT_NAME, value);
getAttSourceMap().put(this.LOG_FILE_SIZE_LIMIT_NAME, ConfigSource.runtime());
LogWriterAppenders.configChanged(LogWriterAppenders.Identifier.MAIN);
}
- @Override
- public boolean isLogFileSizeLimitModifiable() {
- return true;
- }
public DistributionConfig takeSnapshot() {
return new DistributionConfigSnapshot(this);
}
+
+ public List<String> getModifiableAttributes(){
+ String[] modifiables = {HTTP_SERVICE_PORT_NAME,JMX_MANAGER_HTTP_PORT_NAME, ARCHIVE_DISK_SPACE_LIMIT_NAME,
+ ARCHIVE_FILE_SIZE_LIMIT_NAME, LOG_DISK_SPACE_LIMIT_NAME, LOG_FILE_SIZE_LIMIT_NAME,
+ LOG_LEVEL_NAME, STATISTIC_ARCHIVE_FILE_NAME, STATISTIC_SAMPLE_RATE_NAME, STATISTIC_SAMPLING_ENABLED_NAME};
+ return Arrays.asList(modifiables);
+ };
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/internal/AbstractConfig.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/AbstractConfig.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/AbstractConfig.java
index ddf2970..ee4aceb 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/AbstractConfig.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/AbstractConfig.java
@@ -17,31 +17,18 @@
package com.gemstone.gemfire.internal;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.lang.reflect.Array;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.TreeSet;
-
import com.gemstone.gemfire.InternalGemFireException;
import com.gemstone.gemfire.UnmodifiableException;
-import com.gemstone.gemfire.distributed.internal.AbstractDistributionConfig;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
import com.gemstone.gemfire.distributed.internal.FlowControlParams;
import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
+import java.io.*;
+import java.lang.reflect.Array;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.*;
+
/**
* Provides an implementation of the {@link Config} interface
* that implements functionality that all {@link Config} implementations
@@ -71,16 +58,6 @@ public abstract class AbstractConfig implements Config {
protected boolean _modifiableDefault() {
return false;
}
-
- /**
- * Checks to see if the named attribute can be modified.
- * @throws UnmodifiableException if it is unmodifiable.
- */
- protected void _checkIfModifiable(String attName) {
- if (!isAttributeModifiable(attName)) {
- throw new UnmodifiableException(_getUnmodifiableMsg(attName));
- }
- }
/**
* Use {@link #toLoggerString()} instead. If you need to override this in a
@@ -117,7 +94,6 @@ public abstract class AbstractConfig implements Config {
public Map<String, String> getConfigPropsFromSource(ConfigSource source) {
Map<String, String> configProps = new HashMap<String, String>();
String[] validAttributeNames = getAttributeNames();
- boolean sourceFound = false;
Map<String, ConfigSource> sm = getAttSourceMap();
for (int i=0; i < validAttributeNames.length; i++) {
@@ -128,14 +104,6 @@ public abstract class AbstractConfig implements Config {
}
} else if (!source.equals(sm.get(attName))) {
continue;
- }
- if (!sourceFound) {
- sourceFound = true;
- if (source == null) {
- //configProps.put(sourceHeader, "### GemFire Properties using default values ###");
- } else {
- //configProps.put(sourceHeader, "### GemFire Properties defined with " + source.getDescription() + " ###");
- }
}
configProps.put(attName, this.getAttribute(attName));
}
@@ -328,12 +296,18 @@ public abstract class AbstractConfig implements Config {
Object result = getAttributeObject(attName);
if (result instanceof String) {
return (String)result;
- } if (attName.equalsIgnoreCase(DistributionConfig.MEMBERSHIP_PORT_RANGE_NAME)) {
+ }
+
+ if (attName.equalsIgnoreCase(DistributionConfig.MEMBERSHIP_PORT_RANGE_NAME)) {
int[] value = (int[])result;
return ""+value[0]+"-"+value[1];
- } else if (result.getClass().isArray()) {
+ }
+
+ if (result.getClass().isArray()) {
return SystemAdmin.join((Object[])result);
- } else if (result instanceof InetAddress) {
+ }
+
+ if (result instanceof InetAddress) {
InetAddress addr = (InetAddress)result;
String addrName = null;
if (addr.isMulticastAddress() || !SocketCreator.resolve_dns) {
@@ -342,9 +316,9 @@ public abstract class AbstractConfig implements Config {
addrName = SocketCreator.getHostName(addr);
}
return addrName;
- } else {
- return result.toString();
}
+
+ return result.toString();
}
public ConfigSource getAttributeSource(String attName) {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/internal/ConfigSource.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/ConfigSource.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/ConfigSource.java
index 08f51e4..6991b3b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/ConfigSource.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/ConfigSource.java
@@ -29,10 +29,31 @@ public class ConfigSource implements Serializable {
public enum Type {API, SYSTEM_PROPERTY, FILE, SECURE_FILE, XML, RUNTIME, LAUNCHER};
private final Type type;
private final String description;
-
- private ConfigSource(Type t, String d) {
+
+ private ConfigSource(Type t) {
this.type = t;
- this.description = d;
+ switch (t) {
+ case API: this.description = "api"; break;
+ case SYSTEM_PROPERTY: this.description = "system property"; break;
+ case FILE: this.description = "file"; break;
+ case SECURE_FILE: this.description = "secure file"; break;
+ case XML: this.description = "cache.xml"; break;
+ case RUNTIME: this.description = "runtime modification"; break;
+ case LAUNCHER: this.description = "launcher"; break;
+ default:
+ this.description = "";
+ }
+ }
+
+ private ConfigSource(String fileName, boolean secure) {
+ if(secure) {
+ this.type = Type.SECURE_FILE;
+ this.description = (fileName==null)?"secure file":fileName;
+ }
+ else {
+ this.type = Type.FILE;
+ this.description = (fileName==null)?"file":fileName;
+ }
}
/**
* @return returns the type of this source
@@ -41,32 +62,20 @@ public class ConfigSource implements Serializable {
return this.type;
}
public String getDescription() {
- String result = this.description;
- if (result == null) {
- switch (getType()) {
- case API: result = "api"; break;
- case SYSTEM_PROPERTY: result = "system property"; break;
- case FILE: result = "file"; break;
- case SECURE_FILE: result = "secure file"; break;
- case XML: result = "cache.xml"; break;
- case RUNTIME: result = "runtime modification"; break;
- case LAUNCHER: result = "launcher"; break;
- }
- }
- return result;
+ return this.description;
}
- private static final ConfigSource API_SINGLETON = new ConfigSource(Type.API, null);
- private static final ConfigSource SYSPROP_SINGLETON = new ConfigSource(Type.SYSTEM_PROPERTY, null);
- private static final ConfigSource XML_SINGLETON = new ConfigSource(Type.XML, null);
- private static final ConfigSource RUNTIME_SINGLETON = new ConfigSource(Type.RUNTIME, null);
- private static final ConfigSource LAUNCHER_SINGLETON = new ConfigSource(Type.LAUNCHER, null);
+ private static final ConfigSource API_SINGLETON = new ConfigSource(Type.API);
+ private static final ConfigSource SYSPROP_SINGLETON = new ConfigSource(Type.SYSTEM_PROPERTY);
+ private static final ConfigSource XML_SINGLETON = new ConfigSource(Type.XML);
+ private static final ConfigSource RUNTIME_SINGLETON = new ConfigSource(Type.RUNTIME);
+ private static final ConfigSource LAUNCHER_SINGLETON = new ConfigSource(Type.LAUNCHER);
public static ConfigSource api() {return API_SINGLETON;}
public static ConfigSource sysprop() {return SYSPROP_SINGLETON;}
public static ConfigSource xml() {return XML_SINGLETON;}
public static ConfigSource runtime() {return RUNTIME_SINGLETON;}
- public static ConfigSource file(String fileName, boolean secure) {return new ConfigSource(secure ? Type.SECURE_FILE : Type.FILE, fileName);}
+ public static ConfigSource file(String fileName, boolean secure) {return new ConfigSource(fileName, secure);}
public static ConfigSource launcher() {return LAUNCHER_SINGLETON;}
@Override
@@ -87,14 +96,9 @@ public class ConfigSource implements Serializable {
if (getClass() != obj.getClass())
return false;
ConfigSource other = (ConfigSource) obj;
- if (description == null) {
- if (other.description != null)
- return false;
- } else if (!description.equals(other.description))
- return false;
- if (type != other.type)
- return false;
- return true;
+
+ return (type == other.type
+ && description.equals(other.description));
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/internal/logging/LogConfig.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/logging/LogConfig.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/logging/LogConfig.java
index 8c8dd5c..3e4fbc6 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/logging/LogConfig.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/logging/LogConfig.java
@@ -46,7 +46,17 @@ public interface LogConfig {
* property
*/
public int getLogDiskSpaceLimit();
-
+
+ /**
+ * Returns the value of the <a
+ * href="../DistributedSystem.html#name">"name"</a> property
+ * Gets the member's name.
+ * A name is optional and by default empty.
+ * If set it must be unique in the ds.
+ * When set its used by tools to help identify the member.
+ * <p> The default value is: {@link #DEFAULT_NAME}.
+ * @return the system's name.
+ */
public String getName();
public String toLoggerString();
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionConfigJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionConfigJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionConfigJUnitTest.java
new file mode 100644
index 0000000..d2b5643
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionConfigJUnitTest.java
@@ -0,0 +1,313 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal;
+
+import com.gemstone.gemfire.InternalGemFireException;
+import com.gemstone.gemfire.UnmodifiableException;
+import com.gemstone.gemfire.internal.ConfigSource;
+import com.gemstone.gemfire.test.junit.categories.UnitTest;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import java.io.File;
+import java.lang.reflect.Method;
+import java.util.*;
+
+import static org.junit.Assert.*;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * Created by jiliao on 2/2/16.
+ */
+@Category(UnitTest.class)
+
+public class DistributionConfigJUnitTest {
+ static Map<String, ConfigAttribute> attributes;
+ static Map<String, Method> setters;
+ static Map<String, Method> getters;
+ static Map<String, Method> isModifiables;
+ static Map<String, Method> checkers;
+ static String[] attNames;
+ DistributionConfigImpl config;
+
+ @BeforeClass
+ public static void beforeClass() {
+ attributes = DistributionConfig.attributes;
+ setters = DistributionConfig.setters;
+ getters = DistributionConfig.getters;
+ attNames = DistributionConfig.dcValidAttributeNames;
+ checkers = AbstractDistributionConfig.checkers;
+ }
+
+ @Before
+ public void before() {
+ config = new DistributionConfigImpl(new Properties());
+ }
+
+ @Test
+ public void testGetAttributeNames() {
+ String[] attNames = AbstractDistributionConfig._getAttNames();
+ assertEquals(attNames.length, 140);
+
+ List boolList = new ArrayList();
+ List intList = new ArrayList();
+ List fileList = new ArrayList();
+ List stringList = new ArrayList();
+ List otherList = new ArrayList();
+ for (String attName : attNames) {
+ Class clazz = AbstractDistributionConfig._getAttributeType(attName);
+ if (clazz.equals(Boolean.class)) {
+ boolList.add(attName);
+ } else if (clazz.equals(Integer.class)) {
+ intList.add(attName);
+ } else if (clazz.equals(String.class)) {
+ stringList.add(attName);
+ } else if (clazz.equals(File.class)) {
+ fileList.add(attName);
+ } else {
+ otherList.add(attName);
+ }
+ }
+
+ System.out.println("boolList: " + boolList);
+ System.out.println();
+ System.out.println("intList: " + intList);
+ System.out.println();
+ System.out.println("stringlList: " + stringList);
+ System.out.println();
+ System.out.println("filelList: " + fileList);
+ System.out.println();
+ System.out.println("otherList: " + otherList);
+ assertEquals(boolList.size(), 30);
+ assertEquals(intList.size(), 33);
+ assertEquals(stringList.size(), 69);
+ assertEquals(fileList.size(), 5);
+ assertEquals(otherList.size(), 3);
+ }
+
+ @Test
+ public void sameCount() {
+ assertEquals(attributes.size(), setters.size());
+ assertEquals(setters.size(), getters.size());
+ }
+
+ @Test
+ public void everyAttrHasValidSetter() {
+ for (String attr : attributes.keySet()) {
+ Method setter = setters.get(attr);
+ assertNotNull(attr + " should have a setter", setter);
+ assertTrue(setter.getName().startsWith("set"));
+ assertEquals(setter.getParameterCount(), 1);
+
+ if (!(attr.equalsIgnoreCase(DistributionConfig.LOG_LEVEL_NAME) || attr.equalsIgnoreCase(DistributionConfig.SECURITY_LOG_LEVEL_NAME))) {
+ Class clazz = attributes.get(attr).type();
+ try {
+ setter.invoke(mock(DistributionConfig.class), any(clazz));
+ } catch (Exception e) {
+ throw new RuntimeException("Error calling setter " + setter.getName(), e);
+ }
+ }
+
+ }
+ }
+
+ @Test
+ public void everyAttrHasValidGetter() {
+ for (String attr : attributes.keySet()) {
+ Method getter = getters.get(attr);
+ assertNotNull(attr + " should have a getter", getter);
+ assertTrue(getter.getName().startsWith("get"));
+ assertEquals(getter.getParameterCount(), 0);
+
+ if (!(attr.equalsIgnoreCase(DistributionConfig.LOG_LEVEL_NAME) || attr.equalsIgnoreCase(DistributionConfig.SECURITY_LOG_LEVEL_NAME))) {
+ Class clazz = attributes.get(attr).type();
+ Class returnClass = getter.getReturnType();
+ if (returnClass.isPrimitive()) {
+ returnClass = classMap.get(returnClass);
+ }
+ assertEquals(returnClass, clazz);
+ }
+ }
+ }
+
+ @Test
+ public void everyGetterSetterSameNameSameType() {
+ for (String attr : getters.keySet()) {
+ Method getter = getters.get(attr);
+ Method setter = setters.get(attr);
+ assertNotNull("every getter should have a corresponding setter " + attr, setter);
+ String setterName = setter.getName();
+ String getterName = getter.getName();
+ assertEquals(setterName.substring(setterName.indexOf("set") + 3), getterName.substring(getterName.indexOf("get") + 3));
+ assertEquals(setter.getParameterTypes()[0], getter.getReturnType());
+ }
+
+ for (String attr : setters.keySet()) {
+ Method getter = getters.get(attr);
+ assertNotNull("every setter should have a corresponding getter: " + attr, getter);
+ }
+ }
+
+ @Test
+ public void everySetterHasAttributeDefined() {
+ for (String attr : setters.keySet()) {
+ ConfigAttribute configAttribute = attributes.get(attr);
+ assertNotNull(attr + " should be defined a ConfigAttribute", configAttribute);
+ }
+ }
+
+ @Test
+ public void everyGetterHasAttributeDefined() {
+ for (String attr : getters.keySet()) {
+ ConfigAttribute configAttribute = attributes.get(attr);
+ assertNotNull(attr + " should be defined a ConfigAttribute", configAttribute);
+ }
+ }
+
+ @Test
+ public void testGetAttributeObject() {
+ assertEquals(config.getAttributeObject(DistributionConfig.LOG_LEVEL_NAME), "config");
+ assertEquals(config.getAttributeObject(DistributionConfig.SECURITY_LOG_LEVEL_NAME), "config");
+ assertEquals(config.getAttributeObject(DistributionConfig.REDUNDANCY_ZONE_NAME), "");
+ assertEquals(config.getAttributeObject(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME).getClass(), Boolean.class);
+ }
+
+ @Test
+ public void testCheckerChecksValidAttribute() {
+ for (String att : checkers.keySet()) {
+ assertTrue(attributes.containsKey(att));
+ Method checker = checkers.get(att);
+ assertEquals(checker.getParameterCount(), 1);
+ assertEquals("invalid checker: " + checker.getName(), checker.getReturnType(), checker.getParameterTypes()[0]);
+
+ //TODO assert checker and setter accepts this same type of parameter
+ }
+ }
+
+ @Test
+ public void testDistributionConfigImplModifiable() {
+ // default DistributionConfigImpl contains only 2 modifiable attributes
+ List modifiables = new ArrayList<>();
+ for (String attName : attNames) {
+ if (config.isAttributeModifiable(attName)) {
+ modifiables.add(attName);
+ }
+ }
+ assertEquals(modifiables.size(), 2);
+ assertEquals(modifiables.get(0), "http-service-port");
+ assertEquals(modifiables.get(1), "jmx-manager-http-port");
+ }
+
+ @Test
+ public void testRuntimeConfigModifiable() {
+ InternalDistributedSystem ds = mock(InternalDistributedSystem.class);
+ when(ds.getOriginalConfig()).thenReturn(config);
+ RuntimeDistributionConfigImpl runtime = new RuntimeDistributionConfigImpl(ds);
+ List modifiables = new ArrayList<>();
+ for (String attName : attNames) {
+ if (runtime.isAttributeModifiable(attName)) {
+ modifiables.add(attName);
+ }
+ }
+ assertEquals(modifiables.size(), 10);
+ assertEquals(modifiables.get(0), "archive-disk-space-limit");
+ assertEquals(modifiables.get(1), "archive-file-size-limit");
+ assertEquals(modifiables.get(2), "http-service-port");
+ assertEquals(modifiables.get(3), "jmx-manager-http-port");
+ assertEquals(modifiables.get(4), "log-disk-space-limit");
+ assertEquals(modifiables.get(5), "log-file-size-limit");
+ assertEquals(modifiables.get(6), "log-level");
+ assertEquals(modifiables.get(7), "statistic-archive-file");
+ assertEquals(modifiables.get(8), "statistic-sample-rate");
+ assertEquals(modifiables.get(9), "statistic-sampling-enabled");
+
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testSetInvalidAttributeObject() {
+ config.setAttributeObject("fake attribute", "test", ConfigSource.api());
+ }
+
+ @Test(expected = UnmodifiableException.class)
+ public void testSetUnmodifiableAttributeObject() {
+ config.setAttributeObject("archive-disk-space-limit", 0, ConfigSource.api());
+ }
+
+ @Test
+ public void testValidAttributeObject() {
+ config.setAttributeObject("http-service-port", 8080, ConfigSource.api());
+ assertEquals(config.getHttpServicePort(), 8080);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testOutOfRangeAttributeObject() {
+ config.setAttributeObject("http-service-port", -1, ConfigSource.api());
+ }
+
+ @Test
+ public void testLogLevel() {
+ config.modifiable = true;
+ config.setAttribute(DistributionConfig.LOG_LEVEL_NAME, "config", ConfigSource.api());
+ assertEquals(config.getLogLevel(), 700);
+
+ config.setAttributeObject(DistributionConfig.SECURITY_LOG_LEVEL_NAME, "debug", ConfigSource.api());
+ assertEquals(config.getSecurityLogLevel(), 500);
+ }
+
+ @Test
+ public void testValidLocatorAddress() {
+ String address = "81.240.0.1[7056]";
+ config.modifiable = true;
+ config.setStartLocator(address);
+ assertEquals(config.getStartLocator(), address);
+ }
+
+ @Test(expected = InternalGemFireException.class)
+ public void testInvalidLocatorAddress() {
+ String address = "bad.bad[7056]";
+ config.modifiable = true;
+ config.setStartLocator(address);
+ }
+
+ @Test
+ public void testAttributesAlwaysModifiable() {
+ config.modifiable = false;
+ assertTrue(config.isAttributeModifiable(DistributionConfig.HTTP_SERVICE_PORT_NAME));
+ assertTrue(config.isAttributeModifiable("jmx-manager-http-port"));
+
+ config.modifiable = true;
+ assertTrue(config.isAttributeModifiable(DistributionConfig.HTTP_SERVICE_PORT_NAME));
+ assertTrue(config.isAttributeModifiable("jmx-manager-http-port"));
+ }
+
+ public final static Map<Class<?>, Class<?>> classMap = new HashMap<Class<?>, Class<?>>();
+
+ static {
+ classMap.put(boolean.class, Boolean.class);
+ classMap.put(byte.class, Byte.class);
+ classMap.put(short.class, Short.class);
+ classMap.put(char.class, Character.class);
+ classMap.put(int.class, Integer.class);
+ classMap.put(long.class, Long.class);
+ classMap.put(float.class, Float.class);
+ classMap.put(double.class, Double.class);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/test/java/com/gemstone/gemfire/internal/ConfigSourceJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/ConfigSourceJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/ConfigSourceJUnitTest.java
new file mode 100644
index 0000000..73cd9a0
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/ConfigSourceJUnitTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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 com.gemstone.gemfire.internal;
+
+import com.gemstone.gemfire.test.junit.categories.UnitTest;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by jiliao on 2/2/16.
+ */
+@Category(UnitTest.class)
+public class ConfigSourceJUnitTest {
+ @Test
+ public void testDescriptions() {
+ ConfigSource cs = ConfigSource.api();
+ assertEquals(cs.getDescription(), "api");
+
+ cs = ConfigSource.file("test", true);
+ assertEquals(cs.getDescription(), "test");
+
+ cs = ConfigSource.file("test2", false);
+ assertEquals(cs.getDescription(), "test2");
+
+ cs = ConfigSource.file(null, true);
+ assertEquals(cs.getDescription(), "secure file");
+
+ cs = ConfigSource.file(null, false);
+ assertEquals(cs.getDescription(), "file");
+
+ cs = ConfigSource.file("", true);
+ assertEquals(cs.getDescription(), "");
+
+ cs = ConfigSource.launcher();
+ assertEquals(cs.getDescription(), "launcher");
+
+ cs = ConfigSource.sysprop();
+ assertEquals(cs.getDescription(), "system property");
+
+ cs = ConfigSource.runtime();
+ assertEquals(cs.getDescription(), "runtime modification");
+
+ cs = ConfigSource.xml();
+ assertEquals(cs.getDescription(), "cache.xml");
+ }
+
+ @Test
+ public void testEquals() {
+ ConfigSource cs1 = ConfigSource.file("name", true);
+ ConfigSource cs2 = ConfigSource.file("name", false);
+ assertFalse(cs1.equals(cs2));
+
+ cs1 = ConfigSource.file("name", true);
+ cs2 = ConfigSource.file("name", true);
+ assertTrue(cs1.equals(cs2));
+
+ cs1 = ConfigSource.file(null, true);
+ cs2 = ConfigSource.file(null, false);
+ assertFalse(cs1.equals(cs2));
+
+ cs1 = ConfigSource.file(null, true);
+ cs2 = ConfigSource.file(null, true);
+ assertTrue(cs1.equals(cs2));
+
+ cs1 = ConfigSource.file(null, true);
+ cs2 = ConfigSource.file("", true);
+ assertFalse(cs1.equals(cs2));
+
+ cs1 = ConfigSource.xml();
+ cs2 = ConfigSource.xml();
+ assertTrue(cs1.equals(cs2));
+ }
+}
[4/5] incubator-geode git commit: GEODE-913: refactor
AbstractDistributionConfig
Posted by ji...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java
index 0cc76ec..0c099fd 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/AbstractDistributionConfig.java
@@ -16,19 +16,9 @@
*/
package com.gemstone.gemfire.distributed.internal;
-import java.io.File;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
import com.gemstone.gemfire.InternalGemFireException;
import com.gemstone.gemfire.InvalidValueException;
+import com.gemstone.gemfire.UnmodifiableException;
import com.gemstone.gemfire.internal.AbstractConfig;
import com.gemstone.gemfire.internal.ConfigSource;
import com.gemstone.gemfire.internal.SocketCreator;
@@ -37,6 +27,11 @@ import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
import com.gemstone.gemfire.internal.logging.LogWriterImpl;
import com.gemstone.gemfire.memcached.GemFireMemcachedServer;
+import java.lang.reflect.Method;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.*;
+
/**
* Provides an implementation of <code>DistributionConfig</code> that
* knows how to read the configuration file.
@@ -54,162 +49,97 @@ public abstract class AbstractDistributionConfig
extends AbstractConfig
implements DistributionConfig
{
- protected void checkName(String value) {
- _checkIfModifiable(NAME_NAME);
- }
- public boolean isNameModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isEnableNetworkPartitionDetectionModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isDisableAutoReconnectModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isDepartureCorrelationWindowModifiable() {
- return _modifiableDefault();
- }
- protected void checkLogFile(File value) {
- _checkIfModifiable(LOG_FILE_NAME);
- }
- public boolean isLogFileModifiable() {
- return _modifiableDefault();
- }
+ protected Object checkAttribute(String attName, Object value){
+ // first check to see if this attribute is modifiable, this also checks if the attribute is a valid one.
+ if (!isAttributeModifiable(attName)) {
+ throw new UnmodifiableException(_getUnmodifiableMsg(attName));
+ }
- protected void checkLogLevel(int value) {
- _checkIfModifiable(LOG_LEVEL_NAME);
- if (value < MIN_LOG_LEVEL) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {LOG_LEVEL_NAME, Integer.valueOf(value), Integer.valueOf(MIN_LOG_LEVEL)}));
+ ConfigAttribute attribute = attributes.get(attName);
+ if(attribute==null){
+ // isAttributeModifiable already checks the validity of the attName, if reached here, then they
+ // must be those special attributes that starts with ssl_system_props or sys_props, no further checking needed
+ return value;
}
- if (value > MAX_LOG_LEVEL) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {LOG_LEVEL_NAME, Integer.valueOf(value), Integer.valueOf(MAX_LOG_LEVEL)}));
+ // for integer attribute, do the range check.
+ if(attribute.type().equals(Integer.class)){
+ Integer intValue = (Integer)value;
+ minMaxCheck(attName, intValue, attribute.min(), attribute.max());
+ }
+
+ Method checker = checkers.get(attName);
+ if(checker==null)
+ return value;
+
+ // if specific checker exists for this attribute, call that with the value
+ try {
+ return checker.invoke(this, value);
+ } catch (Exception e) {
+ if(e instanceof RuntimeException){
+ throw (RuntimeException)e;
+ }
+ if(e.getCause() instanceof RuntimeException){
+ throw (RuntimeException)e.getCause();
+ }
+ else
+ throw new InternalGemFireException("error invoking "+checker.getName()+" with value "+value);
}
}
- protected void checkStartLocator(String value) {
- _checkIfModifiable(START_LOCATOR_NAME);
+
+ protected void minMaxCheck(String propName, int value, int minValue, int maxValue) {
+ if (value < minValue) {
+ throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[]{propName, Integer.valueOf(value), Integer.valueOf(minValue)}));
+ } else if (value > maxValue) {
+ throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[]{propName, Integer.valueOf(value), Integer.valueOf(maxValue)}));
+ }
+ }
+
+
+ @ConfigAttributeChecker(name=START_LOCATOR_NAME)
+ protected String checkStartLocator(String value) {
if (value != null && value.trim().length() > 0) {
// throws IllegalArgumentException if string is malformed
new DistributionLocatorId(value);
}
+ return value;
}
- public boolean isStartLocatorModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isLogLevelModifiable() {
- return _modifiableDefault();
- }
- protected void checkTcpPort(int value) {
- _checkIfModifiable(TCP_PORT_NAME);
- if (value < MIN_TCP_PORT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {TCP_PORT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_TCP_PORT)}));
- }
- if (value > MAX_TCP_PORT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {TCP_PORT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_TCP_PORT)}));
- }
+ @ConfigAttributeChecker(name=TCP_PORT_NAME)
+ protected int checkTcpPort(int value) {
if ( getSSLEnabled() && value != 0 ) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_MUST_BE_0_WHEN_2_IS_TRUE.toLocalizedString(new Object[] {TCP_PORT_NAME, Integer.valueOf(value), SSL_ENABLED_NAME}));
}
if ( getClusterSSLEnabled() && value != 0 ) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_MUST_BE_0_WHEN_2_IS_TRUE.toLocalizedString(new Object[] {TCP_PORT_NAME, Integer.valueOf(value), CLUSTER_SSL_ENABLED_NAME}));
}
- }
- public boolean isTcpPortModifiable() {
- return _modifiableDefault();
+ return value;
}
- protected void checkMcastPort(int value) {
- _checkIfModifiable(MCAST_PORT_NAME);
- if (value < MIN_MCAST_PORT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {MCAST_PORT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_MCAST_PORT)}));
- }
- if (value > MAX_MCAST_PORT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {MCAST_PORT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_MCAST_PORT)}));
- }
+ @ConfigAttributeChecker(name=MCAST_PORT_NAME)
+ protected int checkMcastPort(int value) {
if ( getSSLEnabled() && value != 0 ) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_MUST_BE_0_WHEN_2_IS_TRUE.toLocalizedString(new Object[] {MCAST_PORT_NAME, Integer.valueOf(value), SSL_ENABLED_NAME}));
}
if ( getClusterSSLEnabled() && value != 0 ) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_MUST_BE_0_WHEN_2_IS_TRUE.toLocalizedString(new Object[] {MCAST_PORT_NAME, Integer.valueOf(value), CLUSTER_SSL_ENABLED_NAME}));
}
-
- }
- public boolean isMcastPortModifiable() {
- return _modifiableDefault();
+ return value;
}
- protected void checkMcastAddress(InetAddress value) {
- _checkIfModifiable(MCAST_ADDRESS_NAME);
+
+ @ConfigAttributeChecker(name=MCAST_ADDRESS_NAME)
+ protected InetAddress checkMcastAddress(InetAddress value) {
if (!value.isMulticastAddress()) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_IT_WAS_NOT_A_MULTICAST_ADDRESS.toLocalizedString(new Object[] {MCAST_ADDRESS_NAME, value}));
}
- }
- public boolean isMcastAddressModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkMcastTtl(int value) {
- _checkIfModifiable(MCAST_TTL_NAME);
- if (value < MIN_MCAST_TTL) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {MCAST_TTL_NAME, Integer.valueOf(value), Integer.valueOf(MIN_MCAST_TTL)}));
- }
- if (value > MAX_MCAST_TTL) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {MCAST_TTL_NAME, Integer.valueOf(value), Integer.valueOf(MAX_MCAST_TTL)}));
- }
- }
- public boolean isMcastTtlModifiable() {
- return _modifiableDefault();
+ return value;
}
- protected void checkSocketLeaseTime(int value) {
- _checkIfModifiable(SOCKET_LEASE_TIME_NAME);
- if (value < MIN_SOCKET_LEASE_TIME) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {SOCKET_LEASE_TIME_NAME, Integer.valueOf(value), Integer.valueOf(MIN_SOCKET_LEASE_TIME)}));
- }
- if (value > MAX_SOCKET_LEASE_TIME) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {SOCKET_LEASE_TIME_NAME, Integer.valueOf(value), Integer.valueOf(MAX_SOCKET_LEASE_TIME)}));
- }
- }
- public boolean isSocketLeaseTimeModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSocketBufferSize(int value) {
- _checkIfModifiable(SOCKET_BUFFER_SIZE_NAME);
- if (value < MIN_SOCKET_BUFFER_SIZE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {SOCKET_BUFFER_SIZE_NAME, Integer.valueOf(value), Integer.valueOf(MIN_SOCKET_BUFFER_SIZE)}));
- }
- if (value > MAX_SOCKET_BUFFER_SIZE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {SOCKET_BUFFER_SIZE_NAME, Integer.valueOf(value), Integer.valueOf(MAX_SOCKET_BUFFER_SIZE)}));
- }
- }
- public boolean isSocketBufferSizeModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkConserveSockets(boolean value) {
- _checkIfModifiable(CONSERVE_SOCKETS_NAME);
- }
- public boolean isConserveSocketsModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkRoles(String value) {
- _checkIfModifiable(ROLES_NAME);
- }
- public boolean isRolesModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkBindAddress(String value) {
- _checkIfModifiable(BIND_ADDRESS_NAME);
+ @ConfigAttributeChecker(name=BIND_ADDRESS_NAME)
+ protected String checkBindAddress(String value) {
if (value != null && value.length() > 0 &&
!SocketCreator.isLocalHost(value)) {
throw new IllegalArgumentException(
@@ -217,13 +147,12 @@ public abstract class AbstractDistributionConfig
.toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses()
}));
}
- }
- public boolean isBindAddressModifiable() {
- return _modifiableDefault();
+ return value;
}
- protected void checkServerBindAddress(String value) {
- _checkIfModifiable(SERVER_BIND_ADDRESS_NAME);
+
+ @ConfigAttributeChecker(name=SERVER_BIND_ADDRESS_NAME)
+ protected String checkServerBindAddress(String value) {
if (value != null && value.length() > 0 &&
!SocketCreator.isLocalHost(value)) {
throw new IllegalArgumentException(
@@ -231,66 +160,27 @@ public abstract class AbstractDistributionConfig
.toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses()
}));
}
- }
- public boolean isServerBindAddressModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkDeployWorkingDir(File value) {
- _checkIfModifiable(DEPLOY_WORKING_DIR);
- }
-
- public boolean isDeployWorkingDirModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkStatisticSamplingEnabled(boolean value) {
- _checkIfModifiable(STATISTIC_SAMPLING_ENABLED_NAME);
- }
- public boolean isStatisticSamplingEnabledModifiable() {
- return _modifiableDefault();
+ return value;
}
-
- protected void checkStatisticArchiveFile(File value) {
- _checkIfModifiable(STATISTIC_ARCHIVE_FILE_NAME);
- }
- public boolean isStatisticArchiveFileModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkCacheXmlFile(File value) {
- _checkIfModifiable(CACHE_XML_FILE_NAME);
- }
- public boolean isCacheXmlFileModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSSLEnabled(Boolean value) {
- _checkIfModifiable(SSL_ENABLED_NAME);
+ @ConfigAttributeChecker(name=SSL_ENABLED_NAME)
+ protected Boolean checkSSLEnabled(Boolean value) {
if ( value.booleanValue() && (getMcastPort() != 0) ) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_MUST_BE_FALSE_WHEN_2_IS_NOT_0.toLocalizedString(new Object[] {SSL_ENABLED_NAME, value, MCAST_PORT_NAME}));
}
+ return value;
}
-
- protected void checkClusterSSLEnabled(Boolean value) {
- _checkIfModifiable(CLUSTER_SSL_ENABLED_NAME);
+
+ @ConfigAttributeChecker(name=CLUSTER_SSL_ENABLED_NAME)
+ protected Boolean checkClusterSSLEnabled(Boolean value) {
if ( value.booleanValue() && (getMcastPort() != 0) ) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_MUST_BE_FALSE_WHEN_2_IS_NOT_0.toLocalizedString(new Object[] {CLUSTER_SSL_ENABLED_NAME, value, MCAST_PORT_NAME}));
}
+ return value;
}
- protected void checkHttpServicePort(int value) {
- minMaxCheck(HTTP_SERVICE_PORT_NAME, value, 0, 65535);
- }
-
- public boolean isHttpServicePortModifiable() {
- //Need to set "true" for hydra teststo set REST service port
- return true;
- }
-
- protected void checkHttpServiceBindAddress(String value) {
- _checkIfModifiable(HTTP_SERVICE_BIND_ADDRESS_NAME);
+ @ConfigAttributeChecker(name=HTTP_SERVICE_BIND_ADDRESS_NAME)
+ protected String checkHttpServiceBindAddress(String value) {
if (value != null && value.length() > 0 &&
!SocketCreator.isLocalHost(value)) {
throw new IllegalArgumentException(
@@ -298,400 +188,12 @@ public abstract class AbstractDistributionConfig
.toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses()
}));
}
- }
-
- public boolean isHttpServiceBindAddressModifiable() {
- return _modifiableDefault();
- }
-
- //Add for HTTP Service SSL Start
- public boolean isHttpServiceSSLEnabledModifiable(){
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSL(){
- _checkIfModifiable(HTTP_SERVICE_SSL_ENABLED_NAME);
+ return value;
}
- public boolean isHttpServiceSSLRequireAuthenticationModifiable(){
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLRequireAuthentication(){
- _checkIfModifiable(HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME);
- }
-
- public boolean isHttpServiceSSLProtocolsModifiable(){
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLProtocols(){
- _checkIfModifiable(HTTP_SERVICE_SSL_PROTOCOLS_NAME);
- }
-
- public boolean isHttpServiceSSLCiphersModifiable(){
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLCiphers(){
- _checkIfModifiable(HTTP_SERVICE_SSL_CIPHERS_NAME);
- }
-
- public void checkHttpServiceSSLKeyStore(String value) {
- _checkIfModifiable(HTTP_SERVICE_SSL_KEYSTORE_NAME);
- }
- public boolean isHttpServiceSSLKeyStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLKeyStoreType(String value) {
- _checkIfModifiable(HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME);
- }
- public boolean isHttpServiceSSLKeyStoreTypeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLKeyStorePassword(String value) {
- _checkIfModifiable(HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME);
- }
- public boolean isHttpServiceSSLKeyStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLTrustStore(String value) {
- _checkIfModifiable(HTTP_SERVICE_SSL_TRUSTSTORE_NAME);
- }
- public boolean isHttpServiceSSLTrustStoreModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isHttpServiceSSLTrustStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkHttpServiceSSLTrustStorePassword(String value) {
- _checkIfModifiable(HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME);
- }
-
-//Add for HTTP Service SSL End
-
-
-
- protected void checkStartDevRestApi() {
- _checkIfModifiable(START_DEV_REST_API_NAME);
- }
- @Override
- public boolean isStartDevRestApiModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isSSLEnabledModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isClusterSSLEnabledModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSSLProtocols(String value) {
- _checkIfModifiable(SSL_PROTOCOLS_NAME);
- }
- protected void checkClusterSSLProtocols(String value) {
- _checkIfModifiable(CLUSTER_SSL_PROTOCOLS_NAME);
- }
- public boolean isSSLProtocolsModifiable() {
- return _modifiableDefault();
- }
- public boolean isClusterSSLProtocolsModifiable() {
- return _modifiableDefault();
- }
- protected void checkSSLCiphers(String value) {
- _checkIfModifiable(SSL_CIPHERS_NAME);
- }
- protected void checkClusterSSLCiphers(String value) {
- _checkIfModifiable(CLUSTER_SSL_CIPHERS_NAME);
- }
- public boolean isSSLCiphersModifiable() {
- return _modifiableDefault();
- }
- public boolean isClusterSSLCiphersModifiable() {
- return _modifiableDefault();
- }
- public void checkSSLRequireAuthentication(Boolean value) {
- _checkIfModifiable(SSL_REQUIRE_AUTHENTICATION_NAME);
- }
- public void checkClusterSSLRequireAuthentication(Boolean value) {
- _checkIfModifiable(CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME);
- }
- public boolean isSSLRequireAuthenticationModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isClusterSSLRequireAuthenticationModifiable() {
- return _modifiableDefault();
- }
-
- public void checkClusterSSLKeyStore(String value) {
- _checkIfModifiable(CLUSTER_SSL_KEYSTORE_NAME);
- }
- public boolean isClusterSSLKeyStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkClusterSSLKeyStoreType(String value) {
- _checkIfModifiable(CLUSTER_SSL_KEYSTORE_TYPE_NAME);
- }
- public boolean isClusterSSLKeyStoreTypeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkClusterSSLKeyStorePassword(String value) {
- _checkIfModifiable(CLUSTER_SSL_KEYSTORE_PASSWORD_NAME);
- }
- public boolean isClusterSSLKeyStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkClusterSSLTrustStore(String value) {
- _checkIfModifiable(CLUSTER_SSL_TRUSTSTORE_NAME);
- }
- public boolean isClusterSSLTrustStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkClusterSSLTrustStorePassword(String value) {
- _checkIfModifiable(CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME);
- }
-
- public boolean isClusterSSLTrustStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkServerSSLKeyStore(String value) {
- _checkIfModifiable(SERVER_SSL_KEYSTORE_NAME);
- }
- public boolean isServerSSLKeyStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkServerSSLKeyStoreType(String value) {
- _checkIfModifiable(SERVER_SSL_KEYSTORE_TYPE_NAME);
- }
- public boolean isServerSSLKeyStoreTypeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkServerSSLKeyStorePassword(String value) {
- _checkIfModifiable(SERVER_SSL_KEYSTORE_PASSWORD_NAME);
- }
- public boolean isServerSSLKeyStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkServerSSLTrustStore(String value) {
- _checkIfModifiable(SERVER_SSL_TRUSTSTORE_NAME);
- }
- public boolean isServerSSLTrustStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkServerSSLTrustStorePassword(String value) {
- _checkIfModifiable(SERVER_SSL_TRUSTSTORE_PASSWORD_NAME);
- }
-
- public boolean isServerSSLTrustStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkJmxManagerSSLKeyStore(String value) {
- _checkIfModifiable(JMX_MANAGER_SSL_KEYSTORE_NAME);
- }
- public boolean isJmxManagerSSLKeyStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkJmxManagerSSLKeyStoreType(String value) {
- _checkIfModifiable(JMX_MANAGER_SSL_KEYSTORE_TYPE_NAME);
- }
- public boolean isJmxManagerSSLKeyStoreTypeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkJmxManagerSSLKeyStorePassword(String value) {
- _checkIfModifiable(JMX_MANAGER_SSL_KEYSTORE_PASSWORD_NAME);
- }
- public boolean isJmxManagerSSLKeyStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkJmxManagerSSLTrustStore(String value) {
- _checkIfModifiable(JMX_MANAGER_SSL_TRUSTSTORE_NAME);
- }
- public boolean isJmxManagerSSLTrustStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkJmxManagerSSLTrustStorePassword(String value) {
- _checkIfModifiable(JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD_NAME);
- }
-
- public boolean isJmxManagerSSLTrustStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkGatewaySSLKeyStore(String value) {
- _checkIfModifiable(GATEWAY_SSL_KEYSTORE_NAME);
- }
- public boolean isGatewaySSLKeyStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkGatewaySSLKeyStoreType(String value) {
- _checkIfModifiable(GATEWAY_SSL_KEYSTORE_TYPE_NAME);
- }
- public boolean isGatewaySSLKeyStoreTypeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkGatewaySSLKeyStorePassword(String value) {
- _checkIfModifiable(GATEWAY_SSL_KEYSTORE_PASSWORD_NAME);
- }
- public boolean isGatewaySSLKeyStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkGatewaySSLTrustStore(String value) {
- _checkIfModifiable(GATEWAY_SSL_TRUSTSTORE_NAME);
- }
- public boolean isGatewaySSLTrustStoreModifiable() {
- return _modifiableDefault();
- }
-
- public void checkGatewaySSLTrustStorePassword(String value) {
- _checkIfModifiable(GATEWAY_SSL_TRUSTSTORE_PASSWORD_NAME);
- }
-
- public boolean isGatewaySSLTrustStorePasswordModifiable() {
- return _modifiableDefault();
- }
-
- public void checkMcastSendBufferSizeModifiable() {
- _checkIfModifiable(MCAST_SEND_BUFFER_SIZE_NAME);
- }
-
- public boolean isMcastSendBufferSizeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkMcastRecvBufferSizeModifiable() {
- _checkIfModifiable(MCAST_RECV_BUFFER_SIZE_NAME);
- }
-
- public boolean isMcastRecvBufferSizeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkMcastFlowControlModifiable() {
- _checkIfModifiable(MCAST_FLOW_CONTROL_NAME);
- }
-
- public boolean isMcastFlowControlModifiable() {
- return _modifiableDefault();
- }
-
- public void checkUdpSendBufferSizeModifiable() {
- _checkIfModifiable(UDP_SEND_BUFFER_SIZE_NAME);
- }
-
- public boolean isUdpSendBufferSizeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkUdpRecvBufferSizeModifiable() {
- _checkIfModifiable(UDP_RECV_BUFFER_SIZE_NAME);
- }
-
- public boolean isUdpRecvBufferSizeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkUdpFragmentSizeModifiable() {
- _checkIfModifiable(UDP_FRAGMENT_SIZE_NAME);
- }
-
- public boolean isUdpFragmentSizeModifiable() {
- return _modifiableDefault();
- }
-
- public void checkDisableTcpModifiable() {
- _checkIfModifiable(DISABLE_TCP_NAME);
- }
-
- public boolean isDisableTcpModifiable() {
- return _modifiableDefault();
- }
-
- public void checkEnableTimeStatisticsModifiable() {
- _checkIfModifiable(ENABLE_TIME_STATISTICS_NAME);
- }
-
- public boolean isEnableTimeStatisticsModifiable() {
- return _modifiableDefault();
- }
-
- public void checkMemberTimeoutModifiable() {
- _checkIfModifiable(MEMBER_TIMEOUT_NAME);
- }
-
- public boolean isMemberTimeoutModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isMembershipPortRangeModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isMaxNumberOfTiesModifiable(){
- return _modifiableDefault();
- }
-
- public boolean isMaxTimeOutModifiable(){
- return _modifiableDefault();
- }
-
- protected void checkStatisticSampleRate(int value) {
- _checkIfModifiable(STATISTIC_SAMPLE_RATE_NAME);
- if (value < MIN_STATISTIC_SAMPLE_RATE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {STATISTIC_SAMPLE_RATE_NAME, Integer.valueOf(value), Integer.valueOf(MIN_STATISTIC_SAMPLE_RATE)}));
- }
- if (value > MAX_STATISTIC_SAMPLE_RATE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {STATISTIC_SAMPLE_RATE_NAME, Integer.valueOf(value), Integer.valueOf(MAX_STATISTIC_SAMPLE_RATE)}));
- }
- }
- public boolean isStatisticSampleRateModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isDeltaPropagationModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkDeltaPropagationModifiable() {
- _checkIfModifiable(DELTA_PROPAGATION_PROP_NAME);
- }
-
- protected String checkRemoteLocators(String value) {
- _checkIfModifiable(REMOTE_LOCATORS_NAME);
- return value ;
- }
-
- public boolean isDistributedSystemIdModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkDistributedSystemId(int value) {
- _checkIfModifiable(DISTRIBUTED_SYSTEM_ID_NAME);
+ @ConfigAttributeChecker(name=DISTRIBUTED_SYSTEM_ID_NAME)
+ protected int checkDistributedSystemId(int value) {
String distributedSystemListener = System
.getProperty("gemfire.DistributedSystemListener");
//this check is specific for Jayesh's use case of WAN BootStraping
@@ -707,51 +209,20 @@ public abstract class AbstractDistributionConfig
if (value > MAX_DISTRIBUTED_SYSTEM_ID) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {DISTRIBUTED_SYSTEM_ID_NAME, Integer.valueOf(value), Integer.valueOf(MAX_DISTRIBUTED_SYSTEM_ID)}));
}
+ return value;
}
- public boolean isEnforceUniqueHostModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkEnforceUniqueHostModifiable() {
- _checkIfModifiable(ENFORCE_UNIQUE_HOST_NAME);
- }
-
- public boolean isRedundancyZoneModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkRedundancyZoneModifiable() {
- _checkIfModifiable(REDUNDANCY_ZONE_NAME);
- }
-
- protected void checkSSLPropertyModifiable() {
- _checkIfModifiable(SSL_SYSTEM_PROPS_NAME);
- }
-
- protected boolean isSSLPropertyModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkUserCommandPackages(String value) {
- _checkIfModifiable(USER_COMMAND_PACKAGES);
- }
-
- public boolean isUserCommandPackagesModifiable() {
- return _modifiableDefault();
- }
-
/**
* Makes sure that the locator string used to configure discovery is
* valid.
- *
+ *
* <p>Starting in 4.0, we accept locators in the format
* "host:port" in addition to the traditional "host:bind-address[port]" format.
* See bug 32306.
- *
+ *
* <p>Starting in 5.1.0.4, we accept locators in the format
* "host@bind-address[port]" to allow use of numeric IPv6 addresses
- *
+ *
* @return The locator string in the traditional "host:bind-address[port]"
* format.
*
@@ -759,9 +230,8 @@ public abstract class AbstractDistributionConfig
* If <code>value</code> is not a valid locator
* configuration
*/
+ @ConfigAttributeChecker(name=LOCATORS_NAME)
protected String checkLocators(String value) {
- _checkIfModifiable(LOCATORS_NAME);
-
// validate locators value
StringBuffer sb = new StringBuffer();
@@ -784,7 +254,7 @@ public abstract class AbstractDistributionConfig
// starting in 5.1.0.4 we allow '@' as the bind-addr separator
// to let people use IPv6 numeric addresses (which contain colons)
int bindAddrIdx = locator.lastIndexOf('@', portIndex - 1);
-
+
if (bindAddrIdx < 0) {
bindAddrIdx = locator.lastIndexOf(':', portIndex - 1);
}
@@ -870,123 +340,9 @@ public abstract class AbstractDistributionConfig
return sb.toString();
}
- public boolean isLocatorsModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isLocatorWaitTimeModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isRemoteLocatorsModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkAckWaitThreshold(int value) {
- _checkIfModifiable(ACK_WAIT_THRESHOLD_NAME);
- if (value < MIN_ACK_WAIT_THRESHOLD) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {ACK_WAIT_THRESHOLD_NAME, Integer.valueOf(value), Integer.valueOf(MIN_ACK_WAIT_THRESHOLD)}));
- }
- if (value > MAX_ACK_WAIT_THRESHOLD) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {ACK_WAIT_THRESHOLD_NAME, Integer.valueOf(value), Integer.valueOf(MAX_ACK_WAIT_THRESHOLD)}));
- }
- }
- public boolean isAckWaitThresholdModifiable() {
- return _modifiableDefault();
- }
-
-
- protected void checkAckSevereAlertThreshold(int value) {
- _checkIfModifiable(ACK_SEVERE_ALERT_THRESHOLD_NAME);
- if (value < MIN_ACK_SEVERE_ALERT_THRESHOLD) {
- throw new IllegalArgumentException("Could not set \"" + ACK_SEVERE_ALERT_THRESHOLD_NAME + "\" to \"" + value + "\" because its value can not be less than \"" + MIN_ACK_SEVERE_ALERT_THRESHOLD + "\".");
- }
- if (value > MAX_ACK_SEVERE_ALERT_THRESHOLD) {
- throw new IllegalArgumentException("Could not set \"" + ACK_SEVERE_ALERT_THRESHOLD_NAME + "\" to \"" + value + "\" because its value can not be greater than \"" + MAX_ACK_SEVERE_ALERT_THRESHOLD + "\".");
- }
- }
- public boolean isAckSevereAlertThresholdModifiable() {
- return _modifiableDefault();
- }
-
-
- public boolean isArchiveFileSizeLimitModifiable() {
- return _modifiableDefault();
- }
- protected void checkArchiveFileSizeLimit(int value) {
- _checkIfModifiable(ARCHIVE_FILE_SIZE_LIMIT_NAME);
- if (value < MIN_ARCHIVE_FILE_SIZE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {ARCHIVE_FILE_SIZE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_ARCHIVE_FILE_SIZE_LIMIT)}));
- }
- if (value > MAX_ARCHIVE_FILE_SIZE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {ARCHIVE_FILE_SIZE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_ARCHIVE_FILE_SIZE_LIMIT)}));
- }
- }
- public boolean isArchiveDiskSpaceLimitModifiable() {
- return _modifiableDefault();
- }
- protected void checkArchiveDiskSpaceLimit(int value) {
- _checkIfModifiable(ARCHIVE_DISK_SPACE_LIMIT_NAME);
- if (value < MIN_ARCHIVE_DISK_SPACE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {ARCHIVE_DISK_SPACE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_ARCHIVE_DISK_SPACE_LIMIT)}));
- }
- if (value > MAX_ARCHIVE_DISK_SPACE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {ARCHIVE_DISK_SPACE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_ARCHIVE_DISK_SPACE_LIMIT)}));
- }
- }
- public boolean isLogFileSizeLimitModifiable() {
- return _modifiableDefault();
- }
- protected void checkLogFileSizeLimit(int value) {
- _checkIfModifiable(LOG_FILE_SIZE_LIMIT_NAME);
- if (value < MIN_LOG_FILE_SIZE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {LOG_FILE_SIZE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_LOG_FILE_SIZE_LIMIT)}));
- }
- if (value > MAX_LOG_FILE_SIZE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {LOG_FILE_SIZE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_LOG_FILE_SIZE_LIMIT)}));
- }
- }
- public boolean isLogDiskSpaceLimitModifiable() {
- return _modifiableDefault();
- }
- protected void checkLogDiskSpaceLimit(int value) {
- _checkIfModifiable(LOG_DISK_SPACE_LIMIT_NAME);
- if (value < MIN_LOG_DISK_SPACE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {LOG_DISK_SPACE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_LOG_DISK_SPACE_LIMIT)}));
- }
- if (value > MAX_LOG_DISK_SPACE_LIMIT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {LOG_DISK_SPACE_LIMIT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_LOG_DISK_SPACE_LIMIT)}));
- }
- }
-
- /** a generic method for checking a new integer setting against a min
- and max value */
- protected void minMaxCheck(String propName, int value, int minValue, int maxValue) {
- _checkIfModifiable(propName);
- if (value < minValue) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {propName, Integer.valueOf(value), Integer.valueOf(minValue)}));
- }
- else if (value > maxValue) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {propName, Integer.valueOf(value), Integer.valueOf(maxValue)}));
- }
- }
-
-
- /** check a new multicast send-buffer size setting */
- protected void checkMcastSendBufferSize(int newSize) {
- minMaxCheck(MCAST_SEND_BUFFER_SIZE_NAME, newSize,
- MIN_MCAST_SEND_BUFFER_SIZE, Integer.MAX_VALUE);
- }
-
- /** check a new multicast recv-buffer size setting */
- protected void checkMcastRecvBufferSize(int newSize) {
- minMaxCheck(MCAST_RECV_BUFFER_SIZE_NAME, newSize,
- MIN_MCAST_RECV_BUFFER_SIZE, Integer.MAX_VALUE);
- }
-
/** check a new mcast flow-control setting */
- protected void checkMcastFlowControl(FlowControlParams params) {
- _checkIfModifiable(MCAST_FLOW_CONTROL_NAME);
+ @ConfigAttributeChecker(name=MCAST_FLOW_CONTROL_NAME)
+ protected FlowControlParams checkMcastFlowControl(FlowControlParams params) {
int value = params.getByteAllowance();
if (value < MIN_FC_BYTE_ALLOWANCE) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_BYTEALLOWANCE_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {MCAST_FLOW_CONTROL_NAME, Integer.valueOf(value), Integer.valueOf(MIN_FC_BYTE_ALLOWANCE)}));
@@ -1005,33 +361,12 @@ public abstract class AbstractDistributionConfig
else if (value > MAX_FC_RECHARGE_BLOCK_MS) {
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_RECHARGEBLOCKMS_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {MCAST_FLOW_CONTROL_NAME, Integer.valueOf(value), Integer.valueOf(MAX_FC_RECHARGE_BLOCK_MS)}));
}
+ return params;
}
- /** check a new udp message fragment size setting */
- protected void checkUdpFragmentSize(int value) {
- minMaxCheck(UDP_FRAGMENT_SIZE_NAME, value,
- MIN_UDP_FRAGMENT_SIZE, MAX_UDP_FRAGMENT_SIZE);
- }
-
- /** check a new udp send-buffer size setting */
- protected void checkUdpSendBufferSize(int newSize) {
- minMaxCheck(UDP_SEND_BUFFER_SIZE_NAME, newSize,
- MIN_UDP_SEND_BUFFER_SIZE, Integer.MAX_VALUE);
- }
-
- /** check a new multicast recv-buffer size setting */
- protected void checkUdpRecvBufferSize(int newSize) {
- minMaxCheck(UDP_RECV_BUFFER_SIZE_NAME, newSize,
- MIN_UDP_RECV_BUFFER_SIZE, Integer.MAX_VALUE);
- }
-
- /** check a new member-timeout setting */
- protected void checkMemberTimeout(int value) {
- minMaxCheck(MEMBER_TIMEOUT_NAME, value,
- MIN_MEMBER_TIMEOUT, MAX_MEMBER_TIMEOUT);
- }
- protected void checkMembershipPortRange(int[] value) {
+ @ConfigAttributeChecker(name=MEMBERSHIP_PORT_RANGE_NAME)
+ protected int[] checkMembershipPortRange(int[] value) {
minMaxCheck(MEMBERSHIP_PORT_RANGE_NAME, value[0],
DEFAULT_MEMBERSHIP_PORT_RANGE[0],
value[1]);
@@ -1045,117 +380,36 @@ public abstract class AbstractDistributionConfig
throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.
toLocalizedString(new Object[] {MEMBERSHIP_PORT_RANGE_NAME, value[0]+"-"+value[1], Integer.valueOf(3)}));
}
+ return value;
}
- public boolean isAsyncDistributionTimeoutModifiable() {
- return _modifiableDefault();
- }
- protected void checkAsyncDistributionTimeout(int value) {
- _checkIfModifiable(ASYNC_DISTRIBUTION_TIMEOUT_NAME);
- if (value < MIN_ASYNC_DISTRIBUTION_TIMEOUT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {ASYNC_DISTRIBUTION_TIMEOUT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_ASYNC_DISTRIBUTION_TIMEOUT)}));
- }
- if (value > MAX_ASYNC_DISTRIBUTION_TIMEOUT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {ASYNC_DISTRIBUTION_TIMEOUT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_ASYNC_DISTRIBUTION_TIMEOUT)}));
- }
- }
- public boolean isAsyncQueueTimeoutModifiable() {
- return _modifiableDefault();
- }
- protected void checkAsyncQueueTimeout(int value) {
- _checkIfModifiable(ASYNC_QUEUE_TIMEOUT_NAME);
- if (value < MIN_ASYNC_QUEUE_TIMEOUT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {ASYNC_QUEUE_TIMEOUT_NAME, Integer.valueOf(value), Integer.valueOf(MIN_ASYNC_QUEUE_TIMEOUT)}));
- }
- if (value > MAX_ASYNC_QUEUE_TIMEOUT) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {ASYNC_QUEUE_TIMEOUT_NAME, Integer.valueOf(value), Integer.valueOf(MAX_ASYNC_QUEUE_TIMEOUT)}));
- }
- }
- public boolean isAsyncMaxQueueSizeModifiable() {
- return _modifiableDefault();
- }
- protected void checkAsyncMaxQueueSize(int value) {
- _checkIfModifiable(ASYNC_MAX_QUEUE_SIZE_NAME);
- if (value < MIN_ASYNC_MAX_QUEUE_SIZE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {ASYNC_MAX_QUEUE_SIZE_NAME, Integer.valueOf(value), Integer.valueOf(MIN_ASYNC_MAX_QUEUE_SIZE)}));
- }
- if (value > MAX_ASYNC_MAX_QUEUE_SIZE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {ASYNC_MAX_QUEUE_SIZE_NAME, Integer.valueOf(value), Integer.valueOf(MAX_ASYNC_MAX_QUEUE_SIZE)}));
- }
- }
-
/** @since 5.7 */
- protected void checkClientConflation(String value) {
+ @ConfigAttributeChecker(name=CLIENT_CONFLATION_PROP_NAME)
+ protected String checkClientConflation(String value) {
if (! (value.equals(CLIENT_CONFLATION_PROP_VALUE_DEFAULT) ||
value.equals(CLIENT_CONFLATION_PROP_VALUE_ON) ||
value.equals(CLIENT_CONFLATION_PROP_VALUE_OFF)) ) {
throw new IllegalArgumentException("Could not set \"" + CLIENT_CONFLATION_PROP_NAME + "\" to \"" + value + "\" because its value is not recognized");
}
- }
-
- /** @since 5.7 */
- public boolean isClientConflationModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkDurableClientId(String value) {
- _checkIfModifiable(DURABLE_CLIENT_ID_NAME);
- }
-
- public boolean isDurableClientIdModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkDurableClientTimeout(int value) {
- _checkIfModifiable(DURABLE_CLIENT_TIMEOUT_NAME);
+ return value;
}
- public boolean isDurableClientTimeoutModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityClientAuthInit(String value) {
- _checkIfModifiable(SECURITY_CLIENT_AUTH_INIT_NAME);
- }
-
- public boolean isSecurityClientAuthInitModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityClientAuthenticator(String value) {
- _checkIfModifiable(SECURITY_CLIENT_AUTHENTICATOR_NAME);
- }
-
- public boolean isSecurityClientAuthenticatorModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityClientDHAlgo(String value) {
- _checkIfModifiable(SECURITY_CLIENT_DHALGO_NAME);
- }
-
- public boolean isSecurityClientDHAlgoModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityPeerAuthInit(String value) {
- _checkIfModifiable(SECURITY_PEER_AUTH_INIT_NAME);
+ @ConfigAttributeChecker(name=SECURITY_PEER_AUTH_INIT_NAME)
+ protected String checkSecurityPeerAuthInit(String value) {
if (value != null && value.length() > 0 && getMcastPort() != 0) {
String mcastInfo = MCAST_PORT_NAME + "[" + getMcastPort() + "]";
throw new IllegalArgumentException(
LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_2_MUST_BE_0_WHEN_SECURITY_IS_ENABLED
- .toLocalizedString(new Object[] {
+ .toLocalizedString(new Object[] {
SECURITY_PEER_AUTH_INIT_NAME, value, mcastInfo }));
}
+ return value;
}
- public boolean isSecurityPeerAuthInitModifiable() {
- return _modifiableDefault();
- }
- protected void checkSecurityPeerAuthenticator(String value) {
- _checkIfModifiable(SECURITY_PEER_AUTHENTICATOR_NAME);
+ @ConfigAttributeChecker(name=SECURITY_PEER_AUTHENTICATOR_NAME)
+ protected String checkSecurityPeerAuthenticator(String value) {
if (value != null && value.length() > 0 && getMcastPort() != 0) {
String mcastInfo = MCAST_PORT_NAME + "[" + getMcastPort() + "]";
throw new IllegalArgumentException(
@@ -1166,219 +420,49 @@ public abstract class AbstractDistributionConfig
value,
mcastInfo}));
}
+ return value;
}
- public boolean isSecurityPeerAuthenticatorModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityClientAccessor(String value) {
- _checkIfModifiable(SECURITY_CLIENT_ACCESSOR_NAME);
- }
-
- public boolean isSecurityClientAccessorModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityClientAccessorPP(String value) {
- _checkIfModifiable(SECURITY_CLIENT_ACCESSOR_PP_NAME);
- }
-
- public boolean isSecurityClientAccessorPPModifiable() {
- return _modifiableDefault();
- }
- protected void checkSecurityLogLevel(int value) {
- _checkIfModifiable(SECURITY_LOG_LEVEL_NAME);
+ @ConfigAttributeChecker(name=SECURITY_LOG_LEVEL_NAME)
+ protected int checkSecurityLogLevel(int value) {
if (value < MIN_LOG_LEVEL) {
throw new IllegalArgumentException(
LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(
- new Object[] {
- SECURITY_LOG_LEVEL_NAME,
- LogWriterImpl.levelToString(value),
+ new Object[] {
+ SECURITY_LOG_LEVEL_NAME,
+ LogWriterImpl.levelToString(value),
LogWriterImpl.levelToString(MIN_LOG_LEVEL)}));
}
if (value > MAX_LOG_LEVEL) {
throw new IllegalArgumentException(
LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(
- new Object[] {
- SECURITY_LOG_LEVEL_NAME,
- LogWriterImpl.levelToString(value),
+ new Object[] {
+ SECURITY_LOG_LEVEL_NAME,
+ LogWriterImpl.levelToString(value),
LogWriterImpl.levelToString(MAX_LOG_LEVEL)}));
}
+ return value;
}
- public boolean isSecurityLogLevelModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityLogFile(File value) {
- _checkIfModifiable(SECURITY_LOG_FILE_NAME);
- }
-
- public boolean isSecurityLogFileModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurityPeerMembershipTimeout(int value) {
- _checkIfModifiable(SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME);
- minMaxCheck(SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME, value,
- 0, MAX_SECURITY_PEER_VERIFYMEMBER_TIMEOUT);
- }
-
- public boolean isSecurityPeerMembershipTimeoutModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkSecurity(String key, String value) {
- _checkIfModifiable(key);
- }
-
- public boolean isSecurityModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkRemoveUnresponsiveClientModifiable() {
- _checkIfModifiable(REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME);
- }
-
- public boolean isRemoveUnresponsiveClientModifiable() {
- return _modifiableDefault();
- }
-
- /**
- * @since 7.0
- */
- protected void checkGroups(String value) {
- _checkIfModifiable(GROUPS_NAME);
- }
- /**
- * @since 7.0
- */
- public boolean isGroupsModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkJmxManager() {
- _checkIfModifiable(JMX_MANAGER_NAME);
- }
- @Override
- public boolean isJmxManagerModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkJmxManagerStart() {
- _checkIfModifiable(JMX_MANAGER_START_NAME);
- }
- @Override
- public boolean isJmxManagerStartModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxSSLManagerEnabled() {
- _checkIfModifiable(JMX_MANAGER_SSL_NAME);
- }
- protected void checkJmxManagerSSLEnabled() {
- _checkIfModifiable(JMX_MANAGER_SSL_ENABLED_NAME);
- }
- public boolean isJmxManagerSSLEnabledModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerSSLCiphers() {
- _checkIfModifiable(JMX_MANAGER_SSL_CIPHERS_NAME);
- }
- public boolean isJmxManagerSSLCiphersModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerSSLProtocols() {
- _checkIfModifiable(JMX_MANAGER_SSL_PROTOCOLS_NAME);
- }
- public boolean isJmxManagerSSLProtocolsModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerSSLRequireAuthentication() {
- _checkIfModifiable(JMX_MANAGER_SSL_REQUIRE_AUTHENTICATION_NAME);
- }
- public boolean isJmxManagerSSLRequireAuthenticationModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerPort(int value) {
- minMaxCheck(JMX_MANAGER_PORT_NAME, value, 0, 65535);
- }
- @Override
- public boolean isJmxManagerPortModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerBindAddress(String value) {
- _checkIfModifiable(JMX_MANAGER_BIND_ADDRESS_NAME);
- }
- @Override
- public boolean isJmxManagerBindAddressModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerHostnameForClients(String value) {
- _checkIfModifiable(JMX_MANAGER_HOSTNAME_FOR_CLIENTS_NAME);
- }
- @Override
- public boolean isJmxManagerHostnameForClientsModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerPasswordFile(String value) {
- _checkIfModifiable(JMX_MANAGER_PASSWORD_FILE_NAME);
- }
- @Override
- public boolean isJmxManagerPasswordFileModifiable() {
- return _modifiableDefault();
- }
- protected void checkJmxManagerAccessFile(String value) {
- _checkIfModifiable(JMX_MANAGER_ACCESS_FILE_NAME);
- }
- @Override
- public boolean isJmxManagerAccessFileModifiable() {
- return _modifiableDefault();
- }
- @Override
- public boolean isJmxManagerHttpPortModifiable() {
- //return _modifiableDefault();
- return isHttpServicePortModifiable();
- }
- protected void checkJmxManagerHttpPort(int value) {
- minMaxCheck(JMX_MANAGER_HTTP_PORT_NAME, value, 0, 65535);
- }
- protected void checkJmxManagerUpdateRate(int value) {
- _checkIfModifiable(JMX_MANAGER_UPDATE_RATE_NAME);
- if (value < MIN_JMX_MANAGER_UPDATE_RATE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_LESS_THAN_2.toLocalizedString(new Object[] {JMX_MANAGER_UPDATE_RATE_NAME, Integer.valueOf(value), Integer.valueOf(MIN_JMX_MANAGER_UPDATE_RATE)}));
- }
- if (value > MAX_JMX_MANAGER_UPDATE_RATE) {
- throw new IllegalArgumentException(LocalizedStrings.AbstractDistributionConfig_COULD_NOT_SET_0_TO_1_BECAUSE_ITS_VALUE_CAN_NOT_BE_GREATER_THAN_2.toLocalizedString(new Object[] {JMX_MANAGER_UPDATE_RATE_NAME, Integer.valueOf(value), Integer.valueOf(MAX_JMX_MANAGER_UPDATE_RATE)}));
- }
- }
- @Override
- public boolean isJmxManagerUpdateRateModifiable() {
- return _modifiableDefault();
- }
- protected void checkMemcachedPort(int value) {
- minMaxCheck(MEMCACHED_PORT_NAME, value, 0, 65535);
- }
- public boolean isMemcachedPortModifiable() {
- return _modifiableDefault();
- }
- protected void checkMemcachedProtocol(String protocol) {
+ @ConfigAttributeChecker(name=MEMCACHED_PROTOCOL_NAME)
+ protected String checkMemcachedProtocol(String protocol) {
if (protocol == null
|| (!protocol.equalsIgnoreCase(GemFireMemcachedServer.Protocol.ASCII.name()) &&
!protocol.equalsIgnoreCase(GemFireMemcachedServer.Protocol.BINARY.name()))) {
throw new IllegalArgumentException(LocalizedStrings.
AbstractDistributionConfig_MEMCACHED_PROTOCOL_MUST_BE_ASCII_OR_BINARY.toLocalizedString());
}
+ return protocol;
}
public boolean isMemcachedProtocolModifiable() {
return false;
}
-
- protected void checkMemcachedBindAddress(String value) {
- _checkIfModifiable(MEMCACHED_BIND_ADDRESS_NAME);
+
+ @ConfigAttributeChecker(name=MEMCACHED_BIND_ADDRESS_NAME)
+ protected String checkMemcachedBindAddress(String value) {
if (value != null && value.length() > 0 &&
!SocketCreator.isLocalHost(value)) {
throw new IllegalArgumentException(
@@ -1386,92 +470,23 @@ public abstract class AbstractDistributionConfig
.toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses()
}));
}
+ return value;
}
- public boolean isMemcachedBindAddressModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkRedisPort(int value) {
- minMaxCheck(REDIS_PORT_NAME, value, 0, 65535);
- }
- protected void checkRedisBindAddress(String value) {
- _checkIfModifiable(REDIS_BIND_ADDRESS_NAME);
+
+ @ConfigAttributeChecker(name=REDIS_BIND_ADDRESS_NAME)
+ protected String checkRedisBindAddress(String value) {
if (value != null && value.length() > 0 &&
- !SocketCreator.isLocalHost(value)) {
+ !SocketCreator.isLocalHost(value)) {
throw new IllegalArgumentException(
- LocalizedStrings.AbstractDistributionConfig_REDIS_BIND_ADDRESS_0_INVALID_MUST_BE_IN_1
- .toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses()
- }));
+ LocalizedStrings.AbstractDistributionConfig_REDIS_BIND_ADDRESS_0_INVALID_MUST_BE_IN_1
+ .toLocalizedString(new Object[]{value, SocketCreator.getMyAddresses()
+ }));
}
- }
-
- protected void checkRedisPassword(String value) {
-
- }
-
- public boolean isRedisBindAddressModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isRedisPortModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isRedisPasswordModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isOffHeapMemorySizeModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkOffHeapMemorySize(String value) {
- _checkIfModifiable(OFF_HEAP_MEMORY_SIZE_NAME);
- }
-
- protected void checkEnableSharedConfiguration() {
- _checkIfModifiable(ENABLE_CLUSTER_CONFIGURATION_NAME);
- }
-
- protected void checkUseSharedConfiguration() {
- _checkIfModifiable(USE_CLUSTER_CONFIGURATION_NAME);
- }
-
- protected void checkLoadSharedConfigFromDir() {
- _checkIfModifiable(LOAD_CLUSTER_CONFIG_FROM_DIR_NAME);
- }
-
- protected void checkClusterConfigDir() {
- _checkIfModifiable(CLUSTER_CONFIGURATION_DIR);
- }
-
-
- public boolean isEnableSharedConfigurationModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isLoadSharedConfigFromDirModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isUseSharedConfigurationModifiable() {
- return _modifiableDefault();
+ return value;
}
- public boolean isLockMemoryModifiable() {
- return _modifiableDefault();
- }
-
- public boolean isDistributedTransactionsModifiable() {
- return _modifiableDefault();
- }
-
- protected void checkLockMemory(final boolean value) {
- _checkIfModifiable(LOCK_MEMORY_NAME);
- }
-
// AbstractConfig overriding methods
-
+
@Override
protected void checkAttributeName(String attName) {
if(!attName.startsWith(SECURITY_PREFIX_NAME) && !attName.startsWith(USERDEFINED_PREFIX_NAME)
@@ -1479,1308 +494,149 @@ public abstract class AbstractDistributionConfig
super.checkAttributeName(attName);
}
}
-
-
-
- // AbstractDistributionConfig methods
-
- static final String[] dcValidAttributeNames;
- static {
- String[] myAtts = new String[] {
- ACK_WAIT_THRESHOLD_NAME,
- ACK_SEVERE_ALERT_THRESHOLD_NAME,
- ARCHIVE_DISK_SPACE_LIMIT_NAME,
- ARCHIVE_FILE_SIZE_LIMIT_NAME,
- BIND_ADDRESS_NAME,
- SERVER_BIND_ADDRESS_NAME,
- CACHE_XML_FILE_NAME,
- DEPLOY_WORKING_DIR,
- LOG_DISK_SPACE_LIMIT_NAME,
- LOG_FILE_NAME,
- LOG_FILE_SIZE_LIMIT_NAME,
- LOG_LEVEL_NAME, LOCATORS_NAME, LOCATOR_WAIT_TIME_NAME, REMOTE_LOCATORS_NAME,
- MCAST_ADDRESS_NAME, MCAST_PORT_NAME, MCAST_TTL_NAME,
- MCAST_SEND_BUFFER_SIZE_NAME, MCAST_RECV_BUFFER_SIZE_NAME,
- MCAST_FLOW_CONTROL_NAME,
- TCP_PORT_NAME,
- SOCKET_LEASE_TIME_NAME, SOCKET_BUFFER_SIZE_NAME, CONSERVE_SOCKETS_NAME,
- NAME_NAME,
- ROLES_NAME,
- STATISTIC_ARCHIVE_FILE_NAME, STATISTIC_SAMPLE_RATE_NAME,
- STATISTIC_SAMPLING_ENABLED_NAME,
- SSL_ENABLED_NAME,
- SSL_PROTOCOLS_NAME,
- SSL_CIPHERS_NAME,
- SSL_REQUIRE_AUTHENTICATION_NAME,
- CLUSTER_SSL_ENABLED_NAME,
- CLUSTER_SSL_PROTOCOLS_NAME,
- CLUSTER_SSL_CIPHERS_NAME,
- CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME,
- CLUSTER_SSL_KEYSTORE_NAME,CLUSTER_SSL_KEYSTORE_TYPE_NAME,CLUSTER_SSL_KEYSTORE_PASSWORD_NAME,CLUSTER_SSL_TRUSTSTORE_NAME,CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME,
- UDP_SEND_BUFFER_SIZE_NAME, UDP_RECV_BUFFER_SIZE_NAME, UDP_FRAGMENT_SIZE_NAME,
- DISABLE_TCP_NAME,
- ENABLE_TIME_STATISTICS_NAME,
- MEMBER_TIMEOUT_NAME,
- MEMBERSHIP_PORT_RANGE_NAME,
- MAX_WAIT_TIME_FOR_RECONNECT_NAME,
- MAX_NUM_RECONNECT_TRIES,
- ASYNC_DISTRIBUTION_TIMEOUT_NAME,
- ASYNC_QUEUE_TIMEOUT_NAME,
- ASYNC_MAX_QUEUE_SIZE_NAME,
- START_LOCATOR_NAME,
- CLIENT_CONFLATION_PROP_NAME,
- DURABLE_CLIENT_ID_NAME,
- DURABLE_CLIENT_TIMEOUT_NAME,
-// DURABLE_CLIENT_KEEP_ALIVE_NAME,
- ENABLE_NETWORK_PARTITION_DETECTION_NAME,
- DISABLE_AUTO_RECONNECT_NAME,
- SECURITY_CLIENT_AUTH_INIT_NAME,
- SECURITY_CLIENT_AUTHENTICATOR_NAME,
- SECURITY_CLIENT_DHALGO_NAME,
- SECURITY_PEER_AUTH_INIT_NAME,
- SECURITY_PEER_AUTHENTICATOR_NAME,
- SECURITY_CLIENT_ACCESSOR_NAME,
- SECURITY_CLIENT_ACCESSOR_PP_NAME,
- SECURITY_LOG_LEVEL_NAME,
- SECURITY_LOG_FILE_NAME,
- SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME,
- SECURITY_PREFIX_NAME,
- REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME,
- DELTA_PROPAGATION_PROP_NAME,
- DISTRIBUTED_SYSTEM_ID_NAME,
- ENFORCE_UNIQUE_HOST_NAME,
- REDUNDANCY_ZONE_NAME,
- GROUPS_NAME,
- JMX_MANAGER_NAME,
- JMX_MANAGER_START_NAME,
- JMX_MANAGER_PORT_NAME,
- JMX_MANAGER_SSL_NAME,
- JMX_MANAGER_SSL_ENABLED_NAME,
- JMX_MANAGER_SSL_PROTOCOLS_NAME,
- JMX_MANAGER_SSL_CIPHERS_NAME,
- JMX_MANAGER_SSL_REQUIRE_AUTHENTICATION_NAME,
- JMX_MANAGER_SSL_KEYSTORE_NAME,JMX_MANAGER_SSL_KEYSTORE_TYPE_NAME,JMX_MANAGER_SSL_KEYSTORE_PASSWORD_NAME,JMX_MANAGER_SSL_TRUSTSTORE_NAME,JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD_NAME,
- JMX_MANAGER_BIND_ADDRESS_NAME,
- JMX_MANAGER_HOSTNAME_FOR_CLIENTS_NAME,
- JMX_MANAGER_PASSWORD_FILE_NAME,
- JMX_MANAGER_ACCESS_FILE_NAME,
- JMX_MANAGER_HTTP_PORT_NAME,
- JMX_MANAGER_UPDATE_RATE_NAME,
- MEMCACHED_PORT_NAME,
- MEMCACHED_PROTOCOL_NAME,
- MEMCACHED_BIND_ADDRESS_NAME,
- REDIS_PORT_NAME,
- REDIS_BIND_ADDRESS_NAME,
- REDIS_PASSWORD_NAME,
- USER_COMMAND_PACKAGES,
- ENABLE_CLUSTER_CONFIGURATION_NAME,
- USE_CLUSTER_CONFIGURATION_NAME,
- LOAD_CLUSTER_CONFIG_FROM_DIR_NAME,
- CLUSTER_CONFIGURATION_DIR,
- HTTP_SERVICE_PORT_NAME,
- HTTP_SERVICE_BIND_ADDRESS_NAME,
- START_DEV_REST_API_NAME,
- SERVER_SSL_ENABLED_NAME,
- SERVER_SSL_REQUIRE_AUTHENTICATION_NAME,
- SERVER_SSL_PROTOCOLS_NAME,
- SERVER_SSL_CIPHERS_NAME,
- SERVER_SSL_KEYSTORE_NAME,SERVER_SSL_KEYSTORE_TYPE_NAME,SERVER_SSL_KEYSTORE_PASSWORD_NAME,SERVER_SSL_TRUSTSTORE_NAME,SERVER_SSL_TRUSTSTORE_PASSWORD_NAME,
- GATEWAY_SSL_ENABLED_NAME,
- GATEWAY_SSL_REQUIRE_AUTHENTICATION_NAME,
- GATEWAY_SSL_PROTOCOLS_NAME,
- GATEWAY_SSL_CIPHERS_NAME,
- GATEWAY_SSL_KEYSTORE_NAME,GATEWAY_SSL_KEYSTORE_TYPE_NAME,GATEWAY_SSL_KEYSTORE_PASSWORD_NAME,GATEWAY_SSL_TRUSTSTORE_NAME,GATEWAY_SSL_TRUSTSTORE_PASSWORD_NAME,
- HTTP_SERVICE_SSL_ENABLED_NAME,
- HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME,
- HTTP_SERVICE_SSL_PROTOCOLS_NAME,
- HTTP_SERVICE_SSL_CIPHERS_NAME,
- HTTP_SERVICE_SSL_KEYSTORE_NAME,HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME,HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME,HTTP_SERVICE_SSL_TRUSTSTORE_NAME,HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME,
- OFF_HEAP_MEMORY_SIZE_NAME,
- LOCK_MEMORY_NAME,
- DISTRIBUTED_TRANSACTIONS_NAME
- };
- List atts = Arrays.asList(myAtts);
- Collections.sort(atts);
- dcValidAttributeNames = (String[])atts.toArray(new String[atts.size()]);
- }
public static boolean isWellKnownAttribute(String attName) {
return Arrays.binarySearch(dcValidAttributeNames, attName) >= 0;
}
-
+
public void setAttributeObject(String attName, Object attValue, ConfigSource source) {
+ // TODO: the setters is already checking the parameter type, do we still need to do this?
Class validValueClass = getAttributeType(attName);
if (attValue != null) {
// null is a "valid" value for any class
if (!validValueClass.isInstance(attValue)) {
- throw new InvalidValueException(LocalizedStrings.AbstractDistributionConfig_0_VALUE_1_MUST_BE_OF_TYPE_2.toLocalizedString(new Object[] {attName, attValue, validValueClass.getName()}));
+ throw new InvalidValueException(LocalizedStrings.AbstractDistributionConfig_0_VALUE_1_MUST_BE_OF_TYPE_2.toLocalizedString(new Object[]{attName, attValue, validValueClass.getName()}));
}
}
- if (attName.equalsIgnoreCase(ACK_WAIT_THRESHOLD_NAME)) {
- this.setAckWaitThreshold(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(ACK_SEVERE_ALERT_THRESHOLD_NAME)) {
- this.setAckSevereAlertThreshold(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(ARCHIVE_DISK_SPACE_LIMIT_NAME)) {
- this.setArchiveDiskSpaceLimit(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(ARCHIVE_FILE_SIZE_LIMIT_NAME)) {
- this.setArchiveFileSizeLimit(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(CACHE_XML_FILE_NAME)) {
- this.setCacheXmlFile((File)attValue);
- } else if (attName.equalsIgnoreCase(DEPLOY_WORKING_DIR)) {
- this.setDeployWorkingDir((File)attValue);
- } else if (attName.equalsIgnoreCase(LOG_DISK_SPACE_LIMIT_NAME)) {
- this.setLogDiskSpaceLimit(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(LOG_FILE_NAME)) {
- this.setLogFile((File)attValue);
- } else if (attName.equalsIgnoreCase(LOG_FILE_SIZE_LIMIT_NAME)) {
- this.setLogFileSizeLimit(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(LOG_LEVEL_NAME)) {
- this.setLogLevel(LogWriterImpl.levelNameToCode((String)attValue));
- } else if (attName.equalsIgnoreCase(LOCATORS_NAME)) {
- this.setLocators((String)attValue);
- } else if (attName.equalsIgnoreCase(LOCATOR_WAIT_TIME_NAME)) {
- this.setLocatorWaitTime(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(REMOTE_LOCATORS_NAME)) {
- this.setRemoteLocators((String)attValue);
- } else if (attName.equalsIgnoreCase(MCAST_ADDRESS_NAME)) {
- this.setMcastAddress((InetAddress)attValue);
- } else if (attName.equalsIgnoreCase(BIND_ADDRESS_NAME)) {
- this.setBindAddress((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_BIND_ADDRESS_NAME)) {
- this.setServerBindAddress((String)attValue);
- } else if (attName.equalsIgnoreCase(TCP_PORT_NAME)) {
- this.setTcpPort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MCAST_PORT_NAME)) {
- this.setMcastPort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MCAST_TTL_NAME)) {
- this.setMcastTtl(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(SOCKET_LEASE_TIME_NAME)) {
- this.setSocketLeaseTime(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(SOCKET_BUFFER_SIZE_NAME)) {
- this.setSocketBufferSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(CONSERVE_SOCKETS_NAME)) {
- this.setConserveSockets(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(ROLES_NAME)) {
- this.setRoles((String)attValue);
- } else if (attName.equalsIgnoreCase(NAME_NAME)) {
- this.setName((String)attValue);
- } else if (attName.equalsIgnoreCase(STATISTIC_ARCHIVE_FILE_NAME)) {
- this.setStatisticArchiveFile((File)attValue);
- } else if (attName.equalsIgnoreCase(STATISTIC_SAMPLE_RATE_NAME)) {
- this.setStatisticSampleRate(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(STATISTIC_SAMPLING_ENABLED_NAME)) {
- this.setStatisticSamplingEnabled(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(SSL_ENABLED_NAME)) {
- this.setSSLEnabled(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(SSL_PROTOCOLS_NAME)) {
- this.setSSLProtocols((String)attValue);
- } else if (attName.equalsIgnoreCase(SSL_CIPHERS_NAME)) {
- this.setSSLCiphers((String)attValue);
- } else if (attName.equalsIgnoreCase(SSL_REQUIRE_AUTHENTICATION_NAME)) {
- this.setSSLRequireAuthentication(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_ENABLED_NAME)) {
- this.setClusterSSLEnabled(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_PROTOCOLS_NAME)) {
- this.setClusterSSLProtocols((String)attValue);
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_CIPHERS_NAME)) {
- this.setClusterSSLCiphers((String)attValue);
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME)) {
- this.setClusterSSLRequireAuthentication(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_KEYSTORE_NAME)) {
- this.setClusterSSLKeyStore((String)attValue);
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_KEYSTORE_TYPE_NAME)) {
- this.setClusterSSLKeyStoreType((String)attValue);
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_KEYSTORE_PASSWORD_NAME)) {
- this.setClusterSSLKeyStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_TRUSTSTORE_NAME)) {
- this.setClusterSSLTrustStore((String)attValue);
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME)) {
- this.setClusterSSLTrustStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(MCAST_SEND_BUFFER_SIZE_NAME)) {
- this.setMcastSendBufferSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MCAST_RECV_BUFFER_SIZE_NAME)) {
- this.setMcastRecvBufferSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(UDP_SEND_BUFFER_SIZE_NAME)) {
- this.setUdpSendBufferSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(UDP_RECV_BUFFER_SIZE_NAME)) {
- this.setUdpRecvBufferSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MCAST_FLOW_CONTROL_NAME)) {
- this.setMcastFlowControl((FlowControlParams)attValue);
- } else if (attName.equalsIgnoreCase(UDP_FRAGMENT_SIZE_NAME)) {
- this.setUdpFragmentSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(DISABLE_TCP_NAME)) {
- this.setDisableTcp(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(ENABLE_TIME_STATISTICS_NAME)) {
- this.setEnableTimeStatistics(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(MEMBER_TIMEOUT_NAME)) {
- this.setMemberTimeout(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MEMBERSHIP_PORT_RANGE_NAME)) {
- this.setMembershipPortRange((int[])attValue);
- } else if (attName.equalsIgnoreCase(MAX_WAIT_TIME_FOR_RECONNECT_NAME)){
- this.setMaxWaitTimeForReconnect(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MAX_NUM_RECONNECT_TRIES)){
- this.setMaxNumReconnectTries(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(ASYNC_DISTRIBUTION_TIMEOUT_NAME)) {
- this.setAsyncDistributionTimeout(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(ASYNC_QUEUE_TIMEOUT_NAME)) {
- this.setAsyncQueueTimeout(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(ASYNC_MAX_QUEUE_SIZE_NAME)) {
- this.setAsyncMaxQueueSize(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(START_LOCATOR_NAME)) {
- this.setStartLocator((String)attValue);
- } else if (attName.equalsIgnoreCase(CLIENT_CONFLATION_PROP_NAME)) {
- this.setClientConflation((String)attValue);
- } else if (attName.equalsIgnoreCase(DURABLE_CLIENT_ID_NAME)) {
- this.setDurableClientId((String)attValue);
- } else if (attName.equalsIgnoreCase(DURABLE_CLIENT_TIMEOUT_NAME)) {
- this.setDurableClientTimeout(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(SECURITY_CLIENT_AUTH_INIT_NAME)) {
- this.setSecurityClientAuthInit((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_CLIENT_AUTHENTICATOR_NAME)) {
- this.setSecurityClientAuthenticator((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_CLIENT_DHALGO_NAME)) {
- this.setSecurityClientDHAlgo((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_PEER_AUTH_INIT_NAME)) {
- this.setSecurityPeerAuthInit((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_PEER_AUTHENTICATOR_NAME)) {
- this.setSecurityPeerAuthenticator((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_CLIENT_ACCESSOR_NAME)) {
- this.setSecurityClientAccessor((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_CLIENT_ACCESSOR_PP_NAME)) {
- this.setSecurityClientAccessorPP((String)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_LOG_LEVEL_NAME)) {
- this.setSecurityLogLevel(LogWriterImpl.levelNameToCode((String)attValue));
- } else if (attName.equalsIgnoreCase(SECURITY_LOG_FILE_NAME)) {
- this.setSecurityLogFile((File)attValue);
- } else if (attName.equalsIgnoreCase(SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME)) {
- this.setSecurityPeerMembershipTimeout(((Integer)attValue).intValue());
- } else if (attName.startsWith(SECURITY_PREFIX_NAME)) {
- this.setSecurity(attName,(String)attValue);
- } else if (attName.equalsIgnoreCase(ENABLE_NETWORK_PARTITION_DETECTION_NAME)) {
- this.setEnableNetworkPartitionDetection(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(DISABLE_AUTO_RECONNECT_NAME)) {
- this.setDisableAutoReconnect(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME)) {
- this.setRemoveUnresponsiveClient(((Boolean)attValue).booleanValue());
- } else if (attName.startsWith(DELTA_PROPAGATION_PROP_NAME)) {
- this.setDeltaPropagation((((Boolean)attValue).booleanValue()));
- } else if (attName.startsWith(DISTRIBUTED_SYSTEM_ID_NAME)) {
- this.setDistributedSystemId((Integer)attValue);
- } else if (attName.startsWith(REDUNDANCY_ZONE_NAME)) {
- this.setRedundancyZone((String)attValue);
- } else if (attName.startsWith(ENFORCE_UNIQUE_HOST_NAME)) {
- this.setEnforceUniqueHost(((Boolean)attValue).booleanValue());
- } else if (attName.startsWith(USERDEFINED_PREFIX_NAME)) {
+ if (attName.startsWith(USERDEFINED_PREFIX_NAME)) {
//Do nothing its user defined property.
- } else if (attName.startsWith(SSL_SYSTEM_PROPS_NAME) || attName.startsWith(SYS_PROP_NAME)) {
- this.setSSLProperty(attName, (String)attValue);
- } else if (attName.equalsIgnoreCase(GROUPS_NAME)) {
- this.setGroups((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_NAME)) {
- this.setJmxManager((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_START_NAME)) {
- this.setJmxManagerStart((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_NAME)) {
- this.setJmxManagerSSL((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_ENABLED_NAME)) {
- this.setJmxManagerSSLEnabled((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_REQUIRE_AUTHENTICATION_NAME)) {
- this.setJmxManagerSSLRequireAuthentication((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_PROTOCOLS_NAME)) {
- this.setJmxManagerSSLProtocols((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_CIPHERS_NAME)) {
- this.setJmxManagerSSLCiphers((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_KEYSTORE_NAME)) {
- this.setJmxManagerSSLKeyStore((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_KEYSTORE_TYPE_NAME)) {
- this.setJmxManagerSSLKeyStoreType((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_KEYSTORE_PASSWORD_NAME)) {
- this.setJmxManagerSSLKeyStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_TRUSTSTORE_NAME)) {
- this.setJmxManagerSSLTrustStore((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_SSL_TRUSTSTORE_PASSWORD_NAME)) {
- this.setJmxManagerSSLTrustStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_PORT_NAME)) {
- this.setJmxManagerPort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_BIND_ADDRESS_NAME)) {
- this.setJmxManagerBindAddress((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_HOSTNAME_FOR_CLIENTS_NAME)) {
- this.setJmxManagerHostnameForClients((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_PASSWORD_FILE_NAME)) {
- this.setJmxManagerPasswordFile((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_ACCESS_FILE_NAME)) {
- this.setJmxManagerAccessFile((String)attValue);
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_HTTP_PORT_NAME)) {
- this.setJmxManagerHttpPort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(JMX_MANAGER_UPDATE_RATE_NAME)) {
- this.setJmxManagerUpdateRate(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MEMCACHED_PORT_NAME)) {
- this.setMemcachedPort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(MEMCACHED_PROTOCOL_NAME)) {
- this.setMemcachedProtocol((String)attValue);
- } else if (attName.equalsIgnoreCase(MEMCACHED_BIND_ADDRESS_NAME)) {
- this.setMemcachedBindAddress((String)attValue);
- } else if (attName.equalsIgnoreCase(REDIS_PORT_NAME)) {
- this.setRedisPort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(REDIS_BIND_ADDRESS_NAME)) {
- this.setRedisBindAddress((String)attValue);
- } else if (attName.equalsIgnoreCase(REDIS_PASSWORD_NAME)) {
- this.setRedisPassword((String)attValue);
- } else if (attName.equalsIgnoreCase(USER_COMMAND_PACKAGES)) {
- this.setUserCommandPackages((String)attValue);
- } else if (attName.equalsIgnoreCase(ENABLE_CLUSTER_CONFIGURATION_NAME)) {
- this.setEnableClusterConfiguration(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(LOAD_CLUSTER_CONFIG_FROM_DIR_NAME)) {
- this.setLoadClusterConfigFromDir(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(USE_CLUSTER_CONFIGURATION_NAME)) {
- this.setUseSharedConfiguration(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(CLUSTER_CONFIGURATION_DIR)) {
- this.setClusterConfigDir((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_ENABLED_NAME)) {
- this.setServerSSLEnabled((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(SERVER_SSL_REQUIRE_AUTHENTICATION_NAME)) {
- this.setServerSSLRequireAuthentication((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(SERVER_SSL_PROTOCOLS_NAME)) {
- this.setServerSSLProtocols((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_CIPHERS_NAME)) {
- this.setServerSSLCiphers((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_KEYSTORE_NAME)) {
- this.setServerSSLKeyStore((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_KEYSTORE_TYPE_NAME)) {
- this.setServerSSLKeyStoreType((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_KEYSTORE_PASSWORD_NAME)) {
- this.setServerSSLKeyStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_TRUSTSTORE_NAME)) {
- this.setServerSSLTrustStore((String)attValue);
- } else if (attName.equalsIgnoreCase(SERVER_SSL_TRUSTSTORE_PASSWORD_NAME)) {
- this.setServerSSLTrustStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_ENABLED_NAME)) {
- this.setGatewaySSLEnabled((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_REQUIRE_AUTHENTICATION_NAME)) {
- this.setGatewaySSLRequireAuthentication((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_PROTOCOLS_NAME)) {
- this.setGatewaySSLProtocols((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_CIPHERS_NAME)) {
- this.setGatewaySSLCiphers((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_KEYSTORE_NAME)) {
- this.setGatewaySSLKeyStore((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_KEYSTORE_TYPE_NAME)) {
- this.setGatewaySSLKeyStoreType((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_KEYSTORE_PASSWORD_NAME)) {
- this.setGatewaySSLKeyStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_TRUSTSTORE_NAME)) {
- this.setGatewaySSLTrustStore((String)attValue);
- } else if (attName.equalsIgnoreCase(GATEWAY_SSL_TRUSTSTORE_PASSWORD_NAME)) {
- this.setGatewaySSLTrustStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_PORT_NAME)) {
- this.setHttpServicePort(((Integer)attValue).intValue());
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_BIND_ADDRESS_NAME)) {
- this.setHttpServiceBindAddress((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_ENABLED_NAME)) {
- this.setHttpServiceSSLEnabled((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME)) {
- this.setHttpServiceSSLRequireAuthentication((((Boolean)attValue).booleanValue()));
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_PROTOCOLS_NAME)) {
- this.setHttpServiceSSLProtocols((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_CIPHERS_NAME)) {
- this.setHttpServiceSSLCiphers((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_KEYSTORE_NAME)) {
- this.setHttpServiceSSLKeyStore((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME)) {
- this.setHttpServiceSSLKeyStoreType((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME)) {
- this.setHttpServiceSSLKeyStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_TRUSTSTORE_NAME)) {
- this.setHttpServiceSSLTrustStore((String)attValue);
- } else if (attName.equalsIgnoreCase(HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME)) {
- this.setHttpServiceSSLTrustStorePassword((String)attValue);
- } else if (attName.equalsIgnoreCase(START_DEV_REST_API_NAME)) {
- this.setStartDevRestApi(((Boolean)attValue).booleanValue());
- } else if (attName.equalsIgnoreCase(OFF_HEAP_MEMORY_SIZE_NAME)) {
- this.setOffHeapMemorySize((String)attValue);
- } else if (attName.equalsIgnoreCase(LOCK_MEMORY_NAME)) {
- this.setLockMemory((Boolean)attValue);
- } else if (attName.equalsIgnoreCase(DISTRIBUTED_TRANSACTIONS_NAME)) {
- this.setDistributedTransactions(((Boolean)attValue).booleanValue());
- } else {
+ return;
+ }
+
+ // special case: log-level and security-log-level attributes are String type, but the setter accepts int
+ if(attName.equalsIgnoreCase(LOG_LEVEL_NAME) || attName.equalsIgnoreCase(SECURITY_LOG_LEVEL_NAME)){
+ attValue = LogWriterImpl.levelNameToCode((String)attValue);
+ }
+
+ Method setter = setters.get(attName);
+ if (setter == null) {
+ // if we cann't find the defined setter, look for two more special cases
+ if (attName.startsWith(SECURITY_PREFIX_NAME)) {
+ this.setSecurity(attName,(String)attValue);
+ getAttSourceMap().put(attName, source);
+ return;
+ }
+ if (attName.startsWith(SSL_SYSTEM_PROPS_NAME) || attName.startsWith(SYS_PROP_NAME)) {
+ this.setSSLProperty(attName, (String) attValue);
+ getAttSourceMap().put(attName, source);
+ return;
+ }
throw new InternalGemFireException(LocalizedStrings.AbstractDistributionConfig_UNHANDLED_ATTRIBUTE_NAME_0.toLocalizedString(attName));
}
+
+ Class[] pTypes = setter.getParameterTypes();
+ if (pTypes.length != 1)
+ throw new InternalGemFireException("the attribute setter must have one and only one parametter");
+
+
+ try {
+ setter.invoke(this, attValue);
+ } catch (Exception e) {
+ if(e instanceof RuntimeException){
+ throw (RuntimeException)e;
+ }
+ if(e.getCause() instanceof RuntimeException){
+ throw (RuntimeException)e.getCause();
+ }
+ else
+ throw new InternalGemFireException("error invoking "+setter.getName()+" with "+attValue, e);
+ }
+
getAttSourceMap().put(attName, source);
}
public Object getAttributeObject(String attName) {
checkAttributeName(attName);
- if (attName.equalsIgnoreCase(ACK_WAIT_THRESHOLD_NAME)) {
- return Integer.valueOf(this.getAckWaitThreshold());
- } else if (attName.equalsIgnoreCase(ACK_SEVERE_ALERT_THRESHOLD_NAME)) {
- return Integer.valueOf(this.getAckSevereAlertThreshold());
- } else if (attName.equalsIgnoreCase(ARCHIVE_DISK_SPACE_LIMIT_NAME)) {
- return Integer.valueOf(this.getArchiveDiskSpaceLimit());
- } else if (attName.equalsIgnoreCase(ARCHIVE_FILE_SIZE_LIMIT_NAME)) {
- return Integer.valueOf(this.getArchiveFileSizeLimit());
- } else if (attName.equalsIgnoreCase(CACHE_XML_FILE_NAME)) {
- return this.getCacheXmlFile();
- } else if (attName.equalsIgnoreCase(DEPLOY_WORKING_DIR)) {
- return this.getDeployWorkingDir();
- } else if (attName.equalsIgnoreCase(LOG_DISK_SPACE_LIMIT_NAME)) {
- return Integer.valueOf(this.getLogDiskSpaceLimit());
- } else if (attName.equalsIgnoreCase(LOG_FILE_NAME)) {
- return this.getLogFile();
- } else if (attName.equalsIgnoreCase(LOG_FILE_SIZE_LIMIT_NAME)) {
- return Integer.valueOf(this.getLogFileSizeLimit());
- } else if (attName.equalsIgnoreCase(LOG_LEVEL_NAME)) {
+
+ // special case:
+ if (attName.equalsIgnoreCase(LOG_LEVEL_NAME)) {
return LogWriterImpl.levelToString(this.getLogLevel());
- } else if (attName.equalsIgnoreCase(LOCATORS_NAME)) {
- return this.getLocators();
- } else if (attName.equalsIgnoreCase(LOCATOR_WAIT_TIME_NAME)) {
- return Integer.valueOf(this.getLocatorWaitTime());
- } else if (attName.equalsIgnoreCase(REMOTE_LOCATORS_NAME)) {
- return this.getRemoteLocators();
- } else if (attName.equalsIgnoreCase(MCAST_ADDRESS_NAME)) {
- return this.getMcastAddress();
- } else if (attName.equalsIgnoreCase(BIND_ADDRESS_NAME)) {
- return this.getBindAddress();
- } else if (attName.equalsIgnoreCase(SERVER_BIND_ADDRESS_NAME)) {
- return this.getServerBindAddress();
- } else if (attName.equalsIgnoreCase(TCP_PORT_NAME)) {
- return Integer.valueOf(this.getTcpPort());
- } else if (attName.equalsIgnoreCase(MCAST_PORT_NAME)) {
- return Integer.valueOf(this.getMcastPort());
- } else if (attName.equalsIgnoreCase(MCAST_TTL_NAME)) {
- return Integer.valueOf(this.getMcastTtl());
- } else if (attName.equalsIgnoreCase(SOCKET_LEASE_TIME_NAME)) {
- return Integer.valueOf(this.getSocketLeaseTime());
- } else if (attName.equalsIgnoreCase(SOCKET_BUFFER_SIZE_NAME)) {
- return Integer.valueOf(this.getSocketBufferSize());
- } else if (attName.equalsIgnoreCase(CONSERVE_SOCKETS_NAME)) {
- return Boolean.valueOf(this.getConserveSockets());
- } else if (attName.equalsIgnoreCase(ROLES_NAME)) {
- return this.getRoles();
- } else if (attName.equalsIgnoreCase(NAME_NAME)) {
- return this.getName();
- } else if (attName.equalsIgnoreCase(STATISTIC_ARCHIVE_FILE_NAME)) {
- return this.getStatisticArchiveFile();
- } else if (attName.equalsIgnoreCase(STATISTIC_SAMPLE_RATE_NAME)) {
- return Integer.valueOf(this.getStatisticSampleRate());
- } else if (attName.equalsIgnoreCase(STATISTIC_SAMPLING_ENABLED_NAME)) {
- return Boolean.valueOf(this.getStatisticSamplingEnabled());
- } else if (attName.equalsIgnoreCase(SSL_ENABLED_NAME)) {
- return this.getSSLEnabled() ? Boolean.TRUE : Boolean.FALSE;
- } else if (attName.equalsIgnoreCase(SSL_PROTOCOLS_NAME)) {
- return this.getSSLProtocols();
- } else if (attName.equalsIgnoreCase(SSL_CIPHERS_NAME)) {
- return this.getSSLCiphers();
- } else if (attName.equalsIgnoreCase(SSL_REQUIRE_AUTHENTICATION_NAME)) {
- return this.getSSLRequireAuthentication() ? Boolean.TRUE : Boolean.FALSE;
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_ENABLED_NAME)) {
- return this.getClusterSSLEnabled() ? Boolean.TRUE : Boolean.FALSE;
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_PROTOCOLS_NAME)) {
- return this.getClusterSSLProtocols();
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_CIPHERS_NAME)) {
- return this.getClusterSSLCiphers();
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME)) {
- return this.getClusterSSLRequireAuthentication() ? Boolean.TRUE : Boolean.FALSE;
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_KEYSTORE_NAME)) {
- return this.getClusterSSLKeyStore();
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_KEYSTORE_TYPE_NAME)) {
- return this.getClusterSSLKeyStoreType();
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_KEYSTORE_PASSWORD_NAME)) {
- return this.getClusterSSLKeyStorePassword();
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_TRUSTSTORE_NAME)) {
- return this.getClusterSSLTrustStore();
- } else if (attName.equalsIgnoreCase(CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME)) {
- return this.getClusterSSLTrustStorePassword();
- } else if (attName.equalsIgnoreCase(MCAST_SEND_BUFFER_SIZE_NAME)) {
<TRUNCATED>
[2/5] incubator-geode git commit: GEODE-913: refactor
AbstractDistributionConfig
Posted by ji...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java
index f8ff21a..3af8c15 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionConfig.java
@@ -17,10 +17,6 @@
package com.gemstone.gemfire.distributed.internal;
-import java.io.File;
-import java.net.InetAddress;
-import java.util.Properties;
-
import com.gemstone.gemfire.distributed.DistributedSystem;
import com.gemstone.gemfire.internal.Config;
import com.gemstone.gemfire.internal.ConfigSource;
@@ -29,6 +25,12 @@ import com.gemstone.gemfire.internal.logging.LogConfig;
import com.gemstone.gemfire.internal.tcp.Connection;
import com.gemstone.gemfire.memcached.GemFireMemcachedServer;
+import java.io.File;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.InetAddress;
+import java.util.*;
+
/**
* Provides accessor (and in some cases mutator) methods for the
* various GemFire distribution configuration properties. The
@@ -49,7 +51,6 @@ import com.gemstone.gemfire.memcached.GemFireMemcachedServer;
*/
public interface DistributionConfig extends Config, LogConfig {
-
//////////////////// Instance Methods ////////////////////
/**
@@ -62,7 +63,9 @@ public interface DistributionConfig extends Config, LogConfig {
* <p> The default value is: {@link #DEFAULT_NAME}.
* @return the system's name.
*/
+ @ConfigAttributeGetter(name=NAME_NAME)
public String getName();
+
/**
* Sets the member's name.
* <p> The name can not be changed while the system is running.
@@ -71,16 +74,15 @@ public interface DistributionConfig extends Config, LogConfig {
* @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error
* when writing to the system's configuration file.
*/
+ @ConfigAttributeSetter(name=NAME_NAME)
public void setName(String value);
- /**
- * Returns true if the value of the <code>name</code> attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isNameModifiable();
+
/** The name of the "name" property */
+ @ConfigAttribute(type=String.class)
public static final String NAME_NAME = "name";
+
+
/**
* The default system name.
* <p> Actual value of this constant is <code>""</code>.
@@ -92,22 +94,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#mcast-port">"mcast-port"</a>
* property
*/
+ @ConfigAttributeGetter(name=MCAST_PORT_NAME)
public int getMcastPort();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#mcast-port">"mcast-port"</a>
* property
*/
+ @ConfigAttributeSetter(name=MCAST_PORT_NAME)
public void setMcastPort(int value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isMcastPortModifiable();
- /** The name of the "mcastPort" property */
- public static final String MCAST_PORT_NAME = "mcast-port";
/** The default value of the "mcastPort" property */
public static final int DEFAULT_MCAST_PORT = 0;
@@ -122,27 +118,25 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MAX_MCAST_PORT = 65535;
+ /** The name of the "mcastPort" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_MCAST_PORT, max=MAX_MCAST_PORT)
+ public static final String MCAST_PORT_NAME = "mcast-port";
/**
* Returns the value of the <a
* href="../DistributedSystem.html#tcp-port">"tcp-port"</a>
* property
*/
+ @ConfigAttributeGetter(name=TCP_PORT_NAME)
public int getTcpPort();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#tcp-port">"tcp-port"</a>
* property
*/
+ @ConfigAttributeSetter(name=TCP_PORT_NAME)
public void setTcpPort(int value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isTcpPortModifiable();
- /** The name of the "tcpPort" property */
- public static final String TCP_PORT_NAME = "tcp-port";
+
/** The default value of the "tcpPort" property */
public static final int DEFAULT_TCP_PORT = 0;
/**
@@ -155,28 +149,28 @@ public interface DistributionConfig extends Config, LogConfig {
* <p> Actual value of this constant is <code>65535</code>.
*/
public static final int MAX_TCP_PORT = 65535;
-
+ /** The name of the "tcpPort" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_TCP_PORT, max=MAX_TCP_PORT)
+ public static final String TCP_PORT_NAME = "tcp-port";
/**
* Returns the value of the <a
* href="../DistributedSystem.html#mcast-address">"mcast-address"</a>
* property
*/
+ @ConfigAttributeGetter(name=MCAST_ADDRESS_NAME)
public InetAddress getMcastAddress();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#mcast-address">"mcast-address"</a>
* property
*/
+ @ConfigAttributeSetter(name=MCAST_ADDRESS_NAME)
public void setMcastAddress(InetAddress value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isMcastAddressModifiable();
+
/** The name of the "mcastAddress" property */
+ @ConfigAttribute(type=InetAddress.class)
public static final String MCAST_ADDRESS_NAME = "mcast-address";
/** The default value of the "mcastAddress" property.
@@ -189,22 +183,15 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#mcast-ttl">"mcast-ttl"</a>
* property
*/
+ @ConfigAttributeGetter(name=MCAST_TTL_NAME)
public int getMcastTtl();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#mcast-ttl">"mcast-ttl"</a>
* property
*/
+ @ConfigAttributeSetter(name=MCAST_TTL_NAME)
public void setMcastTtl(int value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isMcastTtlModifiable();
-
- /** The name of the "mcastTtl" property */
- public static final String MCAST_TTL_NAME = "mcast-ttl";
/** The default value of the "mcastTtl" property */
public static final int DEFAULT_MCAST_TTL = 32;
@@ -218,32 +205,28 @@ public interface DistributionConfig extends Config, LogConfig {
* <p> Actual value of this constant is <code>255</code>.
*/
public static final int MAX_MCAST_TTL = 255;
-
-
- public static final int MIN_DISTRIBUTED_SYSTEM_ID = -1;
-
- public static final int MAX_DISTRIBUTED_SYSTEM_ID = 255;
+
+ /** The name of the "mcastTtl" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_MCAST_TTL, max=MAX_MCAST_TTL)
+ public static final String MCAST_TTL_NAME = "mcast-ttl";
/**
* Returns the value of the <a
* href="../DistributedSystem.html#bind-address">"bind-address"</a>
* property
*/
+ @ConfigAttributeGetter(name=BIND_ADDRESS_NAME)
public String getBindAddress();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#bind-address">"bind-address"</a>
* property
*/
+ @ConfigAttributeSetter(name=BIND_ADDRESS_NAME)
public void setBindAddress(String value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isBindAddressModifiable();
/** The name of the "bindAddress" property */
+ @ConfigAttribute(type=String.class)
public static final String BIND_ADDRESS_NAME = "bind-address";
/** The default value of the "bindAddress" property.
@@ -256,21 +239,18 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#server-bind-address">"server-bind-address"</a>
* property
*/
+ @ConfigAttributeGetter(name=SERVER_BIND_ADDRESS_NAME)
public String getServerBindAddress();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#server-bind-address">"server-bind-address"</a>
* property
*/
+ @ConfigAttributeSetter(name=SERVER_BIND_ADDRESS_NAME)
public void setServerBindAddress(String value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isServerBindAddressModifiable();
/** The name of the "serverBindAddress" property */
+ @ConfigAttribute(type=String.class)
public static final String SERVER_BIND_ADDRESS_NAME = "server-bind-address";
/** The default value of the "serverBindAddress" property.
@@ -282,6 +262,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns the value of the <a
* href="../DistributedSystem.html#locators">"locators"</a> property
*/
+ @ConfigAttributeGetter(name=LOCATORS_NAME)
public String getLocators();
/**
* Sets the system's locator list.
@@ -295,15 +276,11 @@ public interface DistributionConfig extends Config, LogConfig {
* @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error
* when writing to the system's configuration file.
*/
+ @ConfigAttributeSetter(name=LOCATORS_NAME)
public void setLocators(String value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isLocatorsModifiable();
/** The name of the "locators" property */
+ @ConfigAttribute(type=String.class)
public static final String LOCATORS_NAME = "locators";
/** The default value of the "locators" property */
@@ -313,17 +290,20 @@ public interface DistributionConfig extends Config, LogConfig {
* Locator wait time - how long to wait for a locator to start before giving up &
* throwing a GemFireConfigException
*/
+ @ConfigAttribute(type=Integer.class)
public static final String LOCATOR_WAIT_TIME_NAME = "locator-wait-time";
- public static final int DEFAULT_LOCATOR_WAIT_TIME = 0;
+ public static final int DEFAULT_LOCATOR_WAIT_TIME = 0;
+ @ConfigAttributeGetter(name=LOCATOR_WAIT_TIME_NAME)
public int getLocatorWaitTime();
+ @ConfigAttributeSetter(name=LOCATOR_WAIT_TIME_NAME)
public void setLocatorWaitTime(int seconds);
- public boolean isLocatorWaitTimeModifiable();
/**
* returns the value of the <a href="../DistribytedSystem.html#start-locator">"start-locator"
* </a> property
*/
+ @ConfigAttributeGetter(name=START_LOCATOR_NAME)
public String getStartLocator();
/**
* Sets the start-locator property. This is a string in the form
@@ -331,15 +311,13 @@ public interface DistributionConfig extends Config, LogConfig {
* a locator prior to connecting
* @param value must be of the form <code>hostName[portNum]</code>
*/
+ @ConfigAttributeSetter(name=START_LOCATOR_NAME)
public void setStartLocator(String value);
- /**
- * returns true if the value of the attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isStartLocatorModifiable();
+
/**
* The name of the "start-locator" property
*/
+ @ConfigAttribute(type=String.class)
public static final String START_LOCATOR_NAME = "start-locator";
/**
* The default value of the "start-locator" property
@@ -350,6 +328,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns the value of the <a
* href="../DistributedSystem.html#deploy-working-dir">"deploy-working-dir"</a> property
*/
+ @ConfigAttributeGetter(name=DEPLOY_WORKING_DIR)
public File getDeployWorkingDir();
/**
@@ -359,17 +338,13 @@ public interface DistributionConfig extends Config, LogConfig {
* @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error
* when writing to the system's configuration file.
*/
+ @ConfigAttributeSetter(name=DEPLOY_WORKING_DIR)
public void setDeployWorkingDir(File value);
/**
- * Returns true if the value of the deploy-working-dir attribute can
- * currently be modified. Some attributes can not be modified while the system is running.
- */
- public boolean isDeployWorkingDirModifiable();
-
- /**
* The name of the "deploy-working-dir" property.
*/
+ @ConfigAttribute(type=File.class)
public static final String DEPLOY_WORKING_DIR = "deploy-working-dir";
/**
@@ -382,6 +357,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns the value of the <a
* href="../DistributedSystem.html#user-command-packages">"user-command-packages"</a> property
*/
+ @ConfigAttributeGetter(name=USER_COMMAND_PACKAGES)
public String getUserCommandPackages();
/**
@@ -391,17 +367,13 @@ public interface DistributionConfig extends Config, LogConfig {
* @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error
* when writing to the system's configuration file.
*/
+ @ConfigAttributeSetter(name=USER_COMMAND_PACKAGES)
public void setUserCommandPackages(String value);
/**
- * Returns true if the value of the user-command-packages attribute can
- * currently be modified. Some attributes can not be modified while the system is running.
- */
- public boolean isUserCommandPackagesModifiable();
-
- /**
* The name of the "user-command-packages" property.
*/
+ @ConfigAttribute(type=String.class)
public static final String USER_COMMAND_PACKAGES = "user-command-packages";
/**
@@ -416,6 +388,7 @@ public interface DistributionConfig extends Config, LogConfig {
* @return <code>null</code> if logging information goes to standard
* out
*/
+ @ConfigAttributeGetter(name=LOG_FILE_NAME)
public File getLogFile();
/**
* Sets the system's log file.
@@ -426,14 +399,11 @@ public interface DistributionConfig extends Config, LogConfig {
* @throws com.gemstone.gemfire.GemFireIOException if the set failure is caused by an error
* when writing to the system's configuration file.
*/
+ @ConfigAttributeSetter(name=LOG_FILE_NAME)
public void setLogFile(File value);
- /**
- * Returns true if the value of the logFile attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isLogFileModifiable();
+
/** The name of the "logFile" property */
+ @ConfigAttribute(type=File.class)
public static final String LOG_FILE_NAME = "log-file";
/**
@@ -449,6 +419,7 @@ public interface DistributionConfig extends Config, LogConfig {
*
* @see com.gemstone.gemfire.internal.logging.LogWriterImpl
*/
+ @ConfigAttributeGetter(name=LOG_LEVEL_NAME)
public int getLogLevel();
/**
* Sets the value of the <a
@@ -456,19 +427,10 @@ public interface DistributionConfig extends Config, LogConfig {
*
* @see com.gemstone.gemfire.internal.logging.LogWriterImpl
*/
+ @ConfigAttributeSetter(name=LOG_LEVEL_NAME)
public void setLogLevel(int value);
/**
- * Returns true if the value of the logLevel attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isLogLevelModifiable();
-
- /** The name of the "logLevel" property */
- public static final String LOG_LEVEL_NAME = "log-level";
-
- /**
* The default log level.
* <p> Actual value of this constant is {@link InternalLogWriter#CONFIG_LEVEL}.
*/
@@ -484,23 +446,26 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MAX_LOG_LEVEL = InternalLogWriter.NONE_LEVEL;
+ /** The name of the "logLevel" property */
+ // type is String because the config file contains "config", "debug", "fine" etc, not a code, but the setter/getter accepts int
+ @ConfigAttribute(type=String.class)
+ public static final String LOG_LEVEL_NAME = "log-level";
+
/**
* Returns the value of the <a
* href="../DistributedSystem.html#statistic-sampling-enabled">"statistic-sampling-enabled"</a>
* property
*/
+ @ConfigAttributeGetter(name=STATISTIC_SAMPLING_ENABLED_NAME)
public boolean getStatisticSamplingEnabled();
/**
* Sets StatisticSamplingEnabled
*/
+ @ConfigAttributeSetter(name=STATISTIC_SAMPLING_ENABLED_NAME)
public void setStatisticSamplingEnabled(boolean newValue);
- /**
- * Returns true if the value of the StatisticSamplingEnabled attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isStatisticSamplingEnabledModifiable();
+
/** The name of the "statisticSamplingEnabled" property */
+ @ConfigAttribute(type=Boolean.class)
public static final String STATISTIC_SAMPLING_ENABLED_NAME =
"statistic-sampling-enabled";
@@ -512,19 +477,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#statistic-sample-rate">"statistic-sample-rate"</a>
* property
*/
+ @ConfigAttributeGetter(name=STATISTIC_SAMPLE_RATE_NAME)
public int getStatisticSampleRate();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#statistic-sample-rate">"statistic-sample-rate"</a>
* property
*/
+ @ConfigAttributeSetter(name=STATISTIC_SAMPLE_RATE_NAME)
public void setStatisticSampleRate(int value);
- /**
- * Returns true if the value of the statisticSampleRate attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isStatisticSampleRateModifiable();
+
/**
* The default statistic sample rate.
* <p> Actual value of this constant is <code>1000</code> milliseconds.
@@ -542,6 +504,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final int MAX_STATISTIC_SAMPLE_RATE = 60000;
/** The name of the "statisticSampleRate" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_STATISTIC_SAMPLE_RATE, max=MAX_STATISTIC_SAMPLE_RATE)
public static final String STATISTIC_SAMPLE_RATE_NAME =
"statistic-sample-rate";
@@ -550,18 +513,16 @@ public interface DistributionConfig extends Config, LogConfig {
*
* @return <code>null</code> if no file was specified
*/
+ @ConfigAttributeGetter(name=STATISTIC_ARCHIVE_FILE_NAME)
public File getStatisticArchiveFile();
/**
* Sets the value of the <a href="../DistributedSystem.html#statistic-archive-file">"statistic-archive-file"</a> property.
*/
+ @ConfigAttributeSetter(name=STATISTIC_ARCHIVE_FILE_NAME)
public void setStatisticArchiveFile(File value);
- /**
- * Returns true if the value of the statisticArchiveFile attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isStatisticArchiveFileModifiable();
+
/** The name of the "statisticArchiveFile" property */
+ @ConfigAttribute(type=File.class)
public static final String STATISTIC_ARCHIVE_FILE_NAME =
"statistic-archive-file";
@@ -578,20 +539,18 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cache-xml-file">"cache-xml-file"</a>
* property
*/
+ @ConfigAttributeGetter(name=CACHE_XML_FILE_NAME)
public File getCacheXmlFile();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#cache-xml-file">"cache-xml-file"</a>
* property
*/
+ @ConfigAttributeSetter(name=CACHE_XML_FILE_NAME)
public void setCacheXmlFile(File value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isCacheXmlFileModifiable();
+
/** The name of the "cacheXmlFile" property */
+ @ConfigAttribute(type=File.class)
public static final String CACHE_XML_FILE_NAME = "cache-xml-file";
/** The default value of the "cacheXmlFile" property */
@@ -602,6 +561,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#ack-wait-threshold">"ack-wait-threshold"</a>
* property
*/
+ @ConfigAttributeGetter(name=ACK_WAIT_THRESHOLD_NAME)
public int getAckWaitThreshold();
/**
@@ -610,15 +570,8 @@ public interface DistributionConfig extends Config, LogConfig {
* property
* Setting this value too low will cause spurious alerts.
*/
+ @ConfigAttributeSetter(name=ACK_WAIT_THRESHOLD_NAME)
public void setAckWaitThreshold(int newThreshold);
- /**
- * Returns true if the value of the AckWaitThreshold attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isAckWaitThresholdModifiable();
- /** The name of the "ackWaitThreshold" property */
- public static final String ACK_WAIT_THRESHOLD_NAME = "ack-wait-threshold";
/**
* The default AckWaitThreshold.
@@ -635,12 +588,17 @@ public interface DistributionConfig extends Config, LogConfig {
* <p> Actual value of this constant is <code>MAX_INT</code> seconds.
*/
public static final int MAX_ACK_WAIT_THRESHOLD = Integer.MAX_VALUE;
+ /** The name of the "ackWaitThreshold" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ACK_WAIT_THRESHOLD)
+ public static final String ACK_WAIT_THRESHOLD_NAME = "ack-wait-threshold";
+
/**
* Returns the value of the <a
* href="../DistributedSystem.html#ack-severe-alert-threshold">"ack-severe-alert-threshold"</a>
* property
*/
+ @ConfigAttributeGetter(name=ACK_SEVERE_ALERT_THRESHOLD_NAME)
public int getAckSevereAlertThreshold();
/**
@@ -649,15 +607,9 @@ public interface DistributionConfig extends Config, LogConfig {
* property
* Setting this value too low will cause spurious forced disconnects.
*/
+ @ConfigAttributeSetter(name=ACK_SEVERE_ALERT_THRESHOLD_NAME)
public void setAckSevereAlertThreshold(int newThreshold);
- /**
- * Returns true if the value of the ackSevereAlertThreshold attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isAckSevereAlertThresholdModifiable();
- /** The name of the "ackSevereAlertThreshold" property */
- public static final String ACK_SEVERE_ALERT_THRESHOLD_NAME = "ack-severe-alert-threshold";
+
/**
* The default ackSevereAlertThreshold.
* <p> Actual value of this constant is <code>0</code> seconds, which
@@ -675,26 +627,25 @@ public interface DistributionConfig extends Config, LogConfig {
* <p> Actual value of this constant is <code>MAX_INT</code> seconds.
*/
public static final int MAX_ACK_SEVERE_ALERT_THRESHOLD = Integer.MAX_VALUE;
-
+ /** The name of the "ackSevereAlertThreshold" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ACK_SEVERE_ALERT_THRESHOLD)
+ public static final String ACK_SEVERE_ALERT_THRESHOLD_NAME = "ack-severe-alert-threshold";
/**
* Returns the value of the <a
* href="../DistributedSystem.html#archive-file-size-limit">"archive-file-size-limit"</a>
* property
*/
+ @ConfigAttributeGetter(name=ARCHIVE_FILE_SIZE_LIMIT_NAME)
public int getArchiveFileSizeLimit();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#archive-file-size-limit">"archive-file-size-limit"</a>
* property
*/
+ @ConfigAttributeSetter(name=ARCHIVE_FILE_SIZE_LIMIT_NAME)
public void setArchiveFileSizeLimit(int value);
- /**
- * Returns true if the value of the ArchiveFileSizeLimit attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isArchiveFileSizeLimitModifiable();
+
/**
* The default statistic archive file size limit.
* <p> Actual value of this constant is <code>0</code> megabytes.
@@ -712,6 +663,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final int MAX_ARCHIVE_FILE_SIZE_LIMIT = 1000000;
/** The name of the "ArchiveFileSizeLimit" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ARCHIVE_FILE_SIZE_LIMIT, max=MAX_ARCHIVE_FILE_SIZE_LIMIT)
public static final String ARCHIVE_FILE_SIZE_LIMIT_NAME =
"archive-file-size-limit";
/**
@@ -719,19 +671,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#archive-disk-space-limit">"archive-disk-space-limit"</a>
* property
*/
+ @ConfigAttributeGetter(name=ARCHIVE_DISK_SPACE_LIMIT_NAME)
public int getArchiveDiskSpaceLimit();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#archive-disk-space-limit">"archive-disk-space-limit"</a>
* property
*/
+ @ConfigAttributeSetter(name=ARCHIVE_DISK_SPACE_LIMIT_NAME)
public void setArchiveDiskSpaceLimit(int value);
- /**
- * Returns true if the value of the ArchiveDiskSpaceLimit attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isArchiveDiskSpaceLimitModifiable();
+
/**
* The default archive disk space limit.
* <p> Actual value of this constant is <code>0</code> megabytes.
@@ -749,6 +698,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final int MAX_ARCHIVE_DISK_SPACE_LIMIT = 1000000;
/** The name of the "ArchiveDiskSpaceLimit" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ARCHIVE_DISK_SPACE_LIMIT, max=MAX_ARCHIVE_DISK_SPACE_LIMIT)
public static final String ARCHIVE_DISK_SPACE_LIMIT_NAME =
"archive-disk-space-limit";
/**
@@ -756,19 +706,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#log-file-size-limit">"log-file-size-limit"</a>
* property
*/
+ @ConfigAttributeGetter(name=LOG_FILE_SIZE_LIMIT_NAME)
public int getLogFileSizeLimit();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#log-file-size-limit">"log-file-size-limit"</a>
* property
*/
+ @ConfigAttributeSetter(name=LOG_FILE_SIZE_LIMIT_NAME)
public void setLogFileSizeLimit(int value);
- /**
- * Returns true if the value of the LogFileSizeLimit attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isLogFileSizeLimitModifiable();
+
/**
* The default log file size limit.
* <p> Actual value of this constant is <code>0</code> megabytes.
@@ -786,6 +733,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final int MAX_LOG_FILE_SIZE_LIMIT = 1000000;
/** The name of the "LogFileSizeLimit" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_LOG_FILE_SIZE_LIMIT, max=MAX_LOG_FILE_SIZE_LIMIT)
public static final String LOG_FILE_SIZE_LIMIT_NAME =
"log-file-size-limit";
@@ -794,19 +742,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#log-disk-space-limit">"log-disk-space-limit"</a>
* property
*/
+ @ConfigAttributeGetter(name=LOG_DISK_SPACE_LIMIT_NAME)
public int getLogDiskSpaceLimit();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#log-disk-space-limit">"log-disk-space-limit"</a>
* property
*/
+ @ConfigAttributeSetter(name=LOG_DISK_SPACE_LIMIT_NAME)
public void setLogDiskSpaceLimit(int value);
- /**
- * Returns true if the value of the LogDiskSpaceLimit attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isLogDiskSpaceLimitModifiable();
+
/**
* The default log disk space limit.
* <p> Actual value of this constant is <code>0</code> megabytes.
@@ -824,6 +769,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final int MAX_LOG_DISK_SPACE_LIMIT = 1000000;
/** The name of the "LogDiskSpaceLimit" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_LOG_DISK_SPACE_LIMIT, max=MAX_LOG_DISK_SPACE_LIMIT)
public static final String LOG_DISK_SPACE_LIMIT_NAME =
"log-disk-space-limit";
@@ -833,6 +779,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #getClusterSSLEnabled} instead.
*/
+ @ConfigAttributeGetter(name=SSL_ENABLED_NAME)
public boolean getSSLEnabled();
/**
@@ -845,6 +792,7 @@ public interface DistributionConfig extends Config, LogConfig {
/** The name of the "SSLEnabled" property
* @deprecated as of 8.0 use {@link #CLUSTER_SSL_ENABLED_NAME} instead.
*/
+ @ConfigAttribute(type=Boolean.class)
public static final String SSL_ENABLED_NAME =
"ssl-enabled";
@@ -854,6 +802,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #setClusterSSLEnabled} instead.
*/
+ @ConfigAttributeSetter(name=SSL_ENABLED_NAME)
public void setSSLEnabled( boolean enabled );
/**
@@ -862,6 +811,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #getClusterSSLProtocols} instead.
*/
+ @ConfigAttributeGetter(name=SSL_PROTOCOLS_NAME)
public String getSSLProtocols( );
/**
@@ -870,6 +820,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #setClusterSSLProtocols} instead.
*/
+ @ConfigAttributeSetter(name=SSL_PROTOCOLS_NAME)
public void setSSLProtocols( String protocols );
/**
@@ -881,6 +832,7 @@ public interface DistributionConfig extends Config, LogConfig {
/** The name of the "SSLProtocols" property
* @deprecated as of 8.0 use {@link #CLUSTER_SSL_PROTOCOLS_NAME} instead.
*/
+ @ConfigAttribute(type=String.class)
public static final String SSL_PROTOCOLS_NAME =
"ssl-protocols";
@@ -890,6 +842,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #getClusterSSLCiphers} instead.
*/
+ @ConfigAttributeGetter(name=SSL_CIPHERS_NAME)
public String getSSLCiphers( );
/**
@@ -898,6 +851,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #setClusterSSLCiphers} instead.
*/
+ @ConfigAttributeSetter(name=SSL_CIPHERS_NAME)
public void setSSLCiphers( String ciphers );
/**
@@ -909,6 +863,7 @@ public interface DistributionConfig extends Config, LogConfig {
/** The name of the "SSLCiphers" property
* @deprecated as of 8.0 use {@link #CLUSTER_SSL_CIPHERS_NAME} instead.
*/
+ @ConfigAttribute(type=String.class)
public static final String SSL_CIPHERS_NAME =
"ssl-ciphers";
@@ -918,6 +873,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #getClusterSSLRequireAuthentication} instead.
*/
+ @ConfigAttributeGetter(name=SSL_REQUIRE_AUTHENTICATION_NAME)
public boolean getSSLRequireAuthentication( );
/**
@@ -926,6 +882,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @deprecated as of 8.0 use {@link #setClusterSSLRequireAuthentication} instead.
*/
+ @ConfigAttributeSetter(name=SSL_REQUIRE_AUTHENTICATION_NAME)
public void setSSLRequireAuthentication( boolean enabled );
/**
@@ -937,6 +894,7 @@ public interface DistributionConfig extends Config, LogConfig {
/** The name of the "SSLRequireAuthentication" property
* @deprecated as of 8.0 use {@link #CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME} instead.
*/
+ @ConfigAttribute(type=Boolean.class)
public static final String SSL_REQUIRE_AUTHENTICATION_NAME =
"ssl-require-authentication";
@@ -945,6 +903,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-enabled">"cluster-ssl-enabled"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_ENABLED_NAME)
public boolean getClusterSSLEnabled();
/**
@@ -952,7 +911,8 @@ public interface DistributionConfig extends Config, LogConfig {
* <p> Actual value of this constant is <code>false</code>.
*/
public static final boolean DEFAULT_CLUSTER_SSL_ENABLED = false;
- /** The name of the "ClusterSSLEnabled" property */
+ /** The name of the "ClusterSSLEnabled" property */
+ @ConfigAttribute(type=Boolean.class)
public static final String CLUSTER_SSL_ENABLED_NAME =
"cluster-ssl-enabled";
@@ -961,6 +921,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-enabled">"cluster-ssl-enabled"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_ENABLED_NAME)
public void setClusterSSLEnabled( boolean enabled );
/**
@@ -968,6 +929,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-protocols">"cluster-ssl-protocols"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_PROTOCOLS_NAME)
public String getClusterSSLProtocols( );
/**
@@ -975,6 +937,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-protocols">"cluster-ssl-protocols"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_PROTOCOLS_NAME)
public void setClusterSSLProtocols( String protocols );
/**
@@ -983,6 +946,7 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final String DEFAULT_CLUSTER_SSL_PROTOCOLS = "any";
/** The name of the "ClusterSSLProtocols" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_PROTOCOLS_NAME =
"cluster-ssl-protocols";
@@ -991,6 +955,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-ciphers">"cluster-ssl-ciphers"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_CIPHERS_NAME)
public String getClusterSSLCiphers( );
/**
@@ -998,6 +963,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-ciphers">"cluster-ssl-ciphers"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_CIPHERS_NAME)
public void setClusterSSLCiphers( String ciphers );
/**
@@ -1006,6 +972,7 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final String DEFAULT_CLUSTER_SSL_CIPHERS = "any";
/** The name of the "ClusterSSLCiphers" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_CIPHERS_NAME =
"cluster-ssl-ciphers";
@@ -1014,6 +981,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-require-authentication">"cluster-ssl-require-authentication"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME)
public boolean getClusterSSLRequireAuthentication( );
/**
@@ -1021,6 +989,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-require-authentication">"cluster-ssl-require-authentication"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME)
public void setClusterSSLRequireAuthentication( boolean enabled );
/**
@@ -1029,6 +998,7 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final boolean DEFAULT_CLUSTER_SSL_REQUIRE_AUTHENTICATION = true;
/** The name of the "ClusterSSLRequireAuthentication" property */
+ @ConfigAttribute(type=Boolean.class)
public static final String CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME =
"cluster-ssl-require-authentication";
@@ -1038,6 +1008,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-keystore">"cluster-ssl-keystore"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_KEYSTORE_NAME)
public String getClusterSSLKeyStore( );
/**
@@ -1045,6 +1016,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-keystore">"cluster-ssl-keystore"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_KEYSTORE_NAME)
public void setClusterSSLKeyStore( String keyStore);
/**
@@ -1054,6 +1026,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final String DEFAULT_CLUSTER_SSL_KEYSTORE = "";
/** The name of the "ClusterSSLKeyStore" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_KEYSTORE_NAME = "cluster-ssl-keystore";
/**
@@ -1061,6 +1034,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-keystore-type">"cluster-ssl-keystore-type"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_KEYSTORE_TYPE_NAME)
public String getClusterSSLKeyStoreType( );
/**
@@ -1068,6 +1042,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-keystore-type">"cluster-ssl-keystore-type"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_KEYSTORE_TYPE_NAME)
public void setClusterSSLKeyStoreType( String keyStoreType);
/**
@@ -1077,6 +1052,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final String DEFAULT_CLUSTER_SSL_KEYSTORE_TYPE = "";
/** The name of the "ClusterSSLKeyStoreType" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_KEYSTORE_TYPE_NAME = "cluster-ssl-keystore-type";
/**
@@ -1084,6 +1060,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-keystore-password">"cluster-ssl-keystore-password"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_KEYSTORE_PASSWORD_NAME)
public String getClusterSSLKeyStorePassword( );
/**
@@ -1091,6 +1068,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-keystore-password">"cluster-ssl-keystore-password"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_KEYSTORE_PASSWORD_NAME)
public void setClusterSSLKeyStorePassword( String keyStorePassword);
/**
@@ -1100,6 +1078,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final String DEFAULT_CLUSTER_SSL_KEYSTORE_PASSWORD = "";
/** The name of the "ClusterSSLKeyStorePassword" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_KEYSTORE_PASSWORD_NAME = "cluster-ssl-keystore-password";
/**
@@ -1107,6 +1086,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-truststore">"cluster-ssl-truststore"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_TRUSTSTORE_NAME)
public String getClusterSSLTrustStore( );
/**
@@ -1114,6 +1094,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-truststore">"cluster-ssl-truststore"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_TRUSTSTORE_NAME)
public void setClusterSSLTrustStore( String trustStore);
/**
@@ -1123,6 +1104,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final String DEFAULT_CLUSTER_SSL_TRUSTSTORE = "";
/** The name of the "ClusterSSLTrustStore" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_TRUSTSTORE_NAME = "cluster-ssl-truststore";
/**
@@ -1130,6 +1112,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-truststore-password">"cluster-ssl-truststore-password"</a>
* property.
*/
+ @ConfigAttributeGetter(name=CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME)
public String getClusterSSLTrustStorePassword( );
/**
@@ -1137,6 +1120,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#cluster-ssl-truststore-password">"cluster-ssl-truststore-password"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME)
public void setClusterSSLTrustStorePassword( String trusStorePassword);
/**
* The default cluster-ssl-truststore-password value.
@@ -1145,6 +1129,7 @@ public interface DistributionConfig extends Config, LogConfig {
public static final String DEFAULT_CLUSTER_SSL_TRUSTSTORE_PASSWORD = "";
/** The name of the "ClusterSSLKeyStorePassword" property */
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME = "cluster-ssl-truststore-password";
@@ -1213,22 +1198,17 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#socket-lease-time">"socket-lease-time"</a>
* property
*/
+ @ConfigAttributeGetter(name=SOCKET_LEASE_TIME_NAME)
public int getSocketLeaseTime();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#socket-lease-time">"socket-lease-time"</a>
* property
*/
+ @ConfigAttributeSetter(name=SOCKET_LEASE_TIME_NAME)
public void setSocketLeaseTime(int value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isSocketLeaseTimeModifiable();
- /** The name of the "socketLeaseTime" property */
- public static final String SOCKET_LEASE_TIME_NAME = "socket-lease-time";
+
/** The default value of the "socketLeaseTime" property */
public static final int DEFAULT_SOCKET_LEASE_TIME = 60000;
@@ -1243,27 +1223,25 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MAX_SOCKET_LEASE_TIME = 600000;
+ /** The name of the "socketLeaseTime" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_SOCKET_LEASE_TIME, max=MAX_SOCKET_LEASE_TIME)
+ public static final String SOCKET_LEASE_TIME_NAME = "socket-lease-time";
+
/**
* Returns the value of the <a
* href="../DistributedSystem.html#socket-buffer-size">"socket-buffer-size"</a>
* property
*/
+ @ConfigAttributeGetter(name=SOCKET_BUFFER_SIZE_NAME)
public int getSocketBufferSize();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#socket-buffer-size">"socket-buffer-size"</a>
* property
*/
+ @ConfigAttributeSetter(name=SOCKET_BUFFER_SIZE_NAME)
public void setSocketBufferSize(int value);
- /**
- * Returns true if the value of the
- * attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isSocketBufferSizeModifiable();
- /** The name of the "socketBufferSize" property */
- public static final String SOCKET_BUFFER_SIZE_NAME = "socket-buffer-size";
/** The default value of the "socketBufferSize" property */
public static final int DEFAULT_SOCKET_BUFFER_SIZE = 32768;
@@ -1281,11 +1259,17 @@ public interface DistributionConfig extends Config, LogConfig {
public static final boolean VALIDATE = Boolean.getBoolean("gemfire.validateMessageSize");
public static final int VALIDATE_CEILING = Integer.getInteger("gemfire.validateMessageSizeCeiling", 8 * 1024 * 1024).intValue();
+ /** The name of the "socketBufferSize" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_SOCKET_BUFFER_SIZE, max=MAX_SOCKET_BUFFER_SIZE)
+ public static final String SOCKET_BUFFER_SIZE_NAME = "socket-buffer-size";
+
+
/**
* Get the value of the
* <a href="../DistributedSystem.html#mcast-send-buffer-size">"mcast-send-buffer-size"</a>
* property
*/
+ @ConfigAttributeGetter(name=MCAST_SEND_BUFFER_SIZE_NAME)
public int getMcastSendBufferSize();
/**
@@ -1293,18 +1277,9 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#mcast-send-buffer-size">"mcast-send-buffer-size"</a>
* property
*/
+ @ConfigAttributeSetter(name=MCAST_SEND_BUFFER_SIZE_NAME)
public void setMcastSendBufferSize(int value);
- /**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isMcastSendBufferSizeModifiable();
-
- /**
- * The name of the corresponding property
- */
- public static final String MCAST_SEND_BUFFER_SIZE_NAME = "mcast-send-buffer-size";
/**
* The default value of the corresponding property
@@ -1319,10 +1294,17 @@ public interface DistributionConfig extends Config, LogConfig {
public static final int MIN_MCAST_SEND_BUFFER_SIZE = 2048;
/**
+ * The name of the corresponding property
+ */
+ @ConfigAttribute(type=Integer.class, min=MIN_MCAST_SEND_BUFFER_SIZE)
+ public static final String MCAST_SEND_BUFFER_SIZE_NAME = "mcast-send-buffer-size";
+
+ /**
* Get the value of the
* <a href="../DistributedSystem.html#mcast-recv-buffer-size">"mcast-recv-buffer-size"</a>
* property
*/
+ @ConfigAttributeGetter(name=MCAST_RECV_BUFFER_SIZE_NAME)
public int getMcastRecvBufferSize();
/**
@@ -1330,18 +1312,9 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#mcast-recv-buffer-size">"mcast-recv-buffer-size"</a>
* property
*/
+ @ConfigAttributeSetter(name=MCAST_RECV_BUFFER_SIZE_NAME)
public void setMcastRecvBufferSize(int value);
- /**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isMcastRecvBufferSizeModifiable();
-
- /**
- * The name of the corresponding property
- */
- public static final String MCAST_RECV_BUFFER_SIZE_NAME = "mcast-recv-buffer-size";
/**
* The default value of the corresponding property
@@ -1354,7 +1327,11 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MIN_MCAST_RECV_BUFFER_SIZE = 2048;
-
+ /**
+ * The name of the corresponding property
+ */
+ @ConfigAttribute(type=Integer.class, min=MIN_MCAST_RECV_BUFFER_SIZE)
+ public static final String MCAST_RECV_BUFFER_SIZE_NAME = "mcast-recv-buffer-size";
/**
@@ -1362,6 +1339,7 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#mcast-flow-control">"mcast-flow-control"</a>
* property.
*/
+ @ConfigAttributeGetter(name=MCAST_FLOW_CONTROL_NAME)
public FlowControlParams getMcastFlowControl();
/**
@@ -1369,17 +1347,13 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#mcast-flow-control">"mcast-flow-control"</a>
* property
*/
+ @ConfigAttributeSetter(name=MCAST_FLOW_CONTROL_NAME)
public void setMcastFlowControl(FlowControlParams values);
/**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isMcastFlowControlModifiable();
-
- /**
* The name of the corresponding property
*/
+ @ConfigAttribute(type=FlowControlParams.class)
public static final String MCAST_FLOW_CONTROL_NAME = "mcast-flow-control";
/**
@@ -1423,6 +1397,7 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#udp-fragment-size">"udp-fragment-size"</a>
* property.
*/
+ @ConfigAttributeGetter(name=UDP_FRAGMENT_SIZE_NAME)
public int getUdpFragmentSize();
/**
@@ -1430,20 +1405,10 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#udp-fragment-size">"udp-fragment-size"</a>
* property
*/
+ @ConfigAttributeSetter(name=UDP_FRAGMENT_SIZE_NAME)
public void setUdpFragmentSize(int value);
/**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isUdpFragmentSizeModifiable();
-
- /**
- * The name of the corresponding property
- */
- public static final String UDP_FRAGMENT_SIZE_NAME = "udp-fragment-size";
-
- /**
* The default value of the corresponding property
*/
public static final int DEFAULT_UDP_FRAGMENT_SIZE = 60000;
@@ -1456,7 +1421,11 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MAX_UDP_FRAGMENT_SIZE = 60000;
-
+ /**
+ * The name of the corresponding property
+ */
+ @ConfigAttribute(type=Integer.class, min=MIN_UDP_FRAGMENT_SIZE, max=MAX_UDP_FRAGMENT_SIZE)
+ public static final String UDP_FRAGMENT_SIZE_NAME = "udp-fragment-size";
@@ -1466,6 +1435,7 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#udp-send-buffer-size">"udp-send-buffer-size"</a>
* property
*/
+ @ConfigAttributeGetter(name=UDP_SEND_BUFFER_SIZE_NAME)
public int getUdpSendBufferSize();
/**
@@ -1473,20 +1443,10 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#udp-send-buffer-size">"udp-send-buffer-size"</a>
* property
*/
+ @ConfigAttributeSetter(name=UDP_SEND_BUFFER_SIZE_NAME)
public void setUdpSendBufferSize(int value);
/**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isUdpSendBufferSizeModifiable();
-
- /**
- * The name of the corresponding property
- */
- public static final String UDP_SEND_BUFFER_SIZE_NAME = "udp-send-buffer-size";
-
- /**
* The default value of the corresponding property
*/
public static final int DEFAULT_UDP_SEND_BUFFER_SIZE = 65535;
@@ -1497,13 +1457,18 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MIN_UDP_SEND_BUFFER_SIZE = 2048;
-
+ /**
+ * The name of the corresponding property
+ */
+ @ConfigAttribute(type=Integer.class, min=MIN_UDP_SEND_BUFFER_SIZE)
+ public static final String UDP_SEND_BUFFER_SIZE_NAME = "udp-send-buffer-size";
/**
* Get the value of the
* <a href="../DistributedSystem.html#udp-recv-buffer-size">"udp-recv-buffer-size"</a>
* property
*/
+ @ConfigAttributeGetter(name=UDP_RECV_BUFFER_SIZE_NAME)
public int getUdpRecvBufferSize();
/**
@@ -1511,20 +1476,10 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#udp-recv-buffer-size">"udp-recv-buffer-size"</a>
* property
*/
+ @ConfigAttributeSetter(name=UDP_RECV_BUFFER_SIZE_NAME)
public void setUdpRecvBufferSize(int value);
/**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isUdpRecvBufferSizeModifiable();
-
- /**
- * The name of the corresponding property
- */
- public static final String UDP_RECV_BUFFER_SIZE_NAME = "udp-recv-buffer-size";
-
- /**
* The default value of the unicast receive buffer size property
*/
public static final int DEFAULT_UDP_RECV_BUFFER_SIZE = 1048576;
@@ -1543,24 +1498,28 @@ public interface DistributionConfig extends Config, LogConfig {
/**
+ * The name of the corresponding property
+ */
+ @ConfigAttribute(type=Integer.class, min=MIN_UDP_RECV_BUFFER_SIZE)
+ public static final String UDP_RECV_BUFFER_SIZE_NAME = "udp-recv-buffer-size";
+
+ /**
* Returns the value of the <a
* href="../DistributedSystem.html#disable-tcp">"disable-tcp"</a>
* property
*/
+ @ConfigAttributeGetter(name=DISABLE_TCP_NAME)
public boolean getDisableTcp();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#disable-tcp">"disable-tcp"</a>
* property.
*/
+ @ConfigAttributeSetter(name=DISABLE_TCP_NAME)
public void setDisableTcp(boolean newValue);
- /**
- * Returns true if the value of the DISABLE_TCP attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isDisableTcpModifiable();
+
/** The name of the corresponding property */
+ @ConfigAttribute(type=Boolean.class)
public static final String DISABLE_TCP_NAME = "disable-tcp";
/** The default value of the corresponding property */
@@ -1570,6 +1529,7 @@ public interface DistributionConfig extends Config, LogConfig {
/**
* Turns on timing statistics for the distributed system
*/
+ @ConfigAttributeSetter(name=ENABLE_TIME_STATISTICS_NAME)
public void setEnableTimeStatistics(boolean newValue);
/**
@@ -1577,9 +1537,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#enable-time-statistics">enable-time-statistics</a>
* property
*/
+ @ConfigAttributeGetter(name=ENABLE_TIME_STATISTICS_NAME)
public boolean getEnableTimeStatistics();
/** the name of the corresponding property */
+ @ConfigAttribute(type=Boolean.class)
public static final String ENABLE_TIME_STATISTICS_NAME = "enable-time-statistics";
/** The default value of the corresponding property */
@@ -1590,7 +1552,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Sets the value for
<a href="../DistributedSystem.html#use-cluster-configuration">use-shared-configuration</a>
*/
-
+ @ConfigAttributeSetter(name=USE_CLUSTER_CONFIGURATION_NAME)
public void setUseSharedConfiguration(boolean newValue);
/**
@@ -1598,9 +1560,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#use-cluster-configuration">use-cluster-configuration</a>
* property
*/
+ @ConfigAttributeGetter(name=USE_CLUSTER_CONFIGURATION_NAME)
public boolean getUseSharedConfiguration();
/** the name of the corresponding property */
+ @ConfigAttribute(type=Boolean.class)
public static final String USE_CLUSTER_CONFIGURATION_NAME = "use-cluster-configuration";
/** The default value of the corresponding property */
@@ -1610,7 +1574,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Sets the value for
<a href="../DistributedSystem.html#enable-cluster-configuration">enable-cluster-configuration</a>
*/
-
+ @ConfigAttributeSetter(name=ENABLE_CLUSTER_CONFIGURATION_NAME)
public void setEnableClusterConfiguration(boolean newValue);
/**
@@ -1618,13 +1582,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#enable-cluster-configuration">enable-cluster-configuration</a>
* property
*/
+ @ConfigAttributeGetter(name=ENABLE_CLUSTER_CONFIGURATION_NAME)
public boolean getEnableClusterConfiguration();
/** the name of the corresponding property */
+ @ConfigAttribute(type=Boolean.class)
public static final String ENABLE_CLUSTER_CONFIGURATION_NAME = "enable-cluster-configuration";
/** The default value of the corresponding property */
public static final boolean DEFAULT_ENABLE_CLUSTER_CONFIGURATION = true;
-
+
+ @ConfigAttribute(type=Boolean.class)
public static final String LOAD_CLUSTER_CONFIG_FROM_DIR_NAME = "load-cluster-configuration-from-dir";
public static final boolean DEFAULT_LOAD_CLUSTER_CONFIG_FROM_DIR = false;
@@ -1633,6 +1600,7 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#cluster-configuration-dir">cluster-configuration-dir</a>
* property
*/
+ @ConfigAttributeGetter(name=LOAD_CLUSTER_CONFIG_FROM_DIR_NAME)
public boolean getLoadClusterConfigFromDir();
/**
@@ -1640,21 +1608,28 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#cluster-configuration-dir">cluster-configuration-dir</a>
* property
*/
+ @ConfigAttributeSetter(name=LOAD_CLUSTER_CONFIG_FROM_DIR_NAME)
public void setLoadClusterConfigFromDir(boolean newValue);
-
+
+ @ConfigAttribute(type=String.class)
public static final String CLUSTER_CONFIGURATION_DIR = "cluster-configuration-dir";
public static final String DEFAULT_CLUSTER_CONFIGURATION_DIR = System.getProperty("user.dir");
-
- public String getClusterConfigDir();
+
+ @ConfigAttributeGetter(name=CLUSTER_CONFIGURATION_DIR)
+ public String getClusterConfigDir();
+ @ConfigAttributeSetter(name=CLUSTER_CONFIGURATION_DIR)
public void setClusterConfigDir(final String clusterConfigDir);
/** Turns on network partition detection */
+ @ConfigAttributeSetter(name=ENABLE_NETWORK_PARTITION_DETECTION_NAME)
public void setEnableNetworkPartitionDetection(boolean newValue);
/**
* Returns the value of the enable-network-partition-detection property
*/
+ @ConfigAttributeGetter(name=ENABLE_NETWORK_PARTITION_DETECTION_NAME)
public boolean getEnableNetworkPartitionDetection();
/** the name of the corresponding property */
+ @ConfigAttribute(type=Boolean.class)
public static final String ENABLE_NETWORK_PARTITION_DETECTION_NAME =
"enable-network-partition-detection";
public static final boolean DEFAULT_ENABLE_NETWORK_PARTITION_DETECTION = false;
@@ -1664,6 +1639,7 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#member-timeout">"member-timeout"</a>
* property
*/
+ @ConfigAttributeGetter(name=MEMBER_TIMEOUT_NAME)
public int getMemberTimeout();
/**
@@ -1671,20 +1647,10 @@ public interface DistributionConfig extends Config, LogConfig {
* <a href="../DistributedSystem.html#member-timeout">"member-timeout"</a>
* property
*/
+ @ConfigAttributeSetter(name=MEMBER_TIMEOUT_NAME)
public void setMemberTimeout(int value);
/**
- * Returns true if the corresponding property is currently modifiable.
- * Some attributes can't be modified while a DistributedSystem is running.
- */
- public boolean isMemberTimeoutModifiable();
-
- /**
- * The name of the corresponding property
- */
- public static final String MEMBER_TIMEOUT_NAME = "member-timeout";
-
- /**
* The default value of the corresponding property
*/
public static final int DEFAULT_MEMBER_TIMEOUT = 5000;
@@ -1694,14 +1660,21 @@ public interface DistributionConfig extends Config, LogConfig {
/**The maximum member-timeout setting of 600000 millieseconds */
public static final int MAX_MEMBER_TIMEOUT = 600000;
+ /**
+ * The name of the corresponding property
+ */
+ @ConfigAttribute(type=Integer.class, min=MIN_MEMBER_TIMEOUT, max=MAX_MEMBER_TIMEOUT)
+ public static final String MEMBER_TIMEOUT_NAME = "member-timeout";
-
+ @ConfigAttribute(type=int[].class)
public static final String MEMBERSHIP_PORT_RANGE_NAME = "membership-port-range";
public static final int[] DEFAULT_MEMBERSHIP_PORT_RANGE = new int[]{1024,65535};
-
+
+ @ConfigAttributeGetter(name=MEMBERSHIP_PORT_RANGE_NAME)
public int[] getMembershipPortRange();
-
+
+ @ConfigAttributeSetter(name=MEMBERSHIP_PORT_RANGE_NAME)
public void setMembershipPortRange(int[] range);
/**
@@ -1709,20 +1682,18 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#conserve-sockets">"conserve-sockets"</a>
* property
*/
+ @ConfigAttributeGetter(name=CONSERVE_SOCKETS_NAME)
public boolean getConserveSockets();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#conserve-sockets">"conserve-sockets"</a>
* property.
*/
+ @ConfigAttributeSetter(name=CONSERVE_SOCKETS_NAME)
public void setConserveSockets(boolean newValue);
- /**
- * Returns true if the value of the ConserveSockets attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- */
- public boolean isConserveSocketsModifiable();
+
/** The name of the "conserveSockets" property */
+ @ConfigAttribute(type=Boolean.class)
public static final String CONSERVE_SOCKETS_NAME = "conserve-sockets";
/** The default value of the "conserveSockets" property */
@@ -1733,14 +1704,17 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#roles">"roles"</a>
* property
*/
+ @ConfigAttributeGetter(name=ROLES_NAME)
public String getRoles();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#roles">"roles"</a>
* property.
*/
+ @ConfigAttributeSetter(name=ROLES_NAME)
public void setRoles(String roles);
/** The name of the "roles" property */
+ @ConfigAttribute(type=String.class)
public static final String ROLES_NAME = "roles";
/** The default value of the "roles" property */
public static final String DEFAULT_ROLES = "";
@@ -1748,6 +1722,7 @@ public interface DistributionConfig extends Config, LogConfig {
/**
* The name of the "max wait time for reconnect" property */
+ @ConfigAttribute(type=Integer.class)
public static final String MAX_WAIT_TIME_FOR_RECONNECT_NAME = "max-wait-time-reconnect";
/**
@@ -1758,16 +1733,19 @@ public interface DistributionConfig extends Config, LogConfig {
/**
* Sets the max wait timeout, in milliseconds, for reconnect.
* */
+ @ConfigAttributeSetter(name=MAX_WAIT_TIME_FOR_RECONNECT_NAME)
public void setMaxWaitTimeForReconnect( int timeOut);
/**
* Returns the max wait timeout, in milliseconds, for reconnect.
* */
+ @ConfigAttributeGetter(name=MAX_WAIT_TIME_FOR_RECONNECT_NAME)
public int getMaxWaitTimeForReconnect();
/**
* The name of the "max number of tries for reconnect" property.
* */
+ @ConfigAttribute(type=Integer.class)
public static final String MAX_NUM_RECONNECT_TRIES = "max-num-reconnect-tries";
/**
@@ -1778,11 +1756,13 @@ public interface DistributionConfig extends Config, LogConfig {
/**
* Sets the max number of tries for reconnect.
* */
+ @ConfigAttributeSetter(name=MAX_NUM_RECONNECT_TRIES)
public void setMaxNumReconnectTries(int tries);
/**
* Returns the value for max number of tries for reconnect.
* */
+ @ConfigAttributeGetter(name=MAX_NUM_RECONNECT_TRIES)
public int getMaxNumReconnectTries();
// ------------------- Asynchronous Messaging Properties -------------------
@@ -1792,22 +1772,16 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#async-distribution-timeout">
* "async-distribution-timeout"</a> property.
*/
+ @ConfigAttributeGetter(name=ASYNC_DISTRIBUTION_TIMEOUT_NAME)
public int getAsyncDistributionTimeout();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#async-distribution-timeout">
* "async-distribution-timeout"</a> property.
*/
+ @ConfigAttributeSetter(name=ASYNC_DISTRIBUTION_TIMEOUT_NAME)
public void setAsyncDistributionTimeout(int newValue);
- /**
- * Returns true if the value of the asyncDistributionTimeout attribute can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isAsyncDistributionTimeoutModifiable();
- /** The name of the "asyncDistributionTimeout" property */
- public static final String ASYNC_DISTRIBUTION_TIMEOUT_NAME = "async-distribution-timeout";
/** The default value of "asyncDistributionTimeout" is <code>0</code>. */
public static final int DEFAULT_ASYNC_DISTRIBUTION_TIMEOUT = 0;
/** The minimum value of "asyncDistributionTimeout" is <code>0</code>. */
@@ -1815,55 +1789,48 @@ public interface DistributionConfig extends Config, LogConfig {
/** The maximum value of "asyncDistributionTimeout" is <code>60000</code>. */
public static final int MAX_ASYNC_DISTRIBUTION_TIMEOUT = 60000;
+ /** The name of the "asyncDistributionTimeout" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ASYNC_DISTRIBUTION_TIMEOUT, max=MAX_ASYNC_DISTRIBUTION_TIMEOUT)
+ public static final String ASYNC_DISTRIBUTION_TIMEOUT_NAME = "async-distribution-timeout";
/**
* Returns the value of the <a
* href="../DistributedSystem.html#async-queue-timeout">
* "async-queue-timeout"</a> property.
*/
+ @ConfigAttributeGetter(name=ASYNC_QUEUE_TIMEOUT_NAME)
public int getAsyncQueueTimeout();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#async-queue-timeout">
* "async-queue-timeout"</a> property.
*/
+ @ConfigAttributeSetter(name=ASYNC_QUEUE_TIMEOUT_NAME)
public void setAsyncQueueTimeout(int newValue);
- /**
- * Returns true if the value of the asyncQueueTimeout attribute can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isAsyncQueueTimeoutModifiable();
- /** The name of the "asyncQueueTimeout" property */
- public static final String ASYNC_QUEUE_TIMEOUT_NAME = "async-queue-timeout";
/** The default value of "asyncQueueTimeout" is <code>60000</code>. */
public static final int DEFAULT_ASYNC_QUEUE_TIMEOUT = 60000;
/** The minimum value of "asyncQueueTimeout" is <code>0</code>. */
public static final int MIN_ASYNC_QUEUE_TIMEOUT = 0;
/** The maximum value of "asyncQueueTimeout" is <code>86400000</code>. */
public static final int MAX_ASYNC_QUEUE_TIMEOUT = 86400000;
-
+ /** The name of the "asyncQueueTimeout" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ASYNC_QUEUE_TIMEOUT, max=MAX_ASYNC_QUEUE_TIMEOUT)
+ public static final String ASYNC_QUEUE_TIMEOUT_NAME = "async-queue-timeout";
/**
* Returns the value of the <a
* href="../DistributedSystem.html#async-max-queue-size">
* "async-max-queue-size"</a> property.
*/
+ @ConfigAttributeGetter(name=ASYNC_MAX_QUEUE_SIZE_NAME)
public int getAsyncMaxQueueSize();
/**
* Sets the value of the <a
* href="../DistributedSystem.html#async-max-queue-size">
* "async-max-queue-size"</a> property.
*/
+ @ConfigAttributeSetter(name=ASYNC_MAX_QUEUE_SIZE_NAME)
public void setAsyncMaxQueueSize(int newValue);
- /**
- * Returns true if the value of the asyncMaxQueueSize attribute can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isAsyncMaxQueueSizeModifiable();
- /** The name of the "asyncMaxQueueSize" property */
- public static final String ASYNC_MAX_QUEUE_SIZE_NAME = "async-max-queue-size";
/** The default value of "asyncMaxQueueSize" is <code>8</code>. */
public static final int DEFAULT_ASYNC_MAX_QUEUE_SIZE = 8;
/** The minimum value of "asyncMaxQueueSize" is <code>0</code>. */
@@ -1871,7 +1838,11 @@ public interface DistributionConfig extends Config, LogConfig {
/** The maximum value of "asyncMaxQueueSize" is <code>1024</code>. */
public static final int MAX_ASYNC_MAX_QUEUE_SIZE = 1024;
+ /** The name of the "asyncMaxQueueSize" property */
+ @ConfigAttribute(type=Integer.class, min=MIN_ASYNC_MAX_QUEUE_SIZE, max=MAX_ASYNC_MAX_QUEUE_SIZE)
+ public static final String ASYNC_MAX_QUEUE_SIZE_NAME = "async-max-queue-size";
/** @since 5.7 */
+ @ConfigAttribute(type=String.class)
public static final String CLIENT_CONFLATION_PROP_NAME = "conflate-events";
/** @since 5.7 */
public static final String CLIENT_CONFLATION_PROP_VALUE_DEFAULT = "server";
@@ -1882,11 +1853,14 @@ public interface DistributionConfig extends Config, LogConfig {
/** @since 9.0 */
+ @ConfigAttribute(type=Boolean.class)
public static final String DISTRIBUTED_TRANSACTIONS_NAME = "distributed-transactions";
public static final boolean DEFAULT_DISTRIBUTED_TRANSACTIONS = false;
+ @ConfigAttributeGetter(name=DISTRIBUTED_TRANSACTIONS_NAME)
public boolean getDistributedTransactions();
+ @ConfigAttributeSetter(name=DISTRIBUTED_TRANSACTIONS_NAME)
public void setDistributedTransactions(boolean value);
/**
@@ -1895,6 +1869,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @since 5.7
*/
+ @ConfigAttributeGetter(name=CLIENT_CONFLATION_PROP_NAME)
public String getClientConflation();
/**
* Sets the value of the <a
@@ -1902,15 +1877,15 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @since 5.7
*/
+ @ConfigAttributeSetter(name=CLIENT_CONFLATION_PROP_NAME)
public void setClientConflation(String clientConflation);
- /** @since 5.7 */
- public boolean isClientConflationModifiable();
// -------------------------------------------------------------------------
/**
* Returns the value of the <a
* href="../DistributedSystem.html#durable-client-id">"durable-client-id"</a>
* property.
*/
+ @ConfigAttributeGetter(name=DURABLE_CLIENT_ID_NAME)
public String getDurableClientId();
/**
@@ -1918,16 +1893,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#durable-client-id">"durable-client-id"</a>
* property.
*/
+ @ConfigAttributeSetter(name=DURABLE_CLIENT_ID_NAME)
public void setDurableClientId(String durableClientId);
- /**
- * Returns true if the value of the durableClientId attribute can currently
- * be modified. Some attributes can not be modified while the system is
- * running.
- */
- public boolean isDurableClientIdModifiable();
-
/** The name of the "durableClientId" property */
+ @ConfigAttribute(type=String.class)
public static final String DURABLE_CLIENT_ID_NAME = "durable-client-id";
/**
@@ -1941,6 +1911,7 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#durable-client-timeout">"durable-client-timeout"</a>
* property.
*/
+ @ConfigAttributeGetter(name=DURABLE_CLIENT_TIMEOUT_NAME)
public int getDurableClientTimeout();
/**
@@ -1948,16 +1919,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#durable-client-timeout">"durable-client-timeout"</a>
* property.
*/
+ @ConfigAttributeSetter(name=DURABLE_CLIENT_TIMEOUT_NAME)
public void setDurableClientTimeout(int durableClientTimeout);
- /**
- * Returns true if the value of the durableClientTimeout attribute can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isDurableClientTimeoutModifiable();
-
/** The name of the "durableClientTimeout" property */
+ @ConfigAttribute(type=Integer.class)
public static final String DURABLE_CLIENT_TIMEOUT_NAME = "durable-client-timeout";
/**
@@ -1970,6 +1936,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns user module name for client authentication initializer in <a
* href="../DistributedSystem.html#security-client-auth-init">"security-client-auth-init"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_CLIENT_AUTH_INIT_NAME)
public String getSecurityClientAuthInit();
/**
@@ -1977,16 +1944,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-client-auth-init">"security-client-auth-init"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_CLIENT_AUTH_INIT_NAME)
public void setSecurityClientAuthInit(String attValue);
- /**
- * Returns true if the value of the authentication initializer method name can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isSecurityClientAuthInitModifiable();
-
/** The name of user defined method name for "security-client-auth-init" property*/
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_CLIENT_AUTH_INIT_NAME = "security-client-auth-init";
/**
@@ -1999,6 +1961,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns user module name authenticating client credentials in <a
* href="../DistributedSystem.html#security-client-authenticator">"security-client-authenticator"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_CLIENT_AUTHENTICATOR_NAME)
public String getSecurityClientAuthenticator();
/**
@@ -2006,16 +1969,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-client-authenticator">"security-client-authenticator"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_CLIENT_AUTHENTICATOR_NAME)
public void setSecurityClientAuthenticator(String attValue);
- /**
- * Returns true if the value of the authenticating method name can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isSecurityClientAuthenticatorModifiable();
-
/** The name of factory method for "security-client-authenticator" property */
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_CLIENT_AUTHENTICATOR_NAME = "security-client-authenticator";
/**
@@ -2028,6 +1986,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns name of algorithm to use for Diffie-Hellman key exchange <a
* href="../DistributedSystem.html#security-client-dhalgo">"security-client-dhalgo"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_CLIENT_DHALGO_NAME)
public String getSecurityClientDHAlgo();
/**
@@ -2035,18 +1994,14 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-client-dhalgo">"security-client-dhalgo"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_CLIENT_DHALGO_NAME)
public void setSecurityClientDHAlgo(String attValue);
/**
- * Returns true if the value of the Diffie-Hellman algorithm can currently be
- * modified. Some attributes can not be modified while the system is running.
- */
- public boolean isSecurityClientDHAlgoModifiable();
-
- /**
* The name of the Diffie-Hellman symmetric algorithm "security-client-dhalgo"
* property.
*/
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_CLIENT_DHALGO_NAME = "security-client-dhalgo";
/**
@@ -2061,6 +2016,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns user defined method name for peer authentication initializer in <a
* href="../DistributedSystem.html#security-peer-auth-init">"security-peer-auth-init"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_PEER_AUTH_INIT_NAME)
public String getSecurityPeerAuthInit();
/**
@@ -2068,16 +2024,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-peer-auth-init">"security-peer-auth-init"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_PEER_AUTH_INIT_NAME)
public void setSecurityPeerAuthInit(String attValue);
- /**
- * Returns true if the value of the AuthInit method name can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isSecurityPeerAuthInitModifiable();
-
/** The name of user module for "security-peer-auth-init" property*/
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_PEER_AUTH_INIT_NAME = "security-peer-auth-init";
/**
@@ -2090,6 +2041,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns user defined method name authenticating peer's credentials in <a
* href="../DistributedSystem.html#security-peer-authenticator">"security-peer-authenticator"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_PEER_AUTHENTICATOR_NAME)
public String getSecurityPeerAuthenticator();
/**
@@ -2097,16 +2049,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-peer-authenticator">"security-peer-authenticator"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_PEER_AUTHENTICATOR_NAME)
public void setSecurityPeerAuthenticator(String attValue);
- /**
- * Returns true if the value of the security module name can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isSecurityPeerAuthenticatorModifiable();
-
/** The name of user defined method for "security-peer-authenticator" property*/
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_PEER_AUTHENTICATOR_NAME = "security-peer-authenticator";
/**
@@ -2119,6 +2066,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns user module name authorizing client credentials in <a
* href="../DistributedSystem.html#security-client-accessor">"security-client-accessor"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_CLIENT_ACCESSOR_NAME)
public String getSecurityClientAccessor();
/**
@@ -2126,9 +2074,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-client-accessor">"security-client-accessor"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_CLIENT_ACCESSOR_NAME)
public void setSecurityClientAccessor(String attValue);
/** The name of the factory method for "security-client-accessor" property */
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_CLIENT_ACCESSOR_NAME = "security-client-accessor";
/**
@@ -2141,6 +2091,7 @@ public interface DistributionConfig extends Config, LogConfig {
* Returns user module name authorizing client credentials in <a
* href="../DistributedSystem.html#security-client-accessor-pp">"security-client-accessor-pp"</a>
*/
+ @ConfigAttributeGetter(name=SECURITY_CLIENT_ACCESSOR_PP_NAME)
public String getSecurityClientAccessorPP();
/**
@@ -2148,9 +2099,11 @@ public interface DistributionConfig extends Config, LogConfig {
* href="../DistributedSystem.html#security-client-accessor-pp">"security-client-accessor-pp"</a>
* property.
*/
+ @ConfigAttributeSetter(name=SECURITY_CLIENT_ACCESSOR_PP_NAME)
public void setSecurityClientAccessorPP(String attValue);
/** The name of the factory method for "security-client-accessor-pp" property */
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_CLIENT_ACCESSOR_PP_NAME = "security-client-accessor-pp";
/**
@@ -2164,6 +2117,7 @@ public interface DistributionConfig extends Config, LogConfig {
*
* @return the current security log-level
*/
+ @ConfigAttributeGetter(name=SECURITY_LOG_LEVEL_NAME)
public int getSecurityLogLevel();
/**
@@ -2172,19 +2126,16 @@ public interface DistributionConfig extends Config, LogConfig {
* @param level
* the new security log-level
*/
+ @ConfigAttributeSetter(name=SECURITY_LOG_LEVEL_NAME)
public void setSecurityLogLevel(int level);
/**
- * Returns true if the value of the logLevel attribute can currently be
- * modified. Some attributes can not be modified while the system is running.
- */
- public boolean isSecurityLogLevelModifiable();
-
- /**
* The name of "security-log-level" property that sets the log-level for
* security logger obtained using
* {@link DistributedSystem#getSecurityLogWriter()}
*/
+ // type is String because the config file "config", "debug", "fine" etc, but the setter getter accepts int
+ @ConfigAttribute(type=String.class)
public static final String SECURITY_LOG_LEVEL_NAME = "security-log-level";
/**
@@ -2192,6 +2143,7 @@ public interface DistributionConfig extends Config, LogConfig {
*
* @return <code>null</code> if logging information goes to standard out
*/
+ @ConfigAttributeGetter(name=SECURITY_LOG_FILE_NAME)
public File getSecurityLogFile();
/**
@@ -2209,19 +2161,14 @@ public interface DistributionConfig extends Config, LogConfig {
* if the set failure is caused by an error when writing to
* the system's configuration file.
*/
+ @ConfigAttributeSetter(name=SECURITY_LOG_FILE_NAME)
public void setSecurityLogFile(File value);
/**
- * Returns true if the value of the <code>security-log-file</code> attribute
- * can currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isSecurityLogFileModifiable();
-
- /**
* The name of the "security-log-file" property. This property is the path of
* the file where security related messages are logged.
*/
+ @ConfigAttribute(type=File.class)
public static final String SECURITY_LOG_FILE_NAME = "security-log-file";
/**
@@ -2238,6 +2185,7 @@ public interface DistributionConfig extends Config, LogConfig {
*
* @return Timeout in milliseconds.
*/
+ @ConfigAttributeGetter(name=SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME)
public int getSecurityPeerMembershipTimeout();
/**
@@ -2245,17 +2193,9 @@ public interface DistributionConfig extends Config, LogConfig {
* than peer handshake timeout.
* @param attValue
*/
+ @ConfigAttributeSetter(name=SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME)
public void setSecurityPeerMembershipTimeout(int attValue);
- /**
- * Returns true if the value of the peer membership timeout attribute can currently be modified.
- * Some attributes can not be modified while the system is running.
- * @return true if timeout is modifiable.
- */
- public boolean isSecurityPeerMembershipTimeoutModifiable();
-
- /** The name of the peer membership check timeout property */
- public static final String SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME = "security-peer-verifymember-timeout";
/**
* The default peer membership check timeout is 1 second.
@@ -2268,6 +2208,9 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public static final int MAX_SECURITY_PEER_VERIFYMEMBER_TIMEOUT = 60000;
+ /** The name of the peer membership check timeout property */
+ @ConfigAttribute(type=Integer.class, min=0, max=MAX_SECURITY_PEER_VERIFYMEMBER_TIMEOUT)
+ public static final String SECURITY_PEER_VERIFYMEMBER_TIMEOUT_NAME = "security-peer-verifymember-timeout";
/**
* Returns all properties starting with <a
* href="../DistributedSystem.html#security-">"security-"</a>.
@@ -2288,13 +2231,6 @@ public interface DistributionConfig extends Config, LogConfig {
*/
public void setSecurity(String attName, String attValue);
- /**
- * Returns true if the value of the security attributes can
- * currently be modified. Some attributes can not be modified while the
- * system is running.
- */
- public boolean isSecurityModifiable();
-
/** For the "security-" prefixed properties */
public static final String SECURITY_PREFIX_NAME = "security-";
@@ -2322,6 +2258,7 @@ public interface DistributionConfig extends Config, LogConfig {
/**
* The property decides whether to remove unresponsive client from the server.
*/
+ @ConfigAttribute(type=Boolean.class)
public static final String REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME = "remove-unresponsive-client";
/**
@@ -2334,6 +2271,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @since 6.0
*/
+ @ConfigAttributeGetter(name=REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME)
public boolean getRemoveUnresponsiveClient();
/**
* Sets the value of the <a
@@ -2341,11 +2279,11 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @since 6.0
*/
+ @ConfigAttributeSetter(name=REMOVE_UNRESPONSIVE_CLIENT_PROP_NAME)
public void setRemoveUnresponsiveClient(boolean value);
- /** @since 6.0 */
- public boolean isRemoveUnresponsiveClientModifiable();
/** @since 6.3 */
+ @ConfigAttribute(type=Boolean.class)
public static final String DELTA_PROPAGATION_PROP_NAME = "delta-propagation";
public static final boolean DEFAULT_DELTA_PROPAGATION = true;
@@ -2355,6 +2293,7 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @since 6.3
*/
+ @ConfigAttributeGetter(name=DELTA_PROPAGATION_PROP_NAME)
public boolean getDeltaPropagation();
/**
@@ -2363,32 +2302,38 @@ public interface DistributionConfig extends Config, LogConfig {
* property.
* @since 6.3
*/
+ @ConfigAttributeSetter(name=DELTA_PROPAGATION_PROP_NAME)
public void setDeltaPropagation(boolean value);
- /** @since 6.3 */
- public boolean isDeltaPropagationModifiable();
-
+ public static final int MIN_DISTRIBUTED_SYSTEM_ID = -1;
+ public static final int MAX_DISTRIBUTED_SYSTEM_ID = 255;
/**
* @since 6.6
*/
+ @ConfigAttribute(type=Integer.class)
public static final String DISTRIBUTED_SYSTEM_ID_NAME = "distributed-system-id";
public static final int DEFAULT_DISTRIBUTED_SYSTEM_ID = -1;
+ @ConfigAttribute(type=String.class)
public static final String REDUNDANCY_ZONE_NAME = "redundancy-zone";
- public static final String DEFAULT_REDUNDANCY_ZONE = null;
+ public static final String DEFAULT_REDUNDANCY_ZONE = "";
/**
* @since 6.6
*/
+ @ConfigAttributeSetter(name=DISTRIBUTED_SYSTEM_ID_NAME)
public void setDistributedSystemId(int distributedSystemId);
+ @ConfigAttributeSetter(name=REDUNDANCY_ZONE_NAME)
public void setRedundancyZone(String redundancyZone);
/**
* @since 6.6
*/
+ @ConfigAttributeGetter(name=DISTRIBUTED_SYSTEM_ID_NAME)
public int getDistributedSystemId();
-
+
+ @ConfigAttributeGetter(name=REDUNDANCY_ZONE_NAME)
public String getRedundancyZone();
/**
@@ -2410,14 +2355,17 @@ public interface DistributionConfig extends Config, LogConfig {
/**
* @since 6.6
*/
+ @ConfigAttribute(type=Boolean.class)
public static final String ENFORCE_UNIQUE_HOST_NAME = "enforce-unique-host";
/** Using the system property to set the default here to retain backwards compatibility
* with customers that are already using this system property.
*/
public static boolean DEFAULT_ENFORCE_UNIQUE_HOST = Boolean.getBoolean("gemfire.EnforceUniqueHostStorageAllocation");
-
+
+ @ConfigAttributeSetter(name=ENFORCE_UNIQUE_HOST_NAME)
public void setEnforceUniqueHost(boolean enforceUniqueHost);
-
+
+ @ConfigAttributeGetter(name=ENFORCE_UNIQUE_HOST_NAME)
public boolean getEnforceUniqueHost();
public Properties getUserDefinedProps();
@@ -2430,6 +2378,7 @@ public interface DistributionConfig extends Config, LogConfig {
* @return the value of the property
* @since 7.0
*/
+ @ConfigAttributeGetter(name=GROUPS_NAME)
public String getGroups();
/**
* Sets the groups gemfire property.
@@ -2440,17 +2389,13 @@ public interface DistributionConfig extends Config, LogConfig {
* when writing to the system's configuration file.
* @since 7.0
*/
+ @ConfigAttributeSetter(name=GROUPS_NAME)
public void setGroups(String value);
- /**
- * Returns true if the value of the <code>groups</code> attribute can currently
- * be modified.
- * Some attributes can not be modified while the system is running.
- * @since 7.0
- */
- public boolean isGroupsModifiable();
+
/** The name of the "groups" property
* @since 7.0
*/
+ @ConfigAttribute(type=String.class)
public static final String GROUPS_NAME = "groups";
/**
* The default groups.
@@ -2461,40 +2406,53 @@ public interface DistributionConfig extends Config, LogConfig {
/** Any cl
<TRUNCATED>
[5/5] incubator-geode git commit: GEODE-913: refactor
AbstractDistributionConfig
Posted by ji...@apache.org.
GEODE-913: refactor AbstractDistributionConfig
* use annotations to annotate the config attributes and its setters/getters/checkers
* delete multiple huge if/else statements to use annoations
* delete unnecessary checks use annotated checkers.
* delete all isXXModifiers to use attribute lists to denote if the attribute is modifiable or not.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/70059905
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/70059905
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/70059905
Branch: refs/heads/develop
Commit: 700599052b74072115b4b17b25de23dcd78cd8c2
Parents: 3adb0b8
Author: Jinmei Liao <ji...@pivotal.io>
Authored: Thu Feb 4 07:57:27 2016 -0800
Committer: Jinmei Liao <ji...@pivotal.io>
Committed: Thu Feb 11 18:36:22 2016 -0800
----------------------------------------------------------------------
.../admin/jmx/internal/AgentConfigImpl.java | 25 +-
.../internal/AbstractDistributionConfig.java | 2690 ++----------------
.../distributed/internal/ConfigAttribute.java | 36 +
.../internal/ConfigAttributeChecker.java | 31 +
.../internal/ConfigAttributeDesc.java | 31 +
.../internal/ConfigAttributeGetter.java | 31 +
.../internal/ConfigAttributeSetter.java | 31 +
.../internal/DistributionConfig.java | 1061 ++++---
.../internal/DistributionConfigImpl.java | 361 +--
.../internal/RuntimeDistributionConfigImpl.java | 74 +-
.../gemfire/internal/AbstractConfig.java | 60 +-
.../gemstone/gemfire/internal/ConfigSource.java | 64 +-
.../gemfire/internal/logging/LogConfig.java | 12 +-
.../internal/DistributionConfigJUnitTest.java | 313 ++
.../gemfire/internal/ConfigSourceJUnitTest.java | 89 +
15 files changed, 1621 insertions(+), 3288 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/AgentConfigImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/AgentConfigImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/AgentConfigImpl.java
index 9d602f6..985c8c0 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/AgentConfigImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/AgentConfigImpl.java
@@ -16,21 +16,6 @@
*/
package com.gemstone.gemfire.admin.jmx.internal;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.InetAddress;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
import com.gemstone.gemfire.GemFireIOException;
import com.gemstone.gemfire.admin.DistributedSystemConfig;
import com.gemstone.gemfire.admin.DistributionLocatorConfig;
@@ -38,12 +23,18 @@ import com.gemstone.gemfire.admin.internal.DistributedSystemConfigImpl;
import com.gemstone.gemfire.admin.internal.InetAddressUtil;
import com.gemstone.gemfire.admin.jmx.Agent;
import com.gemstone.gemfire.admin.jmx.AgentConfig;
-import com.gemstone.gemfire.distributed.internal.AbstractDistributionConfig;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
import com.gemstone.gemfire.internal.ClassPathLoader;
import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
import com.gemstone.gemfire.internal.util.IOUtils;
+import java.io.*;
+import java.net.InetAddress;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.StringTokenizer;
+
/**
* Provides the JMX Agent configuration properties.
* <p>
[3/5] incubator-geode git commit: GEODE-913: refactor
AbstractDistributionConfig
Posted by ji...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttribute.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttribute.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttribute.java
new file mode 100644
index 0000000..51712f9
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttribute.java
@@ -0,0 +1,36 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Created by jiliao on 2/3/16.
+ * min and max are used only when type is Integer
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ConfigAttribute {
+ Class type();
+
+ int min() default Integer.MIN_VALUE;
+
+ int max() default Integer.MAX_VALUE;
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeChecker.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeChecker.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeChecker.java
new file mode 100644
index 0000000..14c1e54
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeChecker.java
@@ -0,0 +1,31 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Created by jiliao on 2/3/16.
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ConfigAttributeChecker {
+ String name();
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeDesc.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeDesc.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeDesc.java
new file mode 100644
index 0000000..57a4a72
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeDesc.java
@@ -0,0 +1,31 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Created by jiliao on 2/3/16.
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ConfigAttributeDesc {
+ String name();
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeGetter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeGetter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeGetter.java
new file mode 100644
index 0000000..678ecf0
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeGetter.java
@@ -0,0 +1,31 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Created by jiliao on 2/3/16.
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ConfigAttributeGetter {
+ String name();
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/70059905/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeSetter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeSetter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeSetter.java
new file mode 100644
index 0000000..ad8ad65
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ConfigAttributeSetter.java
@@ -0,0 +1,31 @@
+/*
+ * 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 com.gemstone.gemfire.distributed.internal;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Created by jiliao on 2/3/16.
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ConfigAttributeSetter {
+ String name();
+}