@Override public void write(WorkflowInstanceId objectValue, JsonWriter jsonWriter) { jsonWriter.writeString(objectValue.getInternal()); }
@Override public void write(WorkflowInstanceId objectValue, JsonWriter jsonWriter) { JsonObjectWriter jsonObjectWriter = (JsonObjectWriter) jsonWriter; jsonObjectWriter.writeValue(new ObjectId(objectValue.getInternal())); }
@Override public void write(WorkflowInstanceId objectValue, JsonWriter jsonWriter) { JsonObjectWriter jsonObjectWriter = (JsonObjectWriter) jsonWriter; jsonObjectWriter.writeValue(new ObjectId(objectValue.getInternal())); }
protected BasicDBObject createDbQuery(WorkflowInstanceQuery query) { if (query == null) { query = new WorkflowInstanceQuery(); } BasicDBObject dbQuery = new BasicDBObject(); if (query.getWorkflowInstanceId() != null) { dbQuery.append(_ID, new ObjectId(query.getWorkflowInstanceId().getInternal())); } if (query.getActivityId() != null) { dbQuery.append(ACTIVITY_INSTANCES , new BasicDBObject("$elemMatch", new BasicDBObject(ACTIVITY_ID, query.getActivityId()) .append(WORK_STATE, new BasicDBObject("$exists", true)))); } if (query.getLockedBefore() != null) { dbQuery.append(LOCK + "." + Lock.TIME, new BasicDBObject("$lt", query.getLockedBefore().toDate())); } return dbQuery; }
protected BasicDBObject createDbQuery(WorkflowInstanceQuery query) { if (query == null) { query = new WorkflowInstanceQuery(); } BasicDBObject dbQuery = new BasicDBObject(); if (query.getWorkflowInstanceId() != null) { dbQuery.append(_ID, new ObjectId(query.getWorkflowInstanceId().getInternal())); } if (query.getActivityId() != null) { dbQuery.append(ACTIVITY_INSTANCES , new BasicDBObject("$elemMatch", new BasicDBObject(ACTIVITY_ID, query.getActivityId()) .append(WORK_STATE, new BasicDBObject("$exists", true)))); } if (query.getLockedBefore() != null) { dbQuery.append(LOCK + "." + Lock.TIME, new BasicDBObject("$lt", query.getLockedBefore().toDate())); } return dbQuery; }
@Override public WorkflowInstanceImpl getWorkflowInstanceImplById(WorkflowInstanceId workflowInstanceId) { if (workflowInstanceId==null) { return null; } DBObject query = createLockQuery(); query.put(_ID, new ObjectId(workflowInstanceId.getInternal())); BasicDBObject dbWorkflowInstance = workflowInstancesCollection.findOne("get-workflow-instance", query); if (dbWorkflowInstance==null) { return null; } return readWorkflowInstanceImpl(dbWorkflowInstance); }
@Override public WorkflowInstanceImpl getWorkflowInstanceImplById(WorkflowInstanceId workflowInstanceId) { if (workflowInstanceId==null) { return null; } DBObject query = createLockQuery(); query.put(_ID, new ObjectId(workflowInstanceId.getInternal())); BasicDBObject dbWorkflowInstance = workflowInstancesCollection.findOne("get-workflow-instance", query); if (dbWorkflowInstance==null) { return null; } return readWorkflowInstanceImpl(dbWorkflowInstance); }
@Override public void deleteJobByScope(WorkflowInstanceId workflowInstanceId, String activityInstanceId) { BasicDBObject dbQuery = new Query() .equal(WORKFLOW_INSTANCE_ID, new ObjectId(workflowInstanceId.getInternal())) .equalOpt(ACTIVITY_INSTANCE_ID, activityInstanceId) .get(); jobsCollection.remove("delete-job", dbQuery); }
@Override public void deleteJobByScope(WorkflowInstanceId workflowInstanceId, String activityInstanceId) { BasicDBObject dbQuery = new Query() .equal(WORKFLOW_INSTANCE_ID, new ObjectId(workflowInstanceId.getInternal())) .equalOpt(ACTIVITY_INSTANCE_ID, activityInstanceId) .get(); jobsCollection.remove("delete-job", dbQuery); }
@Override public WorkflowInstanceImpl lockWorkflowInstance(WorkflowInstanceId workflowInstanceId) { Exceptions.checkNotNullParameter(workflowInstanceId, "workflowInstanceId"); DBObject query = createLockQuery(); query.put(_ID, new ObjectId(workflowInstanceId.getInternal())); DBObject update = createLockUpdate(); DBObject retrieveFields = new BasicDBObject() .append(ARCHIVED_ACTIVITY_INSTANCES, false); BasicDBObject dbWorkflowInstance = workflowInstancesCollection.findAndModify("lock-workflow-instance", query, update, retrieveFields); if (dbWorkflowInstance==null) { return null; } WorkflowInstanceImpl workflowInstance = readWorkflowInstanceImpl(dbWorkflowInstance); workflowInstance.trackUpdates(false); return workflowInstance; }
@Override public WorkflowInstanceImpl lockWorkflowInstance(WorkflowInstanceId workflowInstanceId) { Exceptions.checkNotNullParameter(workflowInstanceId, "workflowInstanceId"); DBObject query = createLockQuery(); query.put(_ID, new ObjectId(workflowInstanceId.getInternal())); DBObject update = createLockUpdate(); DBObject retrieveFields = new BasicDBObject() .append(ARCHIVED_ACTIVITY_INSTANCES, false); BasicDBObject dbWorkflowInstance = workflowInstancesCollection.findAndModify("lock-workflow-instance", query, update, retrieveFields); if (dbWorkflowInstance==null) { return null; } WorkflowInstanceImpl workflowInstance = readWorkflowInstanceImpl(dbWorkflowInstance); workflowInstance.trackUpdates(false); return workflowInstance; }
@Override public void unlockWorkflowInstance(WorkflowInstanceImpl workflowInstance) { if (workflowInstance!=null) { ObjectId workflowInstanceId = new ObjectId(workflowInstance.id.getInternal()); // @formatter:off workflowInstancesCollection.update("unlock-workflow-instance", new Query() ._id(workflowInstanceId) .get(), new Update() .unset(LOCK) .get()); // @formatter:off workflowInstance.notifyUnlockListeners(); } }
@Override public void unlockWorkflowInstance(WorkflowInstanceImpl workflowInstance) { if (workflowInstance!=null) { ObjectId workflowInstanceId = new ObjectId(workflowInstance.id.getInternal()); // @formatter:off workflowInstancesCollection.update("unlock-workflow-instance", new Query() ._id(workflowInstanceId) .get(), new Update() .unset(LOCK) .get()); // @formatter:off workflowInstance.notifyUnlockListeners(); } }
.add(_ID, new ObjectId(workflowInstance.id.getInternal()))
.add(_ID, new ObjectId(workflowInstance.id.getInternal()))