[JBoss JIRA] (FORGE-2080) Being able to enable CDI interceptors and decorators
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2080?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-2080.
----------------------------------
Fix Version/s: 3.0.0.Beta2
(was: 3.x Future)
Assignee: George Gastaldi
Resolution: Done
> Being able to enable CDI interceptors and decorators
> ----------------------------------------------------
>
> Key: FORGE-2080
> URL: https://issues.jboss.org/browse/FORGE-2080
> Project: Forge
> Issue Type: Sub-task
> Components: Java EE
> Affects Versions: 2.12.1.Final
> Reporter: Antonio Goncalves
> Assignee: George Gastaldi
> Labels: starter
> Fix For: 3.0.0.Beta2
>
>
> [FORGE-2060] and [FORGE-2078] create CDI interceptors and decorators. It would be interesting to add a parameter to enable them in the {{beans.xml}}. Both could have an extra {{enabled}} with just a parameter :
> {code}
> cdi-new-decorator --named LargeTransactionDecorator --implements Account --enabled=true
> {code}
> Would add the following lines to the {{beans.xml}} :
> {code}
> <decorators>
> <class>com.foo.bar.LargeTransactionDecorator</class>
> </decorators>
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (FORGE-2224) Rename attribute methodName in command java-new-method
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2224?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-2224.
----------------------------------
Fix Version/s: 3.0.0.Beta2
(was: 3.x Future)
Assignee: George Gastaldi
Resolution: Done
> Rename attribute methodName in command java-new-method
> ------------------------------------------------------
>
> Key: FORGE-2224
> URL: https://issues.jboss.org/browse/FORGE-2224
> Project: Forge
> Issue Type: Sub-task
> Components: Java EE
> Affects Versions: 2.14.0.Final
> Reporter: Antonio Goncalves
> Assignee: George Gastaldi
> Fix For: 3.0.0.Beta2
>
>
> The {{java-new-method}} has the following attributes :
> {code}
> $ java-new-method
> --targetClass --returnType --parameters --accessType --methodName
> {code}
> The attribute {{methodName}} should be renamed to {{named}} to follow the Forge naming convention.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (FORGE-2129) Parameters syntax should be more unix-like
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2129?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-2129.
----------------------------------
Fix Version/s: 3.0.0.Beta2
(was: 3.x Future)
Assignee: George Gastaldi
Resolution: Done
> Parameters syntax should be more unix-like
> ------------------------------------------
>
> Key: FORGE-2129
> URL: https://issues.jboss.org/browse/FORGE-2129
> Project: Forge
> Issue Type: Sub-task
> Components: UI - Shell
> Affects Versions: 2.12.1.Final
> Reporter: Antonio Goncalves
> Assignee: George Gastaldi
> Fix For: 3.0.0.Beta2
>
>
> Today some command parameters use Camel case :
> {code}
> jpa-new-entity --named myfield --columnName my_field
> {code}
> The idea is to replace the Camel case {{columnName}} with {{column-name}}
> {code}
> jpa-new-entity --named myfield --column-name my_field
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (FORGE-2316) Brainstorming on introducing "Stacks"
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2316?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-2316.
----------------------------------
Fix Version/s: 3.0.0.Beta2
(was: 3.x Future)
Assignee: George Gastaldi
Resolution: Done
Merged in master. Thanks!
> Brainstorming on introducing "Stacks"
> -------------------------------------
>
> Key: FORGE-2316
> URL: https://issues.jboss.org/browse/FORGE-2316
> Project: Forge
> Issue Type: Sub-task
> Reporter: Antonio Goncalves
> Assignee: George Gastaldi
> Fix For: 3.0.0.Beta2
>
>
> At the moment Forge generates code without having a real notion of a technical stack. For example, creating a JPA Entity for a Java EE 6 application could be different from a Java EE 7 application :
> * The {{persistence.xml}} version if different (2.0 / 2.1)
> * The {{properties}} are different (e.g. schema generation in 2.1)
> * The syntax is different ({{List<MyEntity> m = new ArrayList<MyEntity>}} while it could use diamond syntax for a Java EE 7 stack)
> The stack could be choosen when the project is created :
> * {{project-new --named myproj}} : let's the developper use Forge without any special stack
> * {{project-new --named myproj --stack JavaEE7}} : the generated code will follow Java EE 7
> h3. Possible stacks
> A stack would bundle certain facets. Therefore we could have as many stacks as needed. As an example, we could have the following stacks :
> * Java EE 6 : JPA 2.0, CDI 1.0, JSF 2.0, Bean Validation 1.0, JTA 1.1
> * Java EE 7 : JPA 2.1, CDI 1.1, JSF 2.2, Bean Validation 1.1, JTA 1.2, Batch 1.0
> * Micro Java EE 7 Service: JPA 2.1, CDI 1.1, JSF 2.2, Bean Validation 1.1, JTA 1.2, Batch 1.0 (but with special Microservice configuration)
> * Java EE 8 : JPA 2.1, CDI 2.0, JSF 2.3, Bean Validation 1.2, JTA 1.2, Batch 1.0, JCache 1.1, MVC 1.0
> * Spring 3.x
> * Spring 4.x
> * ....
> h3. Differences in having stacks
> h4. Filtering commands
> When you pick up a Stack, it gives you access or not to certain commands. For example, if you create a project with a Java EE 6 stack, you won't have access to any Batch, MVC... commands
> {code:title=Java EE 6 stack}
> $ project-new --named myproj --stack JavaEE6
> $ jpa-new-entity --named MyEntity
> {code}
> {code:title=Java EE 7 stack}
> $ project-new --named myproj --stack JavaEE7
> $ jpa-new-entity --named MyEntity
> $ mvc-new-controller --named MyController // only available on EE7
> {code}
> h4. Setting up command versions
> When you pick up a Stack, it filters the commands that have the right version for the right stack. For example, if you create a Java EE 6 stack, you will get JPA 2.0 commands, for a Java EE 7 stack, the JPA 2.1 commands. Also, the {{version}} parameters will be disabled
> {code:title=No stack}
> $ project-new --named myproj
> $ jpa-new-entity --named MyEntity --jpaVersion 2.1
> $ cdi-new-bean --named MyBean --cdiVersion 1.1
> {code}
> {code:title=Java EE 6 stack}
> $ project-new --named myproj --stack JavaEE6
> $ jpa-new-entity --named MyEntity // no --jpaVersion because it is automatically set to 2.0
> {code}
> {code:title=Java EE 7 stack}
> $ project-new --named myproj --stack JavaEE7
> $ jpa-new-entity --named MyEntity // no --jpaVersion because it is automatically set to 2.1
> $ jpa-new-converter --named MyConvert // JPA Converters are only available in 2.1
> {code}
> h4. API to define a Stack
> A stack could be defined with a fluent API such as :
> {code}
> stack("JavaEE7").includes(JavaEE7Facet).includes(JPA2.1Facet).excludes(SpringFacet)
> stack("JavaEE7").includes(JavaEE7Facet).includes(JPA2.1Facet).allowsFeature(WildflySwarm)
> stack("MyOwnStacks").includes(JavaEE7Stack).includes(MyFacet).includes(YourFacet)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (FURNACE-98) Introduce a Container lookup API
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FURNACE-98?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FURNACE-98.
----------------------------------
Fix Version/s: 2.23.0.Final
(was: 2.x Future)
Assignee: George Gastaldi
Resolution: Done
> Introduce a Container lookup API
> --------------------------------
>
> Key: FURNACE-98
> URL: https://issues.jboss.org/browse/FURNACE-98
> Project: Forge: Furnace
> Issue Type: Feature Request
> Components: Container - CDI, Container - Simple, Runtime
> Affects Versions: 2.22.8.Final
> Reporter: George Gastaldi
> Assignee: George Gastaldi
> Fix For: 2.23.0.Final
>
>
> It would be nice if Furnace provided a standard way to lookup services, without relying on specific classes for each container.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (FORGE-2578) Shell allows execution of disabled commands
by George Gastaldi (JIRA)
George Gastaldi created FORGE-2578:
--------------------------------------
Summary: Shell allows execution of disabled commands
Key: FORGE-2578
URL: https://issues.jboss.org/browse/FORGE-2578
Project: Forge
Issue Type: Bug
Components: UI - Shell
Affects Versions: 3.0.0.Beta1
Reporter: George Gastaldi
Assignee: George Gastaldi
Fix For: 3.0.0.Beta2
{code}
[bin]$ cd /tmp
[tmp]$ jpa-new-entity
Exception when parsing/running: jpa-new-entity, A project is required in the current context
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (FORGE-2316) Brainstorming on introducing "Stacks"
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2316?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-2316:
----------------------------------------
I added some changes to {{PersistenceContainer}} : https://github.com/forge/core/commit/793493aa7ab992c3e3c9641f017a5e3974a2...
> Brainstorming on introducing "Stacks"
> -------------------------------------
>
> Key: FORGE-2316
> URL: https://issues.jboss.org/browse/FORGE-2316
> Project: Forge
> Issue Type: Sub-task
> Reporter: Antonio Goncalves
> Fix For: 3.x Future
>
>
> At the moment Forge generates code without having a real notion of a technical stack. For example, creating a JPA Entity for a Java EE 6 application could be different from a Java EE 7 application :
> * The {{persistence.xml}} version if different (2.0 / 2.1)
> * The {{properties}} are different (e.g. schema generation in 2.1)
> * The syntax is different ({{List<MyEntity> m = new ArrayList<MyEntity>}} while it could use diamond syntax for a Java EE 7 stack)
> The stack could be choosen when the project is created :
> * {{project-new --named myproj}} : let's the developper use Forge without any special stack
> * {{project-new --named myproj --stack JavaEE7}} : the generated code will follow Java EE 7
> h3. Possible stacks
> A stack would bundle certain facets. Therefore we could have as many stacks as needed. As an example, we could have the following stacks :
> * Java EE 6 : JPA 2.0, CDI 1.0, JSF 2.0, Bean Validation 1.0, JTA 1.1
> * Java EE 7 : JPA 2.1, CDI 1.1, JSF 2.2, Bean Validation 1.1, JTA 1.2, Batch 1.0
> * Micro Java EE 7 Service: JPA 2.1, CDI 1.1, JSF 2.2, Bean Validation 1.1, JTA 1.2, Batch 1.0 (but with special Microservice configuration)
> * Java EE 8 : JPA 2.1, CDI 2.0, JSF 2.3, Bean Validation 1.2, JTA 1.2, Batch 1.0, JCache 1.1, MVC 1.0
> * Spring 3.x
> * Spring 4.x
> * ....
> h3. Differences in having stacks
> h4. Filtering commands
> When you pick up a Stack, it gives you access or not to certain commands. For example, if you create a project with a Java EE 6 stack, you won't have access to any Batch, MVC... commands
> {code:title=Java EE 6 stack}
> $ project-new --named myproj --stack JavaEE6
> $ jpa-new-entity --named MyEntity
> {code}
> {code:title=Java EE 7 stack}
> $ project-new --named myproj --stack JavaEE7
> $ jpa-new-entity --named MyEntity
> $ mvc-new-controller --named MyController // only available on EE7
> {code}
> h4. Setting up command versions
> When you pick up a Stack, it filters the commands that have the right version for the right stack. For example, if you create a Java EE 6 stack, you will get JPA 2.0 commands, for a Java EE 7 stack, the JPA 2.1 commands. Also, the {{version}} parameters will be disabled
> {code:title=No stack}
> $ project-new --named myproj
> $ jpa-new-entity --named MyEntity --jpaVersion 2.1
> $ cdi-new-bean --named MyBean --cdiVersion 1.1
> {code}
> {code:title=Java EE 6 stack}
> $ project-new --named myproj --stack JavaEE6
> $ jpa-new-entity --named MyEntity // no --jpaVersion because it is automatically set to 2.0
> {code}
> {code:title=Java EE 7 stack}
> $ project-new --named myproj --stack JavaEE7
> $ jpa-new-entity --named MyEntity // no --jpaVersion because it is automatically set to 2.1
> $ jpa-new-converter --named MyConvert // JPA Converters are only available in 2.1
> {code}
> h4. API to define a Stack
> A stack could be defined with a fluent API such as :
> {code}
> stack("JavaEE7").includes(JavaEE7Facet).includes(JPA2.1Facet).excludes(SpringFacet)
> stack("JavaEE7").includes(JavaEE7Facet).includes(JPA2.1Facet).allowsFeature(WildflySwarm)
> stack("MyOwnStacks").includes(JavaEE7Stack).includes(MyFacet).includes(YourFacet)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months