Re: [forge-dev] Add module dependency
gastaldi Feb 11, 2014 4:42 PMThe ability to visit the element tree is a nice feature for the JavaParser to have. I'll create a JIRA for this new feature.
Thanks
Em 11/02/2014, às 19:40, Rafael Pestano <rmpestano@gmail.com> escreveu:
maybe it will work but the code will be more complex than just use a visitor for methodInvocations, and that was just an example i'll have other times of inspections than just methodInvocations. I'll dig in and try to find a way to use AST.
thanks for the reply
2014-02-11 19:34 GMT-02:00 George Gastaldi <ggastald@redhat.com>:
>> No, I spoke to soon. What I meant is that calling getMethods() the JavaParser will traverse the AST tree internally, in a similar way that your code does.
>>
>>> On 11-02-2014 19:31, George Gastaldi wrote:
>>> Hey Rafael,
>>>
>>> I don't see how using AST is different from what I proposed. When you have a JavaSource object, the tree was already traversed and the options are just there.
>>>
>>>
>>>> On 11-02-2014 19:27, Rafael Pestano wrote:
>>>> Hi George,
>>>>
>>>> i dont think iterate over all methods is an option, im going to inspect very large applications(100K + lines of code) so id like to insist with AST.
>>>>
>>>>
>>>> 2014-02-11 17:33 GMT-02:00 George Gastaldi **ERROR** Exception encountered: (type "set VERBOSE false" to disable stack traces)
>>>>>>>>>>> java.lang.ClassNotFoundException: org.eclipse.jdt.core.dom.CompilationUnit from [Module "br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-3734196a-d501-400f-b6ec-bfcd0ce08b99" from local module loader @1eac903 (roots: /home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>>>>>>>>> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
>>>>>>>>>>> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
>>>>>>>>>>> at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
>>>>>>>>>>> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
>>>>>>>>>>> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
>>>>>>>>>>>
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)
>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)
>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>> at org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
>>>>>>>>>>> at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>>>>>>>>>> at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)
>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)
>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>> at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>>>>>>>>>> at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>>>>>>>>> at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>>>>>>>>>> at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>>>>>>>>>> at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>>>>>>>>>> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>>>>>>>>>> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>>>>>>>>>> at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>>>>>>>>>> at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>>>>>>>>>> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>>>>>>>>>> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>>>>>>>>>> at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
>>>>>>>>>>> at java.lang.Thread.run(Thread.java:744)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2014-02-10 14:48 GMT-02:00 George Gastaldi **ERROR** Exception encountered: (type "set VERBOSE false" to disable stack traces)
>>>>>>>>>>>>> java.lang.ClassCastException: org.eclipse.jdt.core.dom.CompilationUnit cannot be cast to org.eclipse.jdt.core.dom.CompilationUnit
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)
>>>>>>>>>>>>> at br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)
>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>>>> at org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
>>>>>>>>>>>>> at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>>>>>>>>>>>> at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)
>>>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)
>>>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>>>> at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>>>>>>>>>>>> at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>>>>>>>>>>> at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>>>>>>>>>>> at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>>>>>>>>>>> at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>>>>>>>>>>>> at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>>>>>>>>>>>> at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>>>>>>>>>>>> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>>>>>>>>>>>> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>>>>>>>>>>>> at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>>>>>>>>>>>> at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>>>>>>>>>>>> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>>>>>>>>>>>> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>>>>>>>>>>>> at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
>>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:744)
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2014-02-10 14:16 GMT-02:00 Rafael Pestano but i receive **ERROR** Exception encountered: (type "set VERBOSE false" to disable stack traces)
>>>>>>>>>>>>>>>>> java.lang.ClassNotFoundException: org.eclipse.jdt.core.dom.CompilationUnit from [Module "br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-35a537a5-1ab6-4b19-a253-03e3bbfae57d" from local module loader @1eac903 (roots: /home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> if i add(manually) org.eclipse.javaparser module dependency in my plugin module.xml everything works.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> How can i tell forge that i need that dependency?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks in advance
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>>>>>>>> http://conventionsframework.org
>>>>>>>>>>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>>>>>>> http://conventionsframework.org
>>>>>>>>>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>>>>> http://conventionsframework.org
>>>>>>>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>
>>>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>>>> http://conventionsframework.org
>>>>>>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Att,
>>>>>>>>>>>
>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>
>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>> http://conventionsframework.org
>>>>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>>>>> @realpestano
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Att,
>>>>>>>>>>
>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>
>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>> http://conventionsframework.org
>>>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>>>> @realpestano
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> forge-dev mailing list
>>>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> forge-dev mailing list
>>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Att,
>>>>>>>>
>>>>>>>> Rafael M. Pestano
>>>>>>>>
>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>> http://conventionsframework.org
>>>>>>>> http://rpestano.wordpress.com/
>>>>>>>> @realpestano
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> forge-dev mailing list
>>>>>>>> forge-dev@lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> forge-dev mailing list
>>>>>>> forge-dev@lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Att,
>>>>>>
>>>>>> Rafael M. Pestano
>>>>>>
>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>> http://conventionsframework.org
>>>>>> http://rpestano.wordpress.com/
>>>>>> @realpestano
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing list
>>>>>> forge-dev@lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev@lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>>
>>>> --
>>>> Att,
>>>>
>>>> Rafael M. Pestano
>>>>
>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>> Graduando em Ciência da Computação UFRGS
>>>> http://conventionsframework.org
>>>> http://rpestano.wordpress.com/
>>>> @realpestano
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev@lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> https://lists.jboss.org/mailman/listinfo/forge-dev
--
Att,
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventionsframework.org
http://rpestano.wordpress.com/
@realpestano
_______________________________________________
forge-dev mailing list
-
att1.html.zip 8.8 KB