processor injection
This commit is contained in:
@@ -110,6 +110,8 @@ public#if( $entity.isAbstract() ) abstract#end class ${entity.name}#if( $entity.
|
||||
.configure(com.fasterxml.jackson.databind.SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
|
||||
|
||||
public abstract CommandWrapper serialize() throws java.io.IOException;
|
||||
|
||||
public abstract Command process() throws Exception;
|
||||
#else
|
||||
#if ( $entity.name != "CommandWrapper" )
|
||||
public CommandWrapper serialize() throws java.io.IOException {
|
||||
@@ -126,6 +128,11 @@ public#if( $entity.isAbstract() ) abstract#end class ${entity.name}#if( $entity.
|
||||
public static boolean isType(CommandWrapper wrapper) {
|
||||
return wrapper.getType().equals(${entity.name}.class.getSimpleName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Command process() throws Exception {
|
||||
return jakarta.enterprise.inject.spi.CDI.current().select(${entity.name}Processor.class).get().process${entity.name}(this);
|
||||
}
|
||||
#else
|
||||
public $entity.name copyIds(CommandWrapper wrapper) {
|
||||
setTransaction(wrapper.getTransaction());
|
||||
@@ -143,6 +150,11 @@ public#if( $entity.isAbstract() ) abstract#end class ${entity.name}#if( $entity.
|
||||
this();
|
||||
copyIds(wrapper);
|
||||
}
|
||||
|
||||
public Command process() throws Exception {
|
||||
Command command = (Command) Class.forName(getClass().getPackageName() + "." + this.getType()).getMethod("deserialize", getClass()).invoke(null, this);
|
||||
return command.process();
|
||||
}
|
||||
#end
|
||||
#end
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
## --------------------------------------------------
|
||||
#if ( !($entity.hasTag("Command")) || $entity.isAbstract() )
|
||||
#cancel("Not a concrete Command")
|
||||
#end
|
||||
## --------------------------------------------------
|
||||
/*
|
||||
* Java command processor interface for entity "${entity.name}"
|
||||
* Created on $now.date ( $now.time )
|
||||
* Generated by $generator.name ( version $generator.version )
|
||||
*/
|
||||
package ${target.javaPackageFromFolder("persistence/${SRC}")};
|
||||
|
||||
/**
|
||||
* Command processor interface for entity "${entity.name}"
|
||||
*
|
||||
* @author Telosys Tools Generator
|
||||
*
|
||||
*/
|
||||
public interface ${entity.name}Processor {
|
||||
|
||||
Command process${entity.name}($entity.name request) throws Exception;
|
||||
|
||||
}
|
||||
@@ -32,6 +32,16 @@
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.20</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.inject</groupId>
|
||||
<artifactId>jakarta.inject-api</artifactId>
|
||||
<version>2.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.enterprise</groupId>
|
||||
<artifactId>jakarta.enterprise.cdi-api</artifactId>
|
||||
<version>4.1.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -30,4 +30,5 @@ Maven Backend pom.xml ; pom.xml ; backend
|
||||
### Persistence ###
|
||||
Java Persistence Models ; ${BEANNAME}.java ; persistence/${SRC}/${ROOT_PKG}/persistence ; persistence/persistence_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
|
||||
Maven Persistence pom.xml ; pom.xml ; persistence ; persistence/pom_xml.vm ; 1
|
||||
|
||||
Reference in New Issue
Block a user