protected DataPolicy resolveDataPolicy(final String dataPolicyName) {
      try {
        for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) {
          DataPolicy dataPolicy = DataPolicy.fromOrdinal(ordinal);

          if (dataPolicy.toString().equalsIgnoreCase(dataPolicyName)) {
            return dataPolicy;
          }
        }
      } catch (Exception ignore) {
      }

      return null;
    }
  /** * Returns Map of the non default Attributes and its values */
  public Map<String, String> getNonDefaultAttributes() {

    if (nonDefaultAttributes == null) {
      nonDefaultAttributes = new HashMap<String, String>();

      if (cloningEnabled != RegionAttributesDefault.CLONING_ENABLED) {
        nonDefaultAttributes.put(
            RegionAttributesNames.CLONING_ENABLED, Boolean.toString(cloningEnabled));
      }

      if (compressorClassName != RegionAttributesDefault.COMPRESSOR_CLASS_NAME) {
        nonDefaultAttributes.put(RegionAttributesNames.COMPRESSOR, compressorClassName);
      }

      if (concurrencyChecksEnabled != RegionAttributesDefault.CONCURRENCY_CHECK_ENABLED) {
        nonDefaultAttributes.put(
            RegionAttributesNames.CONCURRENCY_CHECK_ENABLED,
            Boolean.toString(concurrencyChecksEnabled));
      }

      if (concurrencyLevel != RegionAttributesDefault.CONCURRENCY_LEVEL) {
        nonDefaultAttributes.put(
            RegionAttributesNames.CONCURRENCY_LEVEL, Integer.toString(concurrencyLevel));
      }

      if (dataPolicy.equals(RegionAttributesDefault.DATA_POLICY)) {
        nonDefaultAttributes.put(RegionAttributesNames.DATA_POLICY, dataPolicy.toString());
      }

      if (diskStoreName != null && diskStoreName.equals(RegionAttributesDefault.DISK_STORE_NAME)) {
        nonDefaultAttributes.put(RegionAttributesNames.DISK_STORE_NAME, diskStoreName);
      }

      if (enableAsyncConflation != RegionAttributesDefault.ENABLE_ASYNC_CONFLATION) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENABLE_ASYNC_CONFLATION, Boolean.toString(enableAsyncConflation));
      }

      if (enableGateway != RegionAttributesDefault.ENABLE_GATEWAY) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENABLE_GATEWAY, Boolean.toString(enableGateway));
      }

      if (enableSubscriptionConflation != RegionAttributesDefault.ENABLE_SUBSCRIPTION_CONFLATION) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENABLE_SUBSCRIPTION_CONFLATION,
            Boolean.toString(enableSubscriptionConflation));
      }

      if (entryIdleTimeout != RegionAttributesDefault.ENTRY_IDLE_TIMEOUT) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENTRY_IDLE_TIMEOUT, Integer.toString(entryIdleTimeout));
      }

      if (gatewayHubId != null
          && !gatewayHubId.isEmpty()
          && !gatewayHubId.equals(RegionAttributesDefault.GATEWAY_HUB_ID)) {
        nonDefaultAttributes.put(RegionAttributesNames.GATEWAY_HUB_ID, gatewayHubId);
      }

      if (ignoreJTA != RegionAttributesDefault.IGNORE_JTA) {
        nonDefaultAttributes.put(RegionAttributesNames.IGNORE_JTA, Boolean.toString(ignoreJTA));
      }

      if (indexMaintenanceSynchronous != RegionAttributesDefault.INDEX_MAINTENANCE_SYNCHRONOUS) {
        nonDefaultAttributes.put(
            RegionAttributesNames.INDEX_MAINTENANCE_SYNCHRONOUS,
            Boolean.toString(indexMaintenanceSynchronous));
      }

      if (initialCapacity != RegionAttributesDefault.INITIAL_CAPACITY) {
        nonDefaultAttributes.put(
            RegionAttributesNames.INITIAL_CAPACITY, Integer.toString(initialCapacity));
      }

      if (loadFactor != RegionAttributesDefault.LOAD_FACTOR) {
        nonDefaultAttributes.put(RegionAttributesNames.LOAD_FACTOR, Float.toString(loadFactor));
      }

      if (multicastEnabled != RegionAttributesDefault.MULTICAST_ENABLED) {
        nonDefaultAttributes.put(
            RegionAttributesNames.MULTICAST_ENABLED, Boolean.toString(multicastEnabled));
      }

      if (poolName != null && !poolName.equals(RegionAttributesDefault.POOL_NAME)) {
        nonDefaultAttributes.put(RegionAttributesNames.POOL_NAME, poolName);
      }

      if (scope.equals(RegionAttributesDefault.SCOPE)) {
        nonDefaultAttributes.put(RegionAttributesNames.SCOPE, scope.toString());
      }

      if (statisticsEnabled != RegionAttributesDefault.STATISTICS_ENABLED) {
        nonDefaultAttributes.put(
            RegionAttributesNames.STATISTICS_ENABLED, Boolean.toString(statisticsEnabled));
      }

      if (isLockGrantor != RegionAttributesDefault.IS_LOCK_GRANTOR) {
        nonDefaultAttributes.put(
            RegionAttributesNames.IS_LOCK_GRANTOR, Boolean.toString(isLockGrantor));
      }

      if (entryIdleTimeout != RegionAttributesDefault.ENTRY_IDLE_TIMEOUT) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENTRY_IDLE_TIMEOUT, Integer.toString(entryIdleTimeout));
      }

      if (entryIdleTimeoutAction != null
          && !entryIdleTimeoutAction.equals(RegionAttributesDefault.ENTRY_IDLE_TIMEOUT_ACTION)) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENTRY_IDLE_TIMEOUT_ACTION, entryIdleTimeoutAction);
      }

      if (entryTimeToLive != RegionAttributesDefault.ENTRY_TIME_TO_LIVE) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENTRY_TIME_TO_LIVE, Integer.toString(entryTimeToLive));
      }

      if (entryTimeToLiveAction != null
          && !entryTimeToLiveAction.equals(RegionAttributesDefault.ENTRY_TIME_TO_LIVE_ACTION)) {
        nonDefaultAttributes.put(
            RegionAttributesNames.ENTRY_TIME_TO_LIVE_ACTION, entryTimeToLiveAction);
      }

      if (regionIdleTimeout != RegionAttributesDefault.REGION_IDLE_TIMEOUT) {
        nonDefaultAttributes.put(
            RegionAttributesNames.REGION_IDLE_TIMEOUT, Integer.toString(regionIdleTimeout));
      }

      if (regionIdleTimeoutAction != null
          && !regionIdleTimeoutAction.equals(RegionAttributesDefault.REGION_IDLE_TIMEOUT_ACTION)) {
        nonDefaultAttributes.put(
            RegionAttributesNames.REGION_IDLE_TIMEOUT_ACTION, regionIdleTimeoutAction);
      }

      if (regionTimeToLive != RegionAttributesDefault.REGION_TIME_TO_LIVE) {
        nonDefaultAttributes.put(
            RegionAttributesNames.REGION_TIME_TO_LIVE, Integer.toString(regionTimeToLive));
      }

      if (regionTimeToLiveAction != null
          && !regionTimeToLiveAction.equals(RegionAttributesDefault.REGION_TIME_TO_LIVE_ACTION)) {
        nonDefaultAttributes.put(
            RegionAttributesNames.REGION_TIME_TO_LIVE_ACTION, regionTimeToLiveAction);
      }

      if (cacheListenerClassNames != null && !cacheListenerClassNames.isEmpty()) {
        nonDefaultAttributes.put(
            RegionAttributesNames.CACHE_LISTENERS,
            CliUtil.convertStringListToString(cacheListenerClassNames, ','));
      }

      if (cacheLoaderClassName != null && !cacheLoaderClassName.isEmpty()) {
        nonDefaultAttributes.put(RegionAttributesNames.CACHE_LOADER, cacheLoaderClassName);
      }

      if (cacheWriterClassName != null && !cacheWriterClassName.isEmpty()) {
        nonDefaultAttributes.put(RegionAttributesNames.CACHE_WRITER, cacheWriterClassName);
      }
    }
    return this.nonDefaultAttributes;
  }