[JBoss JIRA] (FORGE-2216) Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2216?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-2216:
----------------------------------------
Hi [~ozizka],
Would you mind providing a failing test case illustrating this behavior?
Thanks!
> Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: FORGE-2216
> URL: https://issues.jboss.org/browse/FORGE-2216
> Project: Forge
> Issue Type: Enhancement
> Components: Furnace (Container), Test Harness
> Affects Versions: 2.14.0.Final
> Reporter: Ondrej Zizka
> Assignee: George Gastaldi
>
> If the _DEFAULT_ addon (created by ForgeArchive getDeployment()) contains classes which duplicate those in dependencies (which is very easy to achieve), then various negative side effect may occur - e.g. querying for an @Annotation, or querying a Map with classes as keys, etc etc.
> Typically solving these errors is hard work.
> Forge, resp. Furnace, should WARN about duplicated classes. Maybe optionally if that would mean scanning all addons (but I assume that is being done anyway).
> In other words:
> 1) Scan whole _DEFAULT_ addon and for each class, try loading that class by FQCN from each dependency. If found, then WARN about it.
> 2) Scan all dependency addons and warn if duplicated FQCN is found.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2197) Last executed contextual command throws exceptions if NetBeans current selection is now empty
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2197?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-2197.
----------------------------------
Resolution: Deferred
Closing this as "Deferred".
> Last executed contextual command throws exceptions if NetBeans current selection is now empty
> ----------------------------------------------------------------------------------------------
>
> Key: FORGE-2197
> URL: https://issues.jboss.org/browse/FORGE-2197
> Project: Forge
> Issue Type: Bug
> Components: UI - NetBeans
> Reporter: Lincoln Baxter III
> Assignee: George Gastaldi
>
> Steps to reproduce:
> 1) Create a new project.
> 2) Run jpa-new-entity to completion
> 3) Click in the netbeans console to de-select the current project
> 4) Re-run the recent command.
> {code}
> java.lang.IllegalStateException: A project is required in the current context
> at org.jboss.forge.addon.projects.ui.AbstractProjectCommand.getSelectedProject(AbstractProjectCommand.java:78)
> at org.jboss.forge.addon.javaee.jpa.ui.NewEntityCommand.getPrerequisiteCommands(NewEntityCommand.java:180)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
> at org.jboss.forge.addon.javaee.jpa.ui.NewEntityCommand_$$_javassist_73d82bc3-9364-472f-ae42-a4f721539d5a.getPrerequisiteCommands(NewEntityCommand_$$_javassist_73d82bc3-9364-472f-ae42-a4f721539d5a.java)
> at org.jboss.forge.addon.ui.impl.command.PrerequisiteCommandTransformer.transform(PrerequisiteCommandTransformer.java:42)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
> at org.jboss.forge.addon.ui.impl.command.PrerequisiteCommandTransformer_$$_javassist_4994e213-2fab-45ce-9075-494ac1106ed0.transform(PrerequisiteCommandTransformer_$$_javassist_4994e213-2fab-45ce-9075-494ac1106ed0.java)
> at org.jboss.forge.addon.ui.impl.controller.CommandControllerFactoryImpl.transform(CommandControllerFactoryImpl.java:91)
> at org.jboss.forge.addon.ui.impl.controller.CommandControllerFactoryImpl.createController(CommandControllerFactoryImpl.java:52)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
> at org.jboss.forge.addon.ui.controller.CommandControllerFactory_$$_javassist_d560e567-a1c9-488d-befd-87b4781da840.createController(CommandControllerFactory_$$_javassist_d560e567-a1c9-488d-befd-87b4781da840.java)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:123)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
> at org.jboss.forge.addon.ui.controller.CommandControllerFactory_$$_javassist_adf21b56-367c-4db0-88ee-0aed0f662cd5.createController(CommandControllerFactory_$$_javassist_adf21b56-367c-4db0-88ee-0aed0f662cd5.java)
> [catch] at org.jboss.forge.netbeans.ui.wizard.RunForgeWizardRunnable.run(RunForgeWizardRunnable.java:43)
> at org.netbeans.modules.quicksearch.QuickSearchPopup.invoke(QuickSearchPopup.java:133)
> at org.netbeans.modules.quicksearch.AbstractQuickSearchComboBar$6.run(AbstractQuickSearchComboBar.java:234)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
> at java.awt.EventQueue.access$400(EventQueue.java:97)
> at java.awt.EventQueue$3.run(EventQueue.java:697)
> at java.awt.EventQueue$3.run(EventQueue.java:691)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
> at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2197) Last executed contextual command throws exceptions if NetBeans current selection is now empty
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-2197?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-2197:
----------------------------------------
According to Geertjan Wielenga from Oracle:
{quote}
I don't get the feeling that the Quick Search feature is used much at all (yet another reason why this approach is counter-intuitive and is going to really hide the feature rather than expose it via clearly visible UI). If doing <folder name="Recent_hidden"/> in the layer.xml file solves the problem, you should go ahead and do that, since I doubt much use is being made of that either, I doubt many will miss it if it's not there.
{quote}
> Last executed contextual command throws exceptions if NetBeans current selection is now empty
> ----------------------------------------------------------------------------------------------
>
> Key: FORGE-2197
> URL: https://issues.jboss.org/browse/FORGE-2197
> Project: Forge
> Issue Type: Bug
> Components: UI - NetBeans
> Reporter: Lincoln Baxter III
> Assignee: George Gastaldi
>
> Steps to reproduce:
> 1) Create a new project.
> 2) Run jpa-new-entity to completion
> 3) Click in the netbeans console to de-select the current project
> 4) Re-run the recent command.
> {code}
> java.lang.IllegalStateException: A project is required in the current context
> at org.jboss.forge.addon.projects.ui.AbstractProjectCommand.getSelectedProject(AbstractProjectCommand.java:78)
> at org.jboss.forge.addon.javaee.jpa.ui.NewEntityCommand.getPrerequisiteCommands(NewEntityCommand.java:180)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
> at org.jboss.forge.addon.javaee.jpa.ui.NewEntityCommand_$$_javassist_73d82bc3-9364-472f-ae42-a4f721539d5a.getPrerequisiteCommands(NewEntityCommand_$$_javassist_73d82bc3-9364-472f-ae42-a4f721539d5a.java)
> at org.jboss.forge.addon.ui.impl.command.PrerequisiteCommandTransformer.transform(PrerequisiteCommandTransformer.java:42)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
> at org.jboss.forge.addon.ui.impl.command.PrerequisiteCommandTransformer_$$_javassist_4994e213-2fab-45ce-9075-494ac1106ed0.transform(PrerequisiteCommandTransformer_$$_javassist_4994e213-2fab-45ce-9075-494ac1106ed0.java)
> at org.jboss.forge.addon.ui.impl.controller.CommandControllerFactoryImpl.transform(CommandControllerFactoryImpl.java:91)
> at org.jboss.forge.addon.ui.impl.controller.CommandControllerFactoryImpl.createController(CommandControllerFactoryImpl.java:52)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:87)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:103)
> at org.jboss.forge.addon.ui.controller.CommandControllerFactory_$$_javassist_d560e567-a1c9-488d-befd-87b4781da840.createController(CommandControllerFactory_$$_javassist_d560e567-a1c9-488d-befd-87b4781da840.java)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:123)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
> at org.jboss.forge.addon.ui.controller.CommandControllerFactory_$$_javassist_adf21b56-367c-4db0-88ee-0aed0f662cd5.createController(CommandControllerFactory_$$_javassist_adf21b56-367c-4db0-88ee-0aed0f662cd5.java)
> [catch] at org.jboss.forge.netbeans.ui.wizard.RunForgeWizardRunnable.run(RunForgeWizardRunnable.java:43)
> at org.netbeans.modules.quicksearch.QuickSearchPopup.invoke(QuickSearchPopup.java:133)
> at org.netbeans.modules.quicksearch.AbstractQuickSearchComboBar$6.run(AbstractQuickSearchComboBar.java:234)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
> at java.awt.EventQueue.access$400(EventQueue.java:97)
> at java.awt.EventQueue$3.run(EventQueue.java:697)
> at java.awt.EventQueue$3.run(EventQueue.java:691)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
> at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2201) Fetch all Projects is very slow (>2 mins)
by Michael Schwartz (JIRA)
[ https://issues.jboss.org/browse/FORGE-2201?page=com.atlassian.jira.plugin... ]
Michael Schwartz commented on FORGE-2201:
-----------------------------------------
Thanks Georg, thanks Lincoln. The suggestion works like a charm.
> Fetch all Projects is very slow (>2 mins)
> -----------------------------------------
>
> Key: FORGE-2201
> URL: https://issues.jboss.org/browse/FORGE-2201
> Project: Forge
> Issue Type: Enhancement
> Components: Addon Development
> Affects Versions: 2.13.0.Final
> Reporter: Michael Schwartz
> Priority: Trivial
>
> I want to fetch all available projects. The following source works as needed but needs at least 2 mins until completed (about 30 projects):
> protected void setupProjects(UIBuilder builder) {
> Project entityProject = getSelectedProject(builder.getUIContext());
> Resource<?> resource = entityProject.getRoot().getParent();
> allProjects = new HashSet<>();
> for (Resource<?> res : resource.listResources()) {
> DirectoryResource directory = (DirectoryResource) res.reify(DirectoryResource.class);
> if (directory != null) {
> Project proj = projectFactory.findProject(directory);
> if (proj != null) {
> allProjects.add(proj);
> }
> }
> }
> }
> Is there a faster way to iterate through the projects or maybe some initialization can be done by "lazy loading"?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2206) Forge should clearly log when dependency version mismatch prevents loading dependencies.
by Ondrej Zizka (JIRA)
[ https://issues.jboss.org/browse/FORGE-2206?page=com.atlassian.jira.plugin... ]
Ondrej Zizka reassigned FORGE-2206:
-----------------------------------
Assignee: George Gastaldi
> Forge should clearly log when dependency version mismatch prevents loading dependencies.
> ----------------------------------------------------------------------------------------
>
> Key: FORGE-2206
> URL: https://issues.jboss.org/browse/FORGE-2206
> Project: Forge
> Issue Type: Bug
> Components: Furnace (Container)
> Affects Versions: 2.13.1.Final
> Reporter: Ondrej Zizka
> Assignee: George Gastaldi
> Fix For: 2.x Future
>
>
> When addons depend on different versions of Forge, then Furnace does not load the addons which depend on different (newer) Forge version.
> That is ok on it's own. But Forge doesn't inform about it properly, which leads to long search for what's wrong.
> Happened in Windup development:
> Windup Core used newer Forge version,
> BOM had older version.
> Then trying to load the addon which used the BOM failed with "dependency addon not found", without stating why. This deserves at least WARNING level.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2216) Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
by Ondrej Zizka (JIRA)
[ https://issues.jboss.org/browse/FORGE-2216?page=com.atlassian.jira.plugin... ]
Ondrej Zizka updated FORGE-2216:
--------------------------------
Component/s: Furnace (Container)
Test Harness
> Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: FORGE-2216
> URL: https://issues.jboss.org/browse/FORGE-2216
> Project: Forge
> Issue Type: Enhancement
> Components: Furnace (Container), Test Harness
> Affects Versions: 2.14.0.Final
> Reporter: Ondrej Zizka
>
> If the _DEFAULT_ addon (created by ForgeArchive getDeployment()) contains classes which duplicate those in dependencies (which is very easy to achieve), then various negative side effect may occur - e.g. querying for an @Annotation, or querying a Map with classes as keys, etc etc.
> Typically solving these errors is hard work.
> Forge, resp. Furnace, should WARN about duplicated classes. Maybe optionally if that would mean scanning all addons (but I assume that is being done anyway).
> In other words:
> 1) Scan whole _DEFAULT_ addon and for each class, try loading that class by FQCN from each dependency. If found, then WARN about it.
> 2) Scan all dependency addons and warn if duplicated FQCN is found.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2216) Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
by Ondrej Zizka (JIRA)
[ https://issues.jboss.org/browse/FORGE-2216?page=com.atlassian.jira.plugin... ]
Ondrej Zizka reassigned FORGE-2216:
-----------------------------------
Assignee: George Gastaldi
> Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: FORGE-2216
> URL: https://issues.jboss.org/browse/FORGE-2216
> Project: Forge
> Issue Type: Enhancement
> Components: Furnace (Container), Test Harness
> Affects Versions: 2.14.0.Final
> Reporter: Ondrej Zizka
> Assignee: George Gastaldi
>
> If the _DEFAULT_ addon (created by ForgeArchive getDeployment()) contains classes which duplicate those in dependencies (which is very easy to achieve), then various negative side effect may occur - e.g. querying for an @Annotation, or querying a Map with classes as keys, etc etc.
> Typically solving these errors is hard work.
> Forge, resp. Furnace, should WARN about duplicated classes. Maybe optionally if that would mean scanning all addons (but I assume that is being done anyway).
> In other words:
> 1) Scan whole _DEFAULT_ addon and for each class, try loading that class by FQCN from each dependency. If found, then WARN about it.
> 2) Scan all dependency addons and warn if duplicated FQCN is found.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2216) Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
by Ondrej Zizka (JIRA)
[ https://issues.jboss.org/browse/FORGE-2216?page=com.atlassian.jira.plugin... ]
Ondrej Zizka updated FORGE-2216:
--------------------------------
Affects Version/s: 2.14.0.Final
> Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: FORGE-2216
> URL: https://issues.jboss.org/browse/FORGE-2216
> Project: Forge
> Issue Type: Enhancement
> Affects Versions: 2.14.0.Final
> Reporter: Ondrej Zizka
>
> If the _DEFAULT_ addon (created by ForgeArchive getDeployment()) contains classes which duplicate those in dependencies (which is very easy to achieve), then various negative side effect may occur - e.g. querying for an @Annotation, or querying a Map with classes as keys, etc etc.
> Typically solving these errors is hard work.
> Forge, resp. Furnace, should WARN about duplicated classes. Maybe optionally if that would mean scanning all addons (but I assume that is being done anyway).
> In other words:
> 1) Scan whole _DEFAULT_ addon and for each class, try loading that class by FQCN from each dependency. If found, then WARN about it.
> 2) Scan all dependency addons and warn if duplicated FQCN is found.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2216) Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
by Ondrej Zizka (JIRA)
Ondrej Zizka created FORGE-2216:
-----------------------------------
Summary: Forge Tests: WARN if _DEFAULT_ addon contains duplicate classes which are in dependencies, or duplicated classes in dependencies.
Key: FORGE-2216
URL: https://issues.jboss.org/browse/FORGE-2216
Project: Forge
Issue Type: Enhancement
Reporter: Ondrej Zizka
If the _DEFAULT_ addon (created by ForgeArchive getDeployment()) contains classes which duplicate those in dependencies (which is very easy to achieve), then various negative side effect may occur - e.g. querying for an @Annotation, or querying a Map with classes as keys, etc etc.
Typically solving these errors is hard work.
Forge, resp. Furnace, should WARN about duplicated classes. Maybe optionally if that would mean scanning all addons (but I assume that is being done anyway).
In other words:
1) Scan whole _DEFAULT_ addon and for each class, try loading that class by FQCN from each dependency. If found, then WARN about it.
2) Scan all dependency addons and warn if duplicated FQCN is found.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months
[JBoss JIRA] (FORGE-2201) Fetch all Projects is very slow (>2 mins)
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-2201?page=com.atlassian.jira.plugin... ]
Lincoln Baxter III commented on FORGE-2201:
-------------------------------------------
The forums can be found here: https://developer.jboss.org/en/forge/dev
> Fetch all Projects is very slow (>2 mins)
> -----------------------------------------
>
> Key: FORGE-2201
> URL: https://issues.jboss.org/browse/FORGE-2201
> Project: Forge
> Issue Type: Enhancement
> Components: Addon Development
> Affects Versions: 2.13.0.Final
> Reporter: Michael Schwartz
> Priority: Trivial
>
> I want to fetch all available projects. The following source works as needed but needs at least 2 mins until completed (about 30 projects):
> protected void setupProjects(UIBuilder builder) {
> Project entityProject = getSelectedProject(builder.getUIContext());
> Resource<?> resource = entityProject.getRoot().getParent();
> allProjects = new HashSet<>();
> for (Resource<?> res : resource.listResources()) {
> DirectoryResource directory = (DirectoryResource) res.reify(DirectoryResource.class);
> if (directory != null) {
> Project proj = projectFactory.findProject(directory);
> if (proj != null) {
> allProjects.add(proj);
> }
> }
> }
> }
> Is there a faster way to iterate through the projects or maybe some initialization can be done by "lazy loading"?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 7 months