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.services.impl;
 
 import java.util.List;
 
 
 public abstract class AbstractMapBasedPersistenceManagerImpl  extends
 
     private static final String CLASSNAME = AbstractMapBasedPersistenceManagerImpl.class.getName();
     private static Logger logger = Logger.getLogger(AbstractMapBasedPersistenceManagerImpl.class.getPackage().getName());;
     protected static boolean _isInited = false;
     protected static Hashtable<LongJobStatus_jobStatusStore =  null;
     protected static Hashtable<String,StepStatus_stepStatusStore =  null;							
     protected static Hashtable<String,CheckpointData_checkpointStore =  null;
 
     protected static Object _jobStoreLock = new Object();
     protected static Object _stepStoreLock = new Object();
     protected static Object _checkpointStoreLock = new Object();
 
 
 
     //	protected void _createPJMLogicalTX(LogicalTXKey key, LogicalTXData value) {
     //		// TODO Auto-generated method stub
     //		
     //	}
     //
     //
     //	protected void _createPJMJobContext(TLJContextKey key, TLJContextData value) {
     //		// TODO Auto-generated method stub
     //		
     //	}
     //
     //
     //	protected void _createPJMSubmittedJobs(SubmittedJobKey key,
     //			SubmittedJobData value) {
     //		// TODO Auto-generated method stub
     //		
     //	}
 
 
     protected void _createCheckpointData(CheckpointDataKey key,
     		CheckpointData value) {
     	synchronized() {
     			.put(key.getKeyPrimitive(), value);
     		}	
     	}
     	
     }
 
 
     @Override
     	protected void _createStepStatus(StepStatusKey keyStepStatus value) {
     		synchronized() {
     				.put(key.getKeyPrimitive(), value);
     			} else {
     			    throw new IllegalStateException("Already have step entry for key = " + key);
     			}
     		}
     		
     	}
 
 
     @Override
     protected void _createJobStatus(JobStatusKey keyJobStatus value) {
         synchronized() {
             if(!.containsKey(key.getKeyPrimitive())) {
                 .put(key.getKeyPrimitive(), value);
                _saveStore();
            } else {
                throw new IllegalStateException("Entry with key = " + key.getKeyPrimitive() + " already exists.");
            }
        }		
    }
    @Override
    protected List<JobStatus_getJobStatus(JobStatusKey key) {
        List<JobStatusstatusList = new ArrayList<JobStatus>();
        synchronized() {
            if(.containsKey(key.getKeyPrimitive())) {
                JobStatus status = .get(key.getKeyPrimitive());
                statusList.add(status);
            }   
        }
        return statusList;
    }
    
    @Override
    protected List<StepStatus_getStepStatus(StepStatusKey key) {
        List<StepStatusstatusList = new ArrayList<StepStatus>();
        synchronized() {
            if(.containsKey(key.getKeyPrimitive())) {
                StepStatus status = .get(key.getKeyPrimitive());
                statusList.add(status);
            }   
        }
        return statusList;
    }
    //	protected void _deletePJMLogicalTX(LogicalTXKey key) {
    //		// TODO Auto-generated method stub
    //		
    //	}
    //
    //
    //	protected void _deletePJMJobContext(TLJContextKey key) {
    //		// TODO Auto-generated method stub
    //		
    //	}
    //
    //
    //	protected void _deletePJMSubmittedJobs(SubmittedJobKey key) {
    //		// TODO Auto-generated method stub
    //		
    //	}
    //
    
    @Override
    protected void _deleteCheckpointData(CheckpointDataKey key) {
    		synchronized() {
    			}	
    		}
    		
    	}
    
    @Override
    	protected void _deleteStepStatus(StepStatusKey key) {
    		synchronized() {
    			}	
    		}
    		
    	}
    @Override
    protected void _deleteJobStatus(JobStatusKey key) {
        synchronized() {
            if(.containsKey(key.getKeyPrimitive())) {
                .remove(key.getKeyPrimitive());
                _saveStore();
            }	
        }
    }
    //	protected List _getPJMLogicalTX(LogicalTXKey key) {
    //		// TODO Auto-generated method stub
    //		return null;
    //	}
    //
    //
    //	protected List _getPJMJobContext(TLJContextKey key) {
    //		// TODO Auto-generated method stub
    //		return null;
    //	}
    //
    //
    //	protected List _getPJMSubmittedJobsData(SubmittedJobKey key) {
    //		// TODO Auto-generated method stub
    //		return null;
    //	}
    //
    @Override
    		List<CheckpointDatadataList = new ArrayList<CheckpointData>();
    		synchronized() {
    				dataList.add(data);
    			}	
    		}
    		return dataList;
    }
    //	protected void _updatePJMLogicalTX(LogicalTXKey key, LogicalTXData value) {
    //		// TODO Auto-generated method stub
    //		
    //	}
    //
    //
    //	protected void _updatePJMJobContext(TLJContextKey key, TLJContextData value) {
    //		// TODO Auto-generated method stub
    //		
    //	}
    //
    //
    //	protected void _updatePJMSubmittedJobs(SubmittedJobKey key,
    //			SubmittedJobData value) {
    //		// TODO Auto-generated method stub
    //		
    //	}
    @Override
    protected void _updateCheckpointData(CheckpointDataKey key,
    			CheckpointData value) {
    		synchronized() {
    				data.setRestartToken(value.getRestartToken());
    				data = value;
    			}	
    		}
    		
    }
    protected void _updateStepStatus(StepStatusKey keyStepStatus value) {
    		synchronized() {
    				.put(key.getKeyPrimitive(), value);
    				_saveStore();                 
                } else {
                    throw new IllegalStateException("Could not find entry for key = " + key.getKeyPrimitive());
                }
    		}
    		
    	}
    @Override
    protected void _updateJobStatus(JobStatusKey keyJobStatus value) {
        synchronized() {
            if(.containsKey(key.getKeyPrimitive())) {
                .put(key.getKeyPrimitive(), value);
                _saveStore();
            } else {
                throw new IllegalStateException("Could not find entry for key = " + key.getKeyPrimitive());
            }
        }
    }
    public void init(IBatchConfig pgcConfigthrows BatchContainerServiceException {
        super.init(pgcConfig);
        _loadDataStores();
    }
    protected abstract void _loadDataStores();
    protected abstract void _saveStore(int storeId); 
    public void shutdown() throws BatchContainerServiceException {
        // TODO Auto-generated method stub
    }
New to GrepCode? Check out our FAQ X