From 01d1b4ef5be6738e301a5d7469337cff7356b07a Mon Sep 17 00:00:00 2001 From: "Lincoln Baxter, III" Date: Tue, 30 Sep 2014 17:08:30 -0700 Subject: [PATCH] Proper package name resolution for JavaSourceFacet implementation --- .../facets/GradleJavaSourceFacet.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/impl-projects/src/main/java/org/jboss/forge/addon/gradle/projects/facets/GradleJavaSourceFacet.java b/impl-projects/src/main/java/org/jboss/forge/addon/gradle/projects/facets/GradleJavaSourceFacet.java index 6f0a2b5..862b6f0 100644 --- a/impl-projects/src/main/java/org/jboss/forge/addon/gradle/projects/facets/GradleJavaSourceFacet.java +++ b/impl-projects/src/main/java/org/jboss/forge/addon/gradle/projects/facets/GradleJavaSourceFacet.java @@ -17,9 +17,11 @@ import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; import org.jboss.forge.addon.parser.java.resources.JavaResource; import org.jboss.forge.addon.parser.java.resources.JavaResourceVisitor; +import org.jboss.forge.addon.parser.java.utils.Packages; import org.jboss.forge.addon.projects.Project; import org.jboss.forge.addon.resource.DirectoryResource; import org.jboss.forge.addon.resource.Resource; +import org.jboss.forge.addon.resource.ResourceException; import org.jboss.forge.addon.resource.ResourceFilter; import org.jboss.forge.addon.resource.visit.ResourceVisit; import org.jboss.forge.furnace.util.Strings; @@ -147,27 +149,43 @@ public JavaResource saveTestJavaSource(JavaSource source) @Override public JavaResource getJavaResource(String relativePath) { - return GradleResourceUtil.findFileResource(getMainJavaSources(), relativePath).reify(JavaResource.class); + if (Strings.isNullOrEmpty(relativePath)) + { + throw new ResourceException("Empty relative path"); + } + String path = relativePath.trim().endsWith(".java") + ? relativePath.substring(0, relativePath.lastIndexOf(".java")) : relativePath; + + path = Packages.toFileSyntax(path) + ".java"; + JavaResource target = GradleResourceUtil.findFileResource(getMainJavaSources(), path).reify(JavaResource.class); + return target; } @Override public JavaResource getJavaResource(JavaSource javaClass) { - String pkg = Strings.isNullOrEmpty(javaClass.getPackage()) ? "" : javaClass.getPackage() + "."; - return getJavaResource(pkg + javaClass.getName()); + return getJavaResource(javaClass.getQualifiedName()); } @Override public JavaResource getTestJavaResource(String relativePath) { - return GradleResourceUtil.findFileResource(getTestJavaSources(), relativePath).reify(JavaResource.class); + if (Strings.isNullOrEmpty(relativePath)) + { + throw new ResourceException("Empty relative path"); + } + String path = relativePath.trim().endsWith(".java") + ? relativePath.substring(0, relativePath.lastIndexOf(".java")) : relativePath; + + path = Packages.toFileSyntax(path) + ".java"; + JavaResource target = GradleResourceUtil.findFileResource(getTestJavaSources(), path).reify(JavaResource.class); + return target; } @Override public JavaResource getTestJavaResource(JavaSource javaClass) { - String pkg = Strings.isNullOrEmpty(javaClass.getPackage()) ? "" : javaClass.getPackage() + "."; - return getTestJavaResource(pkg + javaClass.getName()); + return getTestJavaResource(javaClass.getQualifiedName()); } @Override