[forge-issues] [JBoss JIRA] (FORGE-2246) Refactoring the JPA Commands

George Gastaldi (JIRA) issues at jboss.org
Wed Feb 18 10:56:50 EST 2015


     [ https://issues.jboss.org/browse/FORGE-2246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Gastaldi updated FORGE-2246:
-----------------------------------

Not sure this is a good idea since not all JavaEE commands will create java elements.





> Refactoring the JPA Commands
> ----------------------------
>
>                 Key: FORGE-2246
>                 URL: https://issues.jboss.org/browse/FORGE-2246
>             Project: Forge
>          Issue Type: Sub-task
>          Components: UI - API
>            Reporter: Antonio Goncalves
>            Priority: Minor
>             Fix For: 2.x Future, 3.x Future
>
>
> The idea is to refactor the JPA commands (under {{org.jboss.forge.addon.javaee.jpa.ui}}) :
> * Add an interface with all the default sub-packages in {{javaee-api}}
> ** Interface {{org.jboss.forge.addon.javaee.JavaEEPackages}}
> ** Something like {{BUSINESS_MODEL}} would be {{model}}
> ** {{BUSINESS_LOGIC}} would be {{service}}
> ** {{EXCEPTIONS}} would be {{exception}}
> * Create a new {{org.jboss.forge.addon.javaee.jpa.ui.AbstractJPACommand}} that extends {{AbstractJavaEECommand}} and implements {{PrerequisiteCommandsProvider}}
> ** {{getMetadata}} By adding JPA (and this way each command will be "Java EE / JPA / New Embeddable"
> ** {{isProjectRequired}}
> ** {{getPrerequisiteCommands}}
> ** Add a method {{calculateDefaultPackage}}
> * Refactor the classes
> ** They extend from {{AbstractJPACommand}}
> ** Rename them by prefixing them with {{JPA}}
> *** {{NewEmbeddableCommand}} -> {{JPANewEmbeddableCommand}}
> *** {{NewEntityCommand}} -> {{JPANewEntityCommand}}
> *** ...
> Questions : some classes redifine {{named}} and {{targetPackage}} some don't, why ? : 
> {code}
>    @Inject
>    @WithAttributes(label = "Entity name", description = "The simple name of the generated class", required = true)
>    private UIInput<String> named;
>    @Inject
>    @WithAttributes(label = "Target package", type = InputType.JAVA_PACKAGE_PICKER)
>    private UIInput<String> targetPackage;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the forge-issues mailing list