Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012 International Business Machines Corp.
   * 
   * See the NOTICE file distributed with this work for additional information
   * regarding copyright ownership. Licensed 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.ibm.jbatch.container.impl;
 
 import java.util.List;
 
 
 
 
 
     private final static String sourceClass = BatchletStepControllerImpl.class.getName();
     private final static Logger logger = Logger.getLogger();
     
     private BatchletProxy batchletProxy;
 
     public BatchletStepControllerImpl(RuntimeJobExecutionHelper jobExecutionImplStep step) {
         super(jobExecutionImplstep);
     }
 
     private void invokeBatchlet(Batchlet batchletthrows BatchContainerServiceException {
 
         String batchletId = batchlet.getRef();
         List<PropertypropList = (batchlet.getProperties() == null) ? null : batchlet.getProperties().getPropertyList();
 
         String sourceMethod = "invokeBatchlet";
         if (.isLoggable(.)) {
             .entering(sourceMethodbatchletId);
         }
 
         String exitStatus = null;
        
                 propList);
 
         try {
              = ProxyFactory.createBatchletProxy(batchletIdinjectionRef);
         } catch (ArtifactValidationException e) {
             throw new BatchContainerServiceException("Cannot create the batchlet [" + batchletId + "]"e);
         }
         
         if (.isLoggable(.))
             .fine("Batchlet is loaded and validated: " + );
 
         
             this.statusStopped();
         } else {
            	
             exitStatus = .process();
             //Set the exist status on the step context even if its null.
             //We'll check for null later and default it to the batch status
             if (.isLoggable(.)) {
                 .fine("StepContext exit status set to process() return value.");
                 .exiting(sourceMethodexitStatus);
             }
             .setExitStatus(exitStatus);
         }
     }
 
     @Override
     protected void invokeCoreStep() throws BatchContainerServiceException {
     	
         //TODO If this step is partitioned create partition artifacts
         Partition partition = .getPartition();
         if (partition != null) {
         	//partition.getConcurrencyElements();
         }
     	try {
    	    invokeBatchlet(.getBatchlet());
    	} finally {
            if ( != null) {
            	Serializable data = this..collectPartitionData();
                if (this. != null) {
                    // Invoke the partition analayzer at the end of each step if
                    // the step runs
                    PartitionDataWrapper dataWrapper = new PartitionDataWrapper();
                    dataWrapper.setCollectorData(data);
                    dataWrapper.setEventType(.);
                    .add(dataWrapper);
                }
            }
            if (this. != null) {
                PartitionDataWrapper dataWrapper = new PartitionDataWrapper();
                dataWrapper.setBatchStatus(.getBatchStatus());
                dataWrapper.setExitStatus(.getExitStatus());
                dataWrapper.setEventType(.);
                .add(dataWrapper);
            }
        }
        
    }
    @Override
    public synchronized void stop() { 
        
    	        ..equals(.getBatchStatus())) {
    	
    		
            if ( != null) {
            	.stop();	
            }
    	} else {
        	//TODO do we need to throw an error if the batchlet is already stopping/stopped
    		//a stop gets issued twice
    	}
    }
New to GrepCode? Check out our FAQ X