[ https://issues.apache.org/jira/browse/IVY-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15744361#comment-15744361 ]
ASF GitHub Bot commented on IVY-1482: ------------------------------------- Github user jaikiran closed the pull request at: https://github.com/apache/ant-ivy/pull/12 > NPE in XmlReportOutputter > ------------------------- > > Key: IVY-1482 > URL: https://issues.apache.org/jira/browse/IVY-1482 > Project: Ivy > Issue Type: Bug > Components: Core > Affects Versions: 2.4.0-RC1 > Reporter: M Kim > Assignee: Maarten Coene > Fix For: master > > > {code} > public void output(ConfigurationResolveReport report, String resolveId, > String[] confs, ResolutionCacheManager cacheMgr) throws IOException { > File reportFile = > cacheMgr.getConfigurationResolveReportInCache(resolveId, > report.getConfiguration()); > File reportParentDir = reportFile.getParentFile(); > reportParentDir.mkdirs(); // NPE > OutputStream stream = new FileOutputStream(reportFile); > writer.output(report, confs, stream); > stream.close(); > //... > } > {code} > In XmlReportOutputter.output method, NPE occurs when > reportFile.getParentFile() returns null. I think a proper error handling is > needed for reportFile and reportParentDir before OutputStream is created. > <Test case> > {code} > public void test1() { > Ivy14 ivy = new org.apache.ivy.Ivy14(); > ManifestHeaderElement header = new ManifestHeaderElement(); > ModuleRevisionId resolveId = ModuleRevisionId.newInstance("", "ISO-8859-1", > "default", "default", header.getAttributes(), true); > Pack200Packing pack = new Pack200Packing(); > String[] strings = pack.getNames(); > ResolveReport report = ivy.resolve(resolveId, strings); > ResolveOptions options = new ResolveOptions(); > report.output(new ReportOutputter[]{new XmlReportOutputter()}, > (ResolutionCacheManager)new DefaultResolutionCacheManager(), > options.setResolveId("latest-revision").setOutputReport(true)); > } > {code} > <Stack trace> > {code} > 1) test1(Test0)java.lang.NullPointerException > at > org.apache.ivy.plugins.report.XmlReportOutputter.output(XmlReportOutputter.java:56) > at > org.apache.ivy.plugins.report.XmlReportOutputter.output(XmlReportOutputter.java:47) > at org.apache.ivy.core.report.ResolveReport.output(ResolveReport.java:106) > at Test0.test1(Test0.java:48) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)