[JBoss JIRA] (FORGE-378) Add "environments" as a first class construct
by Pete Muir (Created) (JIRA)
Add "environments" as a first class construct
---------------------------------------------
Key: FORGE-378
URL: https://issues.jboss.org/browse/FORGE-378
Project: Forge
Issue Type: Feature Request
Reporter: Pete Muir
Assignee: Lincoln Baxter III
For example:
{code}
set environment JBOSS_AS7 --version 7.1.0.Final
{code}
Where JBOSS_AS7 is a built in profile that contains necessary info on various versions of JBoss AS 7.
For example, the persistence plugin could read from this, changing
{code}
persistence setup --provider HIBERNATE --container JBOSS_AS7
{code}
to
{code}
persistence setup
{code}
Or, when setting up CDI, this would remove the need to ask ask which API to use (always use the Java EE BOM with JBoss AS), and as the metadata builds, remove the need to ask the version of the spec BOM to use.
Lot's of other places where this could provide better defaulting, or remove the need to ask questions.
This also seems fairly consistent with the Forge approach - good understanding of the project in question.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 5 months
[JBoss JIRA] (FORGE-427) Facet cannot find @RequiresFacet in another resource JAR
by Tom Cunningham (JIRA)
Tom Cunningham created FORGE-427:
------------------------------------
Summary: Facet cannot find @RequiresFacet in another resource JAR
Key: FORGE-427
URL: https://issues.jboss.org/browse/FORGE-427
Project: Forge
Issue Type: Bug
Components: Event Bus
Affects Versions: 1.0.0.Beta4
Reporter: Tom Cunningham
We've put a number of different plugins inside a common module, and SwitchYardFacet is in switchyard.forge-plugin-0.4.0-SNAPSHOT.jar. Can a facet in one of my other plugin JARs refer to that one? Do I need to go back to shading?
Example - this Facet is in switchyard-camel-plugin-0.4.0-SNAPSHOT.jar but refers to SwitchYardFacet which is in another resource-root : switchyard-forge-plugin-0.4.0-SNAPSHOT.jar.
import org.switchyard.tools.forge.plugin.SwitchYardFacet;
/**
* Forge facet for Camel bindings and services.
*/
@Alias("switchyard.camel")
@RequiresFacet({ DependencyFacet.class, PackagingFacet.class,
SwitchYardFacet.class })
@RequiresPackagingType(PackagingType.JAR)
public class CamelFacet extends AbstractFacet {
module.xml :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<module xmlns="urn:jboss:module:1.0"
name="org.switchyard.switchyard-forge-plugin" slot="0.4.0-SNAPSHOT">
<resources>
<!-- plugin dependencies that must be local to this module -->
<resource-root path="switchyard-forge-common-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-component-common-rules-0.4.0-SNAPSHOT.jar"/>
<!-- core and component plugins -->
<resource-root path="switchyard-forge-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-bean-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-soap-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-rules-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-bpm-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-camel-plugin-0.4.0-SNAPSHOT.jar"/>
</resources>
Error - the missing Type seems to be SwitchYardFacet :
tcunning at localhost:tmp]$ forge
Listening for transport dt_socket at address: 8787
Plugin system disabled due to failure while loading one or more plugins;
try removing offending plugins with "forge remove-plugin <TAB>".
com.google.common.collect.ComputationException:
java.lang.ArrayStoreException:
sun.reflect.annotation.TypeNotPresentExceptionProxy
at
com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)
at
com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:100)
at
com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:515)
at
org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:183)
at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:95)
at
org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:134)
at
org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:191)
at
org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:368)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:92)
at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:87)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayStoreException:
sun.reflect.annotation.TypeNotPresentExceptionProxy
at
sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
at
sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
at
sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
at
sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
at
sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
at
sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
at java.lang.Class.getAnnotations(Class.java:3050)
at
org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:98)
at
org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:54)
at
org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:42)
at
com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:206)
... 10 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 5 months
[JBoss JIRA] (FORGE-368) Return list of properties based on higher-level understanding
by Richard Kennard (Created) (JIRA)
Return list of properties based on higher-level understanding
-------------------------------------------------------------
Key: FORGE-368
URL: https://issues.jboss.org/browse/FORGE-368
Project: Forge
Issue Type: Feature Request
Reporter: Richard Kennard
Assignee: Lincoln Baxter III
Hi guys,
As I understand it, Forge has an understanding of your project that transcends Java's own understanding. So for example if I say...
field string --named foo
...Forge knows I'm creating a property, and it creates getters and setters for that property. But later if I do...
org.jboss.forge.parser.java.JavaClass.getMethods()
...then I get back just normal methods. I'll have to check their signature for 'get' or 'set' to see if they're properties. Equally if I do...
org.jboss.forge.parser.java.JavaClass.getFields()
...I get back just normal fields. I don't know if these are property fields (and if so, what their corresponding getter/setter methods are) or whether they're just internal fields (and should be ignored).
Is there a recommended way to 'get back out' the list of properties for a class? Something that tells me a) the field; b) the getter; c) the setter?
If it helps, for now I am using a rough implementation at: https://github.com/kennardconsulting/forge/blob/master/scaffold-metawidge...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 5 months
[JBoss JIRA] (FORGE-445) GZip compression configuration plugin
by Dan Allen (JIRA)
Dan Allen created FORGE-445:
-------------------------------
Summary: GZip compression configuration plugin
Key: FORGE-445
URL: https://issues.jboss.org/browse/FORGE-445
Project: Forge
Issue Type: Feature Request
Components: Brainstorming
Reporter: Dan Allen
GZip compression is the perfect case of a monkey's job (aka forge plugin). In some cases, it needs to be added to web.xml as a filter. In other cases, it needs to modify the application server configuration.
It would be cool to have a GZip compression plugin that would apply the configuration in the appropriate way based on input from the user.
For example:
setup gzip --scope application --provider XXXX
setup gzip --scope container --container JBOSS_AS_7
If the application vs container paths are different, it may warrant two separate commands, such as gzip-filter and gzip-server-config
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 5 months
[JBoss JIRA] (FORGE-425) Provide a way to override plugin resources without coding
by Richard Kennard (Created) (JIRA)
Provide a way to override plugin resources without coding
---------------------------------------------------------
Key: FORGE-425
URL: https://issues.jboss.org/browse/FORGE-425
Project: Forge
Issue Type: Feature Request
Reporter: Richard Kennard
At present, Forge makes it easy for users to add their own plugins by writing some code.
However this is onerous for use cases where users just want to tweak some static resource or template. For scaffolding specifically, but for plugins generally, it would be good to have a mechanism to allow users to easily 'drop in' replacement files.
>From discussions on the mailing list, the consensus seems to be:
1. Plugins should keep their resources in as flat a structure as possible. For example at the moment scaffolding uses "resources/org/jboss/forge/scaffold/faces/scaffold/BackingBean.jv" but we should change this to, say, "resources/scaffold/BackingBean.jv"
2. Forge should provide a folder, say, /forge-distribution/resources where users can drop replacement files
There is some disagreement over how this is to be implemented. The concerns are:
1. Richard would prefer that plugins did not have to explicitly worry about this 'replacement mechanism'. Lots of plugins already call .getResource, so it'd be good if this just magically checked /forge-distribution/resources for us.
2. Max does not want this 'replacement mechanism' to work by putting /forge-distribution/resources on the classpath (Max can explain why :)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 5 months
[JBoss JIRA] (FORGE-392) Scaffold API generateFromEntity should also create dependent entities
by Richard Kennard (Created) (JIRA)
Scaffold API generateFromEntity should also create dependent entities
---------------------------------------------------------------------
Key: FORGE-392
URL: https://issues.jboss.org/browse/FORGE-392
Project: Forge
Issue Type: Feature Request
Reporter: Richard Kennard
In org.jboss.forge.scaffold.plugins.ScaffoldPlugin there is a method 'generateFromEntity' which delegates to 'provider.generateFromEntity'.
It calls 'provider.generateFromEntity' once for every JavaResource it is given. So for example if the user types:
from-entity com.test.domain.Foo com.test.domain.Bar
It will generate scaffolding for both Foo and Bar.
However if Foo has some kind of relationship to Bar, then the scaffolding produced by Foo will internally refer to Bar. Therefore the generated project will be broken if the user simply does...
from-entity com.test.domain.Foo
...because there will be no Bar scaffolding.
It would be great if the Scaffold API could understand that Foo has related entities and automatically add those into the list before it calls 'provider.generateFromEntity'
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 5 months