08-08-2011 05:57 PM
org.activiti.engine.ActivitiException: Variables of type ByteArray cannot be used to query
org.activiti.engine.impl.QueryVariableValue.initialize(QueryVariableValue.java:46)
String uuid = UUID.randomUUID().toString();
TaskMetaData taskMetaData= new TaskMetaData(uuid);
taskMetaData.setApprovalLinkURL("http://localhost:8080/activiti-rest/pages/approve.do?taskId=");
taskMetaData.setClaimLinkURL("http://localhost:8080/activiti-rest/pages/claim.do?taskId=");
String feedDescription=
"<h1>Workflow Task</h1><br/><div id=\"workflow_link\">"
+ "</div> | "
+ "<a href=\""
+ taskMetaData.getApprovalLinkURL()
+ taskMetaData.getId()
+ "\" title=\"Approve Task\">Approve Task</a> | "
+ "<a href=\""
+ taskMetaData.getClaimLinkURL()
+ taskMetaData.getId()
+ "\" title=\"Claim Task\">Claim Task</a> | <br/> ";
taskMetaData.setDescription(feedDescription);
// set the UUID as a process variable
task.setVariable("taskId", taskMetaData);
TaskMetaData taskMetaData= new TaskMetaData(taskId);
Task task = taskService.createTaskQuery().processVariableValueEquals("taskId", taskMetaData).singleResult();
if (task == null) {
throw new ActivitiException("No such task");
}
public class TaskMetaData implements Serializable, Comparable<TaskMetaData> {
private static final long serialVersionUID = 2932507457670328496L;
private final String id;
private String approvalLinkURL;
private String claimLinkURL;
private String description;
public TaskMetaData(String id) {
super();
this.id = id;
}
public String getApprovalLinkURL() {
return approvalLinkURL;
}
public void setApprovalLinkURL(String approvalLinkURL) {
this.approvalLinkURL = approvalLinkURL;
}
public String getClaimLinkURL() {
return claimLinkURL;
}
public void setClaimLinkURL(String claimLinkURL) {
this.claimLinkURL = claimLinkURL;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getId() {
return id;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (obj == null || !getClass().equals(obj.getClass())) {
return false;
}
TaskMetaData that = (TaskMetaData) obj;
return this.id.equalsIgnoreCase(that.getId());
}
@Override
public int hashCode() {
return new HashCodeBuilder(11, 1117).append(id).toHashCode();
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this,
ToStringStyle.DEFAULT_STYLE);
}
@Override
public int compareTo(TaskMetaData compare) {
if (compare == null) {
return 0;
}
String thatId = compare.getId();
if (id != null && thatId != null) {
return id.compareTo(thatId);
} else {
return 0;
}
}
}
08-09-2011 06:37 PM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.