This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag maven-sling-plugin-2.0.4-incubator in repository https://gitbox.apache.org/repos/asf/sling-maven-sling-plugin.git
commit 4539ff17ce9719f874d3f4dc6f8926ce0eb52b07 Author: Carsten Ziegeler <[email protected]> AuthorDate: Sat Mar 28 16:14:47 2009 +0000 SLING-653 : Properly handle closing of file, json file might be a json array. git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/maven/maven-sling-plugin@759494 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/maven/bundlesupport/ValidationMojo.java | 26 ++++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java b/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java index 1990ebd..034ead8 100644 --- a/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java +++ b/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java @@ -28,6 +28,7 @@ import org.apache.maven.model.Resource; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; +import org.apache.sling.commons.json.JSONArray; import org.apache.sling.commons.json.JSONException; import org.apache.sling.commons.json.JSONObject; import org.codehaus.plexus.util.DirectoryScanner; @@ -110,16 +111,27 @@ public class ValidationMojo extends AbstractMojo { final File file = new File(directory, fileName); if ( file.isFile() ) { if ( fileName.endsWith(".json") && !this.skipJson ) { + getLog().debug("Validation JSON file " + fileName); + FileInputStream fis = null; + String json = null; try { - final FileInputStream fis = new FileInputStream(file); - getLog().debug("Validation JSON file " + fileName); - final String json = IOUtils.toString(fis); - new JSONObject(json); - fis.close(); - } catch (JSONException e) { - throw new MojoExecutionException("An Error occured while validating the file '"+fileName+"'", e); + fis = new FileInputStream(file); + json = IOUtils.toString(fis); } catch (IOException e) { throw new MojoExecutionException("An Error occured while validating the file '"+fileName+"'", e); + } finally { + IOUtils.closeQuietly(fis); + } + // first, let's see if this is a json array + try { + new JSONArray(json); + } catch (JSONException e) { + // it might be a json object + try { + new JSONObject(json); + } catch (JSONException je) { + throw new MojoExecutionException("An Error occured while validating the file '"+fileName+"'", je); + } } } } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
