[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
13 years, 8 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
13 years, 8 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
13 years, 8 months
[JBoss JIRA] (FORGE-511) Should be able to filter dependency versions when using DependencyInstaller or related APIs
by Lincoln Baxter III (JIRA)
Lincoln Baxter III created FORGE-511:
----------------------------------------
Summary: Should be able to filter dependency versions when using DependencyInstaller or related APIs
Key: FORGE-511
URL: https://issues.jboss.org/browse/FORGE-511
Project: Forge
Issue Type: Feature Request
Components: Plugin API, Shell
Reporter: Lincoln Baxter III
{code}
package org.jboss.forge.arquillian;
import java.util.List;
import org.jboss.forge.project.dependencies.Dependency;
/**
* DependencyUtil
*
* @author <a href="mailto:aslak@redhat.com">Aslak Knutsen</a>
* @version $Revision: $
*/
public class DependencyUtil
{
private DependencyUtil() {}
public static Dependency getLatestNonSnapshotVersion(List<Dependency> dependencies)
{
if(dependencies == null)
{
return null;
}
for(int i = dependencies.size()-1; i >= 0; i--)
{
Dependency dep = dependencies.get(i);
if(!dep.getVersion().endsWith("SNAPSHOT"))
{
return dep;
}
}
return dependencies.get(dependencies.size()-1);
}
}{code}
{code}
1 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0-SNAPSHOT]
2 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0.Alpha3]
3 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0.Alpha4]
4 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0.Alpha4.SP1]
5 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0.Alpha5]
6 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0.CR1]*
7 - [org.jboss.arquillian.container:arquillian-jetty-embedded-7:::1.0.0.Final-SNAPSHOT]
{code}
--
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
13 years, 8 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
13 years, 8 months