diff options
| author | Thomas Knall <t.knall@datentechnik-innovation.com> | 2015-02-04 12:17:31 +0100 | 
|---|---|---|
| committer | Thomas Knall <t.knall@datentechnik-innovation.com> | 2015-02-04 12:17:31 +0100 | 
| commit | a22b7f1660560569701d086b4075192fa83ee6a8 (patch) | |
| tree | 60bb596edba6acfa098e3e5df3647a8033bde3b7 | |
| parent | 4b6fd327b29ff84f61914f33b6361fa31441c92e (diff) | |
| download | moa-id-spss-a22b7f1660560569701d086b4075192fa83ee6a8.tar.gz moa-id-spss-a22b7f1660560569701d086b4075192fa83ee6a8.tar.bz2 moa-id-spss-a22b7f1660560569701d086b4075192fa83ee6a8.zip | |
Persistence issue fixed (MOAID-62)
- ProcessInstanceStore: Removed primary key column "id", set processInstanceId as new primary key column.
- Renamed "save"-methods that actually save-or-update to "saveOrUpdate...".
4 files changed, 7 insertions, 16 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java index eb6a29ad9..650bae44e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/ProcessEngineImpl.java @@ -30,8 +30,6 @@ import at.gv.egovernment.moa.id.process.model.Transition;  /**   * Process engine implementation allowing starting and continuing processes as well as providing means for cleanup actions. - * @author tknall - *   */  public class ProcessEngineImpl implements ProcessEngine { @@ -101,7 +99,7 @@ public class ProcessEngineImpl implements ProcessEngine {  		log.info("Creating process instance from process definition '{}': {}", processDefinitionId, pi.getId());  		try { -			saveProcessInstance(pi); +			saveOrUpdateProcessInstance(pi);  		} catch (MOADatabaseException e) {  			throw new ProcessExecutionException("Unable to persist process instance.", e);  		} @@ -133,7 +131,7 @@ public class ProcessEngineImpl implements ProcessEngine {  			pi.setState(ProcessInstanceState.STARTED);  			execute(pi); -			saveProcessInstance(pi); +			saveOrUpdateProcessInstance(pi);  		} catch (MOADatabaseException e) {  			throw new ProcessExecutionException("Unable to load/save process instance.", e); @@ -162,7 +160,7 @@ public class ProcessEngineImpl implements ProcessEngine {  			pi.setState(ProcessInstanceState.STARTED);  			execute(pi); -			saveProcessInstance(pi); +			saveOrUpdateProcessInstance(pi);  		} catch (MOADatabaseException e) {  			throw new ProcessExecutionException("Unable to load/save process instance.", e); @@ -314,7 +312,7 @@ public class ProcessEngineImpl implements ProcessEngine {  	 * @param processInstance The object to persist.  	 * @throws MOADatabaseException Thrown if an error occurs while accessing the database.  	 */ -	private void saveProcessInstance(ProcessInstance processInstance) throws MOADatabaseException { +	private void saveOrUpdateProcessInstance(ProcessInstance processInstance) throws MOADatabaseException {  		ProcessInstanceStore store = new ProcessInstanceStore();  		ExecutionContext ctx = processInstance.getExecutionContext(); @@ -331,7 +329,7 @@ public class ProcessEngineImpl implements ProcessEngine {  		store.setProcessInstanceId(processInstance.getId());  		store.setProcessState(processInstance.getState()); -		piStoreDao.save(store); +		piStoreDao.saveOrUpdate(store);  	}  	/** diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java index c6bf86823..582f50427 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStore.java @@ -19,11 +19,7 @@ import at.gv.egovernment.moa.id.process.ProcessInstanceState;  @Table(name = "processinstance")  public class ProcessInstanceStore { -	@Column(name = "id")  	@Id -	private int id; - -	@Column(name = "processInstanceId", unique = true, nullable = false)  	private String processInstanceId;  	@Column(name = "processDefinitionId", nullable = false) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java index 999a9b82b..6f8a8c66c 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAO.java @@ -16,7 +16,7 @@ public interface ProcessInstanceStoreDAO {  	 * @throws MOADatabaseException  	 *             is thrown if a problem occurs while accessing the database.  	 */ -	void save(ProcessInstanceStore pIStore) throws MOADatabaseException; +	void saveOrUpdate(ProcessInstanceStore pIStore) throws MOADatabaseException;  	/**  	 * Returns a {@link ProcessInstanceStore}, defined by diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java index 0a50afc6c..012dfe90b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/process/dao/ProcessInstanceStoreDAOImpl.java @@ -1,8 +1,5 @@  package at.gv.egovernment.moa.id.process.dao; -import java.util.Collections; -import java.util.List; -  import org.hibernate.Criteria;  import org.hibernate.Session;  import org.hibernate.Transaction; @@ -28,7 +25,7 @@ public class ProcessInstanceStoreDAOImpl implements ProcessInstanceStoreDAO {  	}  	@Override -	public void save(ProcessInstanceStore pIStore) throws MOADatabaseException { +	public void saveOrUpdate(ProcessInstanceStore pIStore) throws MOADatabaseException {  		try {  			MOASessionDBUtils.saveOrUpdate(pIStore);  			log.debug("Store process instance with='{}' in the database.", pIStore.getProcessInstanceId()); | 
