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

Antonio Goncalves (JIRA) issues at jboss.org
Wed Feb 18 05:41:48 EST 2015


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

Antonio Goncalves updated FORGE-2246:
-------------------------------------
    Description: 
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 : 

{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}


  was:
The idea is to refactor the JPA commands (under {{org.jboss.forge.addon.javaee.jpa.ui}}) :

* 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 : 

{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}




> 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 : 
> {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