expose rest API for Guided Rule template over admin console application

This commit is contained in:
nheron 2020-11-18 15:34:15 +01:00
commit 46ae8eb6dd
22 changed files with 1216 additions and 245 deletions

View file

@ -40,6 +40,17 @@
<artifactId>drools-framework-runtime-entity</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-admin-dto</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.pymmasoftware.jbpm</groupId>
<artifactId>drools-framework-admin-dto</artifactId>
<version>1.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>

View file

@ -0,0 +1,61 @@
package org.chtijbug.drools.proxy.persistence.model;
import org.chtijbug.drools.console.dto.VariableData;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.ArrayList;
import java.util.List;
@Document
public class GuidedRulesTemplateData {
@Id
@Indexed
private String ID;
@DBRef
@Indexed(unique = false)
GuidedRulesTemplateDefinition guidedRulesTemplateDefinition;
@Indexed(unique = false)
private String lineID;
private List<VariableData> rows = new ArrayList<>();
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public GuidedRulesTemplateDefinition getGuidedRulesTemplateDefinition() {
return guidedRulesTemplateDefinition;
}
public void setGuidedRulesTemplateDefinition(GuidedRulesTemplateDefinition guidedRulesTemplateDefinition) {
this.guidedRulesTemplateDefinition = guidedRulesTemplateDefinition;
}
public String getLineID() {
return lineID;
}
public void setLineID(String lineID) {
this.lineID = lineID;
}
public List<VariableData> getRows() {
return rows;
}
public void setRows(List<VariableData> rows) {
this.rows = rows;
}
}

View file

@ -0,0 +1,61 @@
package org.chtijbug.drools.proxy.persistence.model;
import org.chtijbug.drools.console.dto.VariableDefinition;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.ArrayList;
import java.util.List;
@Document
public class GuidedRulesTemplateDefinition {
@Id
@Indexed
private String ID;
@Indexed(unique = false)
private String templateName;
@DBRef
private UserGroups projectGroup;
private List<VariableDefinition> variables = new ArrayList<>();
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getTemplateName() {
return templateName;
}
public void setTemplateName(String templateName) {
this.templateName = templateName;
}
public UserGroups getProjectGroup() {
return projectGroup;
}
public void setProjectGroup(UserGroups projectGroup) {
this.projectGroup = projectGroup;
}
public List<VariableDefinition> getVariables() {
return variables;
}
public void setVariables(List<VariableDefinition> variables) {
this.variables = variables;
}
}

View file

@ -5,6 +5,8 @@ import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Objects;
@Document
public class UserGroups {
@Id
@ -90,4 +92,16 @@ public class UserGroups {
this.workspaceUserGroup = workspaceUserGroup;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UserGroups that = (UserGroups) o;
return Objects.equals(name, that.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
}

View file

@ -4,6 +4,8 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Objects;
@Document
public class UserRoles {
@ -36,4 +38,17 @@ public class UserRoles {
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UserRoles userRoles = (UserRoles) o;
return Objects.equals(name, userRoles.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
}

View file

@ -0,0 +1,19 @@
package org.chtijbug.drools.proxy.persistence.repository;
import org.chtijbug.drools.proxy.persistence.model.GuidedRulesTemplateData;
import org.chtijbug.drools.proxy.persistence.model.GuidedRulesTemplateDefinition;
import org.chtijbug.drools.proxy.persistence.model.KieWorkbench;
import org.chtijbug.drools.proxy.persistence.model.UserGroups;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface GuidedRulestemplateDataRepository extends MongoRepository<GuidedRulesTemplateData, String> {
GuidedRulesTemplateData findByGuidedRulesTemplateDefinitionAndLineID(GuidedRulesTemplateDefinition guidedRulesTemplateDefinition,String lineID);
List<GuidedRulesTemplateData> findByGuidedRulesTemplateDefinition(GuidedRulesTemplateDefinition guidedRulesTemplateDefinition);
}

View file

@ -0,0 +1,18 @@
package org.chtijbug.drools.proxy.persistence.repository;
import org.chtijbug.drools.proxy.persistence.model.GuidedRulesTemplateDefinition;
import org.chtijbug.drools.proxy.persistence.model.KieWorkbench;
import org.chtijbug.drools.proxy.persistence.model.RuntimePersist;
import org.chtijbug.drools.proxy.persistence.model.UserGroups;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface GuidedRulestemplateDefinitionRepository extends MongoRepository<GuidedRulesTemplateDefinition, String> {
List<GuidedRulesTemplateDefinition> findByTemplateName(String assetName);
GuidedRulesTemplateDefinition findByTemplateNameAndProjectGroup(String assetName, UserGroups projectGroup);
}

View file

@ -5,6 +5,8 @@ import org.chtijbug.drools.proxy.persistence.model.UserGroups;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserGroupsRepository extends MongoRepository<UserGroups, String> {
@ -12,4 +14,6 @@ public interface UserGroupsRepository extends MongoRepository<UserGroups, String
UserGroups findByID(String login);
UserGroups findUserGroupsByProjectPersist(ProjectPersist projectPersist);
UserGroups findBySpaceName(String spaceName);
UserGroups findByWorkspaceUserGroupAndProjectName(UserGroups workspaceUserGroups,String projectName);
}