Skip to content
This repository has been archived by the owner on May 26, 2020. It is now read-only.

Commit

Permalink
Fix: TaskVariableEntity model is introduced, corresponding changes an…
Browse files Browse the repository at this point in the history
…d tests are corrected or added. (#120)

* Fix: TaskVariableEntity model is introduced, corresponding changes and tests are corrected or added.

* fix: failing tests are corrected

* fix: Integration test corrected

* feat: handler added for TaskAdmincontroller so that it looks similar to TaskController

* feat: a test added for processInstance / task variables having same name...

* fix: refactor process and task variable entities model

* fix: not needed entry point for variables removed, refactoring for process/task variables

* fix: refactoring for ProcessInstanceVariableResourceAssembler

* fix: first set of changes implemented

* fix: VariableUpdater changed to ProcessVariableUpdater

* fix: last set of requested changes implemented (#120)

* Resolve conflict clean up

* Fix index name conflicts

* Fix codacy warnings
  • Loading branch information
CTI777 authored and mergify[bot] committed Dec 6, 2018
1 parent 2a3e424 commit 87c8a36
Show file tree
Hide file tree
Showing 44 changed files with 989 additions and 641 deletions.
Expand Up @@ -21,30 +21,20 @@
import javax.persistence.Column;
import javax.persistence.ConstraintMode;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.MappedSuperclass;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.activiti.cloud.api.model.shared.CloudVariableInstance;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonIgnore;

@Entity(name="Variable")
@Table( name = "VARIABLE",
indexes = {
@Index(name = "variable_processInstanceId_idx", columnList = "processInstanceId", unique = false),
@Index(name = "variable_taskId_idx", columnList = "taskId", unique = false),
@Index(name = "variable_name_idx", columnList = "name", unique = false),
@Index(name = "variable_executionId_idx", columnList = "executionId", unique = false)
})
public class VariableEntity extends ActivitiEntityMetadata implements CloudVariableInstance {
@MappedSuperclass
public abstract class AbstractVariableEntity extends ActivitiEntityMetadata implements CloudVariableInstance {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand All @@ -54,10 +44,6 @@ public class VariableEntity extends ActivitiEntityMetadata implements CloudVaria

private String name;

private String processInstanceId;

private String taskId;

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date createTime;

Expand All @@ -71,23 +57,20 @@ public class VariableEntity extends ActivitiEntityMetadata implements CloudVaria
private VariableValue<?> value;

private Boolean markedAsDeleted = false;

@JsonIgnore
@ManyToOne(optional = true, fetch=FetchType.LAZY)
@JoinColumn(name = "taskId", referencedColumnName = "id", insertable = false, updatable = false, nullable = true
, foreignKey = @javax.persistence.ForeignKey(value = ConstraintMode.NO_CONSTRAINT, name = "none"))
private TaskEntity task;

private String processInstanceId;

@JsonIgnore
@ManyToOne(optional = true, fetch=FetchType.LAZY)
@JoinColumn(name = "processInstanceId", referencedColumnName = "id", insertable = false, updatable = false
, foreignKey = @javax.persistence.ForeignKey(value = ConstraintMode.NO_CONSTRAINT, name = "none"))
private ProcessInstanceEntity processInstance;


public VariableEntity() {
public AbstractVariableEntity() {
}

public VariableEntity(Long id,
public AbstractVariableEntity(Long id,
String type,
String name,
String processInstanceId,
Expand All @@ -96,7 +79,6 @@ public VariableEntity(Long id,
String serviceVersion,
String appName,
String appVersion,
String taskId,
Date createTime,
Date lastUpdatedTime,
String executionId) {
Expand All @@ -109,7 +91,6 @@ public VariableEntity(Long id,
this.type = type;
this.name = name;
this.processInstanceId = processInstanceId;
this.taskId = taskId;
this.createTime = createTime;
this.lastUpdatedTime = lastUpdatedTime;
this.executionId = executionId;
Expand Down Expand Up @@ -137,24 +118,6 @@ public void setName(String name) {
this.name = name;
}

@Override
public String getProcessInstanceId() {
return processInstanceId;
}

public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}

@Override
public String getTaskId() {
return taskId;
}

public void setTaskId(String taskId) {
this.taskId = taskId;
}

public Date getCreateTime() {
return createTime;
}
Expand Down Expand Up @@ -188,32 +151,33 @@ public <T> T getValue() {
return (T) value.getValue();
}

public ProcessInstanceEntity getProcessInstance() {
return this.processInstance;
public Boolean getMarkedAsDeleted() {
return markedAsDeleted;
}

public void setProcessInstance(ProcessInstanceEntity processInstanceEntity) {
this.processInstance = processInstanceEntity;
public void setMarkedAsDeleted(Boolean markedAsDeleted) {
this.markedAsDeleted = markedAsDeleted;
}

public TaskEntity getTask() {
return this.task;

@Override
public String getProcessInstanceId() {
return processInstanceId;
}

public void setTask(TaskEntity taskEntity) {
this.task = taskEntity;

public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}

public Boolean getMarkedAsDeleted() {
return markedAsDeleted;

public ProcessInstanceEntity getProcessInstance() {
return processInstance;
}

public void setMarkedAsDeleted(Boolean markedAsDeleted) {
this.markedAsDeleted = markedAsDeleted;

public void setProcessInstance(ProcessInstanceEntity processInstance) {
this.processInstance = processInstance;
}

@Override
public boolean isTaskVariable() {
return taskId != null;
}
}
}
Expand Up @@ -79,7 +79,7 @@ public class ProcessInstanceEntity extends ActivitiEntityMetadata implements Clo
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name = "processInstanceId", referencedColumnName = "id", insertable = false, updatable = false
, foreignKey = @javax.persistence.ForeignKey(value = ConstraintMode.NO_CONSTRAINT, name = "none"))
private Set<VariableEntity> variables;
private Set<ProcessVariableEntity> variables;

private String parentId;

Expand Down Expand Up @@ -158,11 +158,11 @@ public void setTasks(Set<TaskEntity> tasks) {
this.tasks = tasks;
}

public Set<VariableEntity> getVariables() {
public Set<ProcessVariableEntity> getVariables() {
return variables;
}

public void setVariables(Set<VariableEntity> variable) {
public void setVariables(Set<ProcessVariableEntity> variable) {
this.variables = variable;
}

Expand Down
@@ -0,0 +1,73 @@
/*
* Copyright 2018 Alfresco, Inc. and/or its affiliates.
*
* 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 org.activiti.cloud.services.query.model;

import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Index;
import javax.persistence.Table;

@Entity(name="ProcessVariable")
@Table(name = "PROCESS_VARIABLE",
indexes = {
@Index(name = "proc_var_processInstanceId_idx", columnList = "processInstanceId", unique = false),
@Index(name = "proc_var_name_idx", columnList = "name", unique = false),
@Index(name = "proc_var_executionId_idx", columnList = "executionId", unique = false)
})
public class ProcessVariableEntity extends AbstractVariableEntity {

public ProcessVariableEntity() {
}

public ProcessVariableEntity(Long id,
String type,
String name,
String processInstanceId,
String serviceName,
String serviceFullName,
String serviceVersion,
String appName,
String appVersion,
Date createTime,
Date lastUpdatedTime,
String executionId) {
super(id,
type,
name,
processInstanceId,
serviceName,
serviceFullName,
serviceVersion,
appName,
appVersion,
createTime,
lastUpdatedTime,
executionId);

}

@Override
public String getTaskId() {
return null;
}

@Override
public boolean isTaskVariable() {
return false;
}

}
Expand Up @@ -37,8 +37,6 @@
import org.activiti.cloud.api.task.model.CloudTask;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonIgnore;

@Entity(name="Task")
@Table(name = "TASK",
indexes= {
Expand Down Expand Up @@ -104,7 +102,8 @@ public class TaskEntity extends ActivitiEntityMetadata implements CloudTask {
@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name = "taskId", referencedColumnName = "id", insertable = false, updatable = false
, foreignKey = @javax.persistence.ForeignKey(value = ConstraintMode.NO_CONSTRAINT, name = "none"))
private Set<VariableEntity> variables;

private Set<TaskVariableEntity> variables;

public TaskEntity() {
}
Expand Down Expand Up @@ -316,14 +315,14 @@ public void setProcessInstance(ProcessInstanceEntity processInstance) {
/**
* @return the variableEntities
*/
public Set<VariableEntity> getVariables() {
public Set<TaskVariableEntity> getVariables() {
return this.variables;
}

/**
* @param variables the variableEntities to set
*/
public void setVariables(Set<VariableEntity> variables) {
public void setVariables(Set<TaskVariableEntity> variables) {
this.variables = variables;
}

Expand Down

0 comments on commit 87c8a36

Please sign in to comment.