filter query
This commit is contained in:
@@ -22,7 +22,7 @@ ENTITY_PKG=de.infinimotion.model.bean
|
|||||||
ProjectVariable.MAVEN_ARTIFACT_ID=model
|
ProjectVariable.MAVEN_ARTIFACT_ID=model
|
||||||
ProjectVariable.MAVEN_GROUP_ID=de.infinimotion
|
ProjectVariable.MAVEN_GROUP_ID=de.infinimotion
|
||||||
ProjectVariable.PROJECT_NAME=infinimodel
|
ProjectVariable.PROJECT_NAME=infinimodel
|
||||||
ProjectVariable.PROJECT_VERSION=0.0.76
|
ProjectVariable.PROJECT_VERSION=0.0.83
|
||||||
ProjectVariable.REST_SERVER_PORT=3000
|
ProjectVariable.REST_SERVER_PORT=3000
|
||||||
ProjectVariable.REST_API_ROOT=/api/v1
|
ProjectVariable.REST_API_ROOT=/api/v1
|
||||||
ProjectVariable.REST_URL_ROOT=http://localhost:3000
|
ProjectVariable.REST_URL_ROOT=http://localhost:3000
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import $import;
|
|||||||
* @author Telosys Tools Generator
|
* @author Telosys Tools Generator
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@lombok.EqualsAndHashCode
|
||||||
@JsonFormat(with = JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES)
|
@JsonFormat(with = JsonFormat.Feature.ACCEPT_CASE_INSENSITIVE_PROPERTIES)
|
||||||
public class ${entity.name} implements Serializable {
|
public class ${entity.name} implements Serializable {
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,11 @@
|
|||||||
<artifactId>jakarta.ws.rs-api</artifactId>
|
<artifactId>jakarta.ws.rs-api</artifactId>
|
||||||
<version>3.1.0</version>
|
<version>3.1.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.32</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -49,6 +49,14 @@ public class ${entity.name}Resource {
|
|||||||
return CommandList${entity.name}Response.deserialize(response).getList();
|
return CommandList${entity.name}Response.deserialize(response).getList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/filter")
|
||||||
|
public List<${entity.name}> filter${entity.name}(List<String> filters) throws Exception {
|
||||||
|
CommandList${entity.name} request = new CommandList${entity.name}(filters);
|
||||||
|
CommandWrapper response = requester.request(request.serialize().generateIds().commit());
|
||||||
|
return CommandList${entity.name}Response.deserialize(response).getList();
|
||||||
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
public ${entity.name} create${entity.name}(${entity.name} entity) throws Exception {
|
public ${entity.name} create${entity.name}(${entity.name} entity) throws Exception {
|
||||||
CommandCreate${entity.name} request = new CommandCreate${entity.name}(entity);
|
CommandCreate${entity.name} request = new CommandCreate${entity.name}(entity);
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
package ${target.javaPackageFromFolder("${component}/${SRC}")};
|
package ${target.javaPackageFromFolder("${component}/${SRC}")};
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generated command class for entity "${entity.name}"
|
* Generated command class for entity "${entity.name}"
|
||||||
@@ -18,6 +19,7 @@ import java.io.Serializable;
|
|||||||
* @author Telosys Tools Generator
|
* @author Telosys Tools Generator
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@lombok.EqualsAndHashCode(callSuper=true)
|
||||||
public class Command${commandType}${entity.name} extends Command implements Serializable {
|
public class Command${commandType}${entity.name} extends Command implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -28,6 +30,9 @@ public class Command${commandType}${entity.name} extends Command implements Seri
|
|||||||
#if ( ${commandType} == "Create" || ${commandType} == "Update" || ${commandType} == "Delete" )
|
#if ( ${commandType} == "Create" || ${commandType} == "Update" || ${commandType} == "Delete" )
|
||||||
private ${entity.name} entity;
|
private ${entity.name} entity;
|
||||||
#end
|
#end
|
||||||
|
#if ( ${commandType} == "List" )
|
||||||
|
private List<String> filters;
|
||||||
|
#end
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// CONSTRUCTOR(S)
|
// CONSTRUCTOR(S)
|
||||||
@@ -64,6 +69,20 @@ public class Command${commandType}${entity.name} extends Command implements Seri
|
|||||||
return this.entity;
|
return this.entity;
|
||||||
}
|
}
|
||||||
#end
|
#end
|
||||||
|
#if ( ${commandType} == "List" )
|
||||||
|
public Command${commandType}${entity.name}(List<String> filters) {
|
||||||
|
this();
|
||||||
|
this.filters = filters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFilters(List<String> filters) {
|
||||||
|
this.filters = filters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getFilters() {
|
||||||
|
return this.filters;
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
|
||||||
public CommandWrapper serialize() throws java.io.IOException {
|
public CommandWrapper serialize() throws java.io.IOException {
|
||||||
CommandWrapper wrapper = new CommandWrapper();
|
CommandWrapper wrapper = new CommandWrapper();
|
||||||
@@ -99,6 +118,9 @@ public class Command${commandType}${entity.name} extends Command implements Seri
|
|||||||
#end
|
#end
|
||||||
#if ( ${commandType} == "Create" || ${commandType} == "Update" || ${commandType} == "Delete" )
|
#if ( ${commandType} == "Create" || ${commandType} == "Update" || ${commandType} == "Delete" )
|
||||||
sb.append("entity=").append(this.entity);
|
sb.append("entity=").append(this.entity);
|
||||||
|
#end
|
||||||
|
#if ( ${commandType} == "List" )
|
||||||
|
sb.append("filters=").append(this.filters);
|
||||||
#end
|
#end
|
||||||
sb.append("]");
|
sb.append("]");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import $import;
|
|||||||
* @author Telosys Tools Generator
|
* @author Telosys Tools Generator
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@lombok.EqualsAndHashCode#if( $entity.hasSuperClass() )(callSuper=true)#else #end
|
||||||
public#if( $entity.isAbstract() ) abstract#end class ${entity.name}#if( $entity.hasSuperClass() ) extends $entity.superClass#end implements Serializable {
|
public#if( $entity.isAbstract() ) abstract#end class ${entity.name}#if( $entity.hasSuperClass() ) extends $entity.superClass#end implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import java.io.Serializable;
|
|||||||
* @author Telosys Tools Generator
|
* @author Telosys Tools Generator
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@lombok.EqualsAndHashCode(callSuper=true)
|
||||||
public class Command${commandType}${entity.name}Response extends Command implements Serializable {
|
public class Command${commandType}${entity.name}Response extends Command implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Java generic filter query interface
|
||||||
|
* Created on $now.date ( $now.time )
|
||||||
|
* Generated by $generator.name ( version $generator.version )
|
||||||
|
*/
|
||||||
|
package ${target.javaPackageFromFolder("persistence/${SRC}")};
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generic filter query interface
|
||||||
|
*
|
||||||
|
* @author Telosys Tools Generator
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public interface GenericFilterQuery {
|
||||||
|
|
||||||
|
// Filter: eq;hall.id;int;1
|
||||||
|
<E> List<E> query(Class<E> clazz, List<String> filters);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -28,6 +28,7 @@ import $import;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
## @Embeddable
|
## @Embeddable
|
||||||
|
@lombok.EqualsAndHashCode
|
||||||
public class $jpaEntityIdClass implements Serializable {
|
public class $jpaEntityIdClass implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ $jpa.entityAnnotations(0, $entity)
|
|||||||
#if ( $entity.hasCompositePrimaryKey() )
|
#if ( $entity.hasCompositePrimaryKey() )
|
||||||
@IdClass(${jpaEntityIdClass}.class)
|
@IdClass(${jpaEntityIdClass}.class)
|
||||||
#end
|
#end
|
||||||
|
@lombok.EqualsAndHashCode
|
||||||
public class ${entity.name} implements Serializable {
|
public class ${entity.name} implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -47,6 +47,11 @@
|
|||||||
<artifactId>arc</artifactId>
|
<artifactId>arc</artifactId>
|
||||||
<version>3.28.4</version>
|
<version>3.28.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.32</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -30,9 +30,12 @@ public class ${entity.name}Processor implements CommandGet${entity.name}Processo
|
|||||||
@Inject
|
@Inject
|
||||||
EntityManager em;
|
EntityManager em;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
GenericFilterQuery filterQuery;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Command processCommandList${entity.name}(CommandList${entity.name} request) {
|
public Command processCommandList${entity.name}(CommandList${entity.name} request) {
|
||||||
List<${entity.name}> entities = em.createQuery("SELECT e FROM ${entity.name} e", ${entity.name}.class).getResultList();
|
List<${entity.name}> entities = filterQuery.query(${entity.name}.class, request.getFilters());
|
||||||
return new CommandList${entity.name}Response(entities);
|
return new CommandList${entity.name}Response(entities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Java Persistence Models ; ${BEANNAME}.java ; persis
|
|||||||
Java Command Models (P) ; ${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command_entity_java.vm
|
Java Command Models (P) ; ${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command_entity_java.vm
|
||||||
Java Command Processors (P) ; ${BEANNAME}Processor.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command_processor_java.vm
|
Java Command Processors (P) ; ${BEANNAME}Processor.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command_processor_java.vm
|
||||||
Java Model Processors ; ${BEANNAME}Processor.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/processor_entity_java.vm
|
Java Model Processors ; ${BEANNAME}Processor.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/processor_entity_java.vm
|
||||||
|
Java Filter Query Interface ; GenericFilterQuery.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/generic_filter_query_java.vm ; 1
|
||||||
|
|
||||||
Java Command GetModels (P) ; CommandGet${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/get_java.vm
|
Java Command GetModels (P) ; CommandGet${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/get_java.vm
|
||||||
Java Command ListModels (P) ; CommandList${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/list_java.vm
|
Java Command ListModels (P) ; CommandList${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/list_java.vm
|
||||||
@@ -72,4 +73,4 @@ Java CP CreateModels (P) ; CommandCreate${BEANNAME}Processor.java; persis
|
|||||||
Java CP UpdateModels (P) ; CommandUpdate${BEANNAME}Processor.java; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/processor_update_java.vm
|
Java CP UpdateModels (P) ; CommandUpdate${BEANNAME}Processor.java; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/processor_update_java.vm
|
||||||
Java CP DeleteModels (P) ; CommandDelete${BEANNAME}Processor.java; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/processor_delete_java.vm
|
Java CP DeleteModels (P) ; CommandDelete${BEANNAME}Processor.java; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/command/processor_delete_java.vm
|
||||||
|
|
||||||
Maven Persistence pom.xml ; pom.xml ; persistence ; persistence/pom_xml.vm ; 1
|
Maven Persistence pom.xml ; pom.xml ; persistence ; persistence/pom_xml.vm ; 1
|
||||||
|
|||||||
Reference in New Issue
Block a user