Details
Description
Some ScriptRunner for Jira post functions that reference an issue link type can have an empty value. This was not being ccorrectly handled by Project Configurator and it caused errors llike this one:
Unable to export a project due to below error:
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:601)
at java.lang.Long.valueOf(Long.java:803)
at com.awnaba.projectconfigurator.adapters.workflow.InstanceIndependenceUtils$4.doAndReturn(InstanceIndependenceUtils.java:226)
at com.awnaba.projectconfigurator.adapters.workflow.InstanceIndependenceUtils$4.doAndReturn(InstanceIndependenceUtils.java:218)
at com.awnaba.projectconfigurator.adapters.workflow.InstanceIndependenceUtils.doHandlingErrors(InstanceIndependenceUtils.java:151)
at com.awnaba.projectconfigurator.adapters.workflow.InstanceIndependenceUtils.linkTypeNameWithDirFromIdScriptRunner(InstanceIndependenceUtils.java:218)
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:498)
at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:404)
at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:440)
at org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:222)
at org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:475)
at org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:208)
at org.apache.xpath.Expression.executeCharsToContentHandler(Expression.java:313)
at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:274)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402)
at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2272)
at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1358)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:711)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253)
at com.awnaba.projectconfigurator.utils.XSLTProcessor.executeTransform(XSLTProcessor.java:73)
at com.awnaba.projectconfigurator.utils.XSLTProcessor.process(XSLTProcessor.java:51)
at com.awnaba.projectconfigurator.adapters.workflow.WorkflowTranslator.processXSLTList(WorkflowTranslator.java:48)
at com.awnaba.projectconfigurator.adapters.workflow.WorkflowTranslator.makeInstanceIndependent(WorkflowTranslator.java:31)
at com.awnaba.projectconfigurator.projectconfigserialize.WorkflowGlobalTable.makeContentsInstanceIndependent(WorkflowGlobalTable.java:42)
at com.awnaba.projectconfigurator.projectconfigserialize.WorkflowGlobalTable.insert(WorkflowGlobalTable.java:77)
at com.awnaba.projectconfigurator.projectconfigserialize.WorkflowGlobalTable.insert(WorkflowGlobalTable.java:22)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:26)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:22)
at com.awnaba.projectconfigurator.utils.SmartErrorReporter.wrapSafely(SmartErrorReporter.java:99)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectConfigSerializingContext.wrapSafely(ProjectConfigSerializingContext.java:417)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable.findOrInsertObject(AbstractGlobalTable.java:22)
at com.awnaba.projectconfigurator.projectconfigserialize.WorkflowSchemeGlobalTable.insert(WorkflowSchemeGlobalTable.java:78)
at com.awnaba.projectconfigurator.projectconfigserialize.WorkflowSchemeGlobalTable.insert(WorkflowSchemeGlobalTable.java:25)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:26)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:22)
at com.awnaba.projectconfigurator.utils.SmartErrorReporter.wrapSafely(SmartErrorReporter.java:99)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectConfigSerializingContext.wrapSafely(ProjectConfigSerializingContext.java:417)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable.findOrInsertObject(AbstractGlobalTable.java:22)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectGlobalTable.dumpWorkflowScheme(ProjectGlobalTable.java:184)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectGlobalTable.insert(ProjectGlobalTable.java:121)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectGlobalTable.insert(ProjectGlobalTable.java:51)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:26)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:22)
at com.awnaba.projectconfigurator.utils.SmartErrorReporter.wrapSafely(SmartErrorReporter.java:99)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectConfigSerializingContext.wrapSafely(ProjectConfigSerializingContext.java:417)
at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable.findOrInsertObject(AbstractGlobalTable.java:22)
at com.awnaba.projectconfigurator.projectconfigserialize.ProjectGlobalTable.findOrInsertObject(ProjectGlobalTable.java:68)
at com.awnaba.projectconfigurator.projectconfigserialize.ExportManager.dumpProjectConfig(ExportManager.java:321)
at com.awnaba.projectconfigurator.projectconfigserialize.ExportManager.createJAXBTree(ExportManager.java:282)
at com.awnaba.projectconfigurator.projectconfigserialize.ExportManager.dumpConfigurations(ExportManager.java:97)
at com.awnaba.projectconfigurator.operationsapi.impl.ProjectConfigExporterImpl.doExport(ProjectConfigExporterImpl.java:98)
at com.awnaba.projectconfigurator.operationsapi.impl.ProjectConfigExporterImpl.callExport(ProjectConfigExporterImpl.java:80)
at com.awnaba.projectconfigurator.operationsapi.impl.ProjectConfigExporterImpl.exportSynchronous(ProjectConfigExporterImpl.java:137)
at com.awnaba.projectconfigurator.transporter.engine.FullExportManager.exportConfig(FullExportManager.java:193)
at com.awnaba.projectconfigurator.transporter.engine.FullExportManager.call(FullExportManager.java:67)
at com.awnaba.projectconfigurator.transporter.engine.FullExportManager.call(FullExportManager.java:34)
at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:458)
at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:426)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDeco