[JBoss JIRA] (FORGE-935) ResourceFactory incorrectly handles specific resources
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-935?page=com.atlassian.jira.plugin.... ]
George Gastaldi commented on FORGE-935:
---------------------------------------
Added ignored test to JavaParserResourcesTest class
> ResourceFactory incorrectly handles specific resources
> ------------------------------------------------------
>
> Key: FORGE-935
> URL: https://issues.jboss.org/browse/FORGE-935
> Project: Forge
> Issue Type: Bug
> Components: Resources API
> Affects Versions: 2.0.0.Alpha4
> Reporter: George Gastaldi
> Priority: Critical
>
> When ResourceFactory.create(Object) is called and the argument is a File pointing to a *.java file, I expect a JavaResource object to be returned, however, a FileResource is returned instead.
> It appears that the algorithm is not deterministic, since I've seen it return JavaResource sometimes.
> The following failling test illustrates it:
> {code}
> @Test
> public void testJavaResourceCreationSpecialized() throws Exception
> {
> JavaClass javaClass = JavaParser.create(JavaClass.class).setPackage("org.jboss.forge.test").setName("Example");
> JavaResource resource = factory.create(JavaResource.class, File.createTempFile("forge", ".java"));
> resource.createNewFile();
> resource.setContents(javaClass);
> Resource<File> newResource = factory.create(resource.getUnderlyingResourceObject());
> Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 11 months
[JBoss JIRA] (FORGE-935) ResourceFactory incorrectly handles specific resources
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-935?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-935:
----------------------------------
Description:
When ResourceFactory.create(Object) is called and the argument is a File pointing to a *.java file, I expect a JavaResource object to be returned, however, a FileResource is returned instead.
It appears that the algorithm is not deterministic, since I've seen it return JavaResource sometimes.
The following failling test illustrates it:
{code}
@Test
public void testJavaResourceCreationSpecialized() throws Exception
{
JavaClass javaClass = JavaParser.create(JavaClass.class).setPackage("org.jboss.forge.test").setName("Example");
JavaResource resource = factory.create(JavaResource.class, File.createTempFile("forge", ".java"));
resource.createNewFile();
resource.setContents(javaClass);
Resource<File> newResource = factory.create(resource.getUnderlyingResourceObject());
Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
}
{code}
was:
When ResourceFactory.create(Object) is called and the argument is a File pointing to a *.java file, I expect a JavaResource object to be returned, however, a FileResource is returned instead.
It appears that the algorithm is not deterministic, since I've seen it return JavaResource sometimes.
The following failling test illustrates it:
{code}
@Test
public void testJavaResourceCreationSpecialized() throws Exception
{
JavaClass javaClass = JavaParser.create(JavaClass.class).setPackage("org.jboss.forge.test").setName("Example");
JavaResource resource = factory.create(JavaResource.class, File.createTempFile("forge", ".java"));
resource.createNewFile();
resource.setContents(javaClass);
Resource<File> newResource = factory.create(resource.getUnderlyingResourceObject());
Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
}
{code}
> ResourceFactory incorrectly handles specific resources
> ------------------------------------------------------
>
> Key: FORGE-935
> URL: https://issues.jboss.org/browse/FORGE-935
> Project: Forge
> Issue Type: Bug
> Components: Resources API
> Affects Versions: 2.0.0.Alpha4
> Reporter: George Gastaldi
> Priority: Critical
>
> When ResourceFactory.create(Object) is called and the argument is a File pointing to a *.java file, I expect a JavaResource object to be returned, however, a FileResource is returned instead.
> It appears that the algorithm is not deterministic, since I've seen it return JavaResource sometimes.
> The following failling test illustrates it:
> {code}
> @Test
> public void testJavaResourceCreationSpecialized() throws Exception
> {
> JavaClass javaClass = JavaParser.create(JavaClass.class).setPackage("org.jboss.forge.test").setName("Example");
> JavaResource resource = factory.create(JavaResource.class, File.createTempFile("forge", ".java"));
> resource.createNewFile();
> resource.setContents(javaClass);
> Resource<File> newResource = factory.create(resource.getUnderlyingResourceObject());
> Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 11 months
[JBoss JIRA] (FORGE-935) ResourceFactory incorrectly handles specific resources
by George Gastaldi (JIRA)
George Gastaldi created FORGE-935:
-------------------------------------
Summary: ResourceFactory incorrectly handles specific resources
Key: FORGE-935
URL: https://issues.jboss.org/browse/FORGE-935
Project: Forge
Issue Type: Bug
Components: Resources API
Affects Versions: 2.0.0.Alpha4
Reporter: George Gastaldi
Priority: Critical
When ResourceFactory.create(Object) is called and the argument is a File pointing to a *.java file, I expect a JavaResource object to be returned, however, a FileResource is returned instead.
It appears that the algorithm is not deterministic, since I've seen it return JavaResource sometimes.
The following failling test illustrates it:
{code}
@Test
public void testJavaResourceCreationSpecialized() throws Exception
{
JavaClass javaClass = JavaParser.create(JavaClass.class).setPackage("org.jboss.forge.test").setName("Example");
JavaResource resource = factory.create(JavaResource.class, File.createTempFile("forge", ".java"));
resource.createNewFile();
resource.setContents(javaClass);
Resource<File> newResource = factory.create(resource.getUnderlyingResourceObject());
Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
Assert.assertThat(newResource, is(instanceOf(JavaResource.class)));
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 11 months
[JBoss JIRA] (FORGE-286) Forge needs a de-centralized plugin distribution and repository system
by Alceu Medeiros (JIRA)
[ https://issues.jboss.org/browse/FORGE-286?page=com.atlassian.jira.plugin.... ]
Alceu Medeiros reopened FORGE-286:
----------------------------------
As discussed in IRC channel with development team, to provide a forge plugin is required git as project repository, and to publish in a intranet needs a new repository.yaml file. It would be nice if we have a decentralized repository system, that doesn't depends on the project repository, opening possibilities to SVN, for example. I think the best solution is to delegate all of the artifact resolution and dependency management to Maven, as mentioned in this thread.
> Forge needs a de-centralized plugin distribution and repository system
> ----------------------------------------------------------------------
>
> Key: FORGE-286
> URL: https://issues.jboss.org/browse/FORGE-286
> Project: Forge
> Issue Type: Feature Request
> Components: Brainstorming, Plugin API
> Affects Versions: 1.0.0.Alpha1
> Environment: All
> Reporter: Lincoln Baxter III
> Assignee: Lincoln Baxter III
> Priority: Critical
> Labels: Maven
> Fix For: 1.0.0.Beta1
>
>
> There is no disputing the value of this type of feature, as has been shown with App-stores of all kinds. This would be relatively simple to implement as a Maven-based system, delegating all of the artifact resolution and dependency management to Maven.
> Features Forge would need to provide:
> 1) Built-in plugins and native APIs to search/install/remove/update plug-ins (easy using forge Resource APIs + Aether to add/remove JARs.) This internal plugin/commands could be called "forge" for simplicity
> ------------------------------------------------------------------------------------------
> $ forge plugin-find prettyfaces
> Forge found the following plugins in specified repositories: <--- notice the 'forgeplugin' classifier used to identify forge plugins from other artifacts.
> * http://ocpsoft.com/repository ...... [prettyfaces] com.ocpsoft.pretty.faces:prettyfaces-forgeplugin:[... 3.1.0, 3.2.0, 3.2.1]
> * http://repo1.maven.org/ .............. [prettyfaces] com.ocpsoft.pretty.faces:prettyfaces-forgeplugin:3.1.0
> $ forge plugin-install prettyfaces --version 3.1.0
> ***SUCCESS*** [prettyfaces] plugin was successfully installed. You will need to restart forge to see these changes.
> $ forge plugin-list
> Listing installed plugins:
> * prettyfaces [3.1.0]
> * forge-scaffold [1.0.0.Alpha1]
> * forge-javaee6 [1.0.0.Alpha1]
> * home-control [1.0.0.Alpha1]
> $ forge plugin-remove prettyfaces
> Are you sure you you want to remove the plugin(s) [prettyfaces] [Y,n]? Y
> ***SUCCESS*** [prettyfaces] plugin was successfully removed. You will need to restart forge to see these changes.
> ------------------------------------------------------------------------------------------
> 2) Plugin repository management (add/remove/edit/list current plugin repository targets.)
> ------------------------------------------------------------------------------------------
> $ forge repo-list
> Currently using the following plugin repositories:
> * 1. https://repository.jboss.org/nexus/content/groups/public/
> * 2. http://ocpsoft.com/repository
> * 3. http://example.com/forge/plugin-repository
> $ forge repo-add http://jboss.org/forge/repository/ <-- These two will be KEY, we NEED THESE to happen
> $ forge repo-add http://javaee.org/forge/repository/
> $ forge repo-list
> Currently using the following plugin repositories:
> * 1. https://repository.jboss.org/nexus/content/groups/public/
> * 2. http://ocpsoft.com/repository
> * 3. http://example.com/forge/plugin-repository
> * 4. http://jboss.org/forge/repository/
> * 5. http://javaee.org/forge/repository/
> $ forge repo-del 5
> ***SUCCESS*** removed repository [http://javaee.org/forge/repository/]. Plugins installed from this repository will no longer be auto-updated, and can be removed using [forge plugin-remove {plugin-id}]
> ------------------------------------------------------------------------------------------
> 3) Auto-update functionality
> Periodically search for updates to existing plugins (or search on request) - ask users if they would like to see a list of updates or perform an automated update / update individual plugins.
> 4) A meta-data system of identifying compatible versions of plugins w/running version of forge.
> Possibly need to create a maven packaging type and build plugin in order to facilitate this type of additional metadata and artifact resolution. (Or could require a <classifier>forgeplugin</classifier>. We already have the maven GAV (GroupId : ArtifactId : Version) information. Supplemented with this classifier, we could easily identify forge plugins from other artifacts in maven.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 11 months