コード例 #1
0
ファイル: ResourceConfig.java プロジェクト: kanakb/helix
 /**
  * Create a ResourceConfig that is the combination of an existing ResourceConfig and this delta
  *
  * @param orig the original ResourceConfig
  * @return updated ResourceConfig
  */
 public ResourceConfig mergeInto(ResourceConfig orig) {
   ResourceConfig deltaConfig = _builder.build();
   ResourceConfigBuilder builder =
       ResourceConfigBuilder.newInstance()
           .with(orig.getId())
           .rebalancerConfig(orig.getRebalancerConfig())
           .schedulerTaskConfig(orig.getSchedulerTaskConfig())
           .userConfig(orig.getUserConfig())
           .bucketSize(orig.getBucketSize())
           .batchMessageMode(orig.getBatchMessageMode());
   for (Fields field : _updateFields) {
     switch (field) {
       case REBALANCER_CONFIG:
         builder.rebalancerConfig(deltaConfig.getRebalancerConfig());
         break;
       case USER_CONFIG:
         builder.userConfig(deltaConfig.getUserConfig());
         break;
       case BUCKET_SIZE:
         builder.bucketSize(deltaConfig.getBucketSize());
         break;
       case BATCH_MESSAGE_MODE:
         builder.batchMessageMode(deltaConfig.getBatchMessageMode());
         break;
     }
   }
   return builder.build();
 }
コード例 #2
0
ファイル: ResourceConfig.java プロジェクト: kanakb/helix
 /**
  * Set the batch message mode
  *
  * @param batchMessageMode true to enable, false to disable
  * @return Delta
  */
 public Delta setBatchMessageMode(boolean batchMessageMode) {
   _builder.batchMessageMode(batchMessageMode);
   _updateFields.add(Fields.BATCH_MESSAGE_MODE);
   return this;
 }
コード例 #3
0
ファイル: ResourceConfig.java プロジェクト: kanakb/helix
 /**
  * Set the bucket size
  *
  * @param bucketSize the size to use
  * @return Delta
  */
 public Delta setBucketSize(int bucketSize) {
   _builder.bucketSize(bucketSize);
   _updateFields.add(Fields.BUCKET_SIZE);
   return this;
 }
コード例 #4
0
ファイル: ResourceConfig.java プロジェクト: kanakb/helix
 /**
  * Set the user configuration
  *
  * @param userConfig user-specified properties
  * @return Delta
  */
 public Delta setUserConfig(UserConfig userConfig) {
   _builder.userConfig(userConfig);
   _updateFields.add(Fields.USER_CONFIG);
   return this;
 }
コード例 #5
0
ファイル: ResourceConfig.java プロジェクト: kanakb/helix
 /**
  * Set the rebalancer configuration
  *
  * @param config properties of interest for rebalancing
  * @return Delta
  */
 public Delta setRebalancerConfig(RebalancerConfiguration config) {
   _builder.rebalancerConfig(config);
   _updateFields.add(Fields.REBALANCER_CONFIG);
   return this;
 }
コード例 #6
0
ファイル: ResourceConfig.java プロジェクト: kanakb/helix
 /**
  * Instantiate the delta for a resource config
  *
  * @param resourceId the resource to update
  */
 public Delta(ResourceId resourceId) {
   _builder = ResourceConfigBuilder.newInstance().with(resourceId);
   _updateFields = Sets.newHashSet();
 }