Uploaded image for project: 'Project Configurator - Development'
  1. Project Configurator - Development
  2. PCDEV-916

Filters referencing non-existing objects stop an export

    Details

    • Type: Bug
    • Status: Done (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4.4
    • Labels:
      None
    • Critical Points:
      0

      Description

      Filters that reference objects that do not exist any longer break the export when PC tries to check if the filter arguments are correctly quoted.

      Example: "project = XXXX" where project XXXX had been deleted.

      The error would produce a stack trace like this:

      Error:
      Trying to export Filter found error: String index out of range: 0
      Location
      [Dashboard UserY:XXXXX Dashboard] [Gadget rest/gadgets/1.0/g/com.atlassian.jira.gadgets:road-map-gadget/gadgets/roadmap-gadget.xml] [User preference projectsOrCategories] [ Translating project id 18405]
      java.lang.StringIndexOutOfBoundsException: String index out of range: 0
              at java.lang.String.charAt(String.java:658)
              at com.awnaba.projectconfigurator.utils.PCStringUtils.isQuoted(PCStringUtils.java:10)
              at com.awnaba.projectconfigurator.utils.PCStringUtils.quoteIfNotQuoted(PCStringUtils.java:31)
              at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
              at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
              at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
              at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
              at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
              at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator$OperandTranslator.visit(QueryTranslator.java:514)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator$OperandTranslator.visit(QueryTranslator.java:1)
              at com.atlassian.query.operand.FunctionOperand.accept(FunctionOperand.java:66)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator.translateOperand(QueryTranslator.java:610)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator.translateClause(QueryTranslator.java:572)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator.visit(QueryTranslator.java:565)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator.visit(QueryTranslator.java:1)
              at com.atlassian.query.clause.TerminalClauseImpl.accept(TerminalClauseImpl.java:143)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator.visit(QueryTranslator.java:634)
              at com.awnaba.projectconfigurator.jiraobjectfacades.QueryTranslator.visit(QueryTranslator.java:1)
              at com.atlassian.query.clause.OrClause.accept(OrClause.java:28)
              at com.awnaba.projectconfigurator.jiraobjectfacades.FilterToolsImpl.normalizeQuery(FilterToolsImpl.java:136)
              at com.awnaba.projectconfigurator.jiraobjectfacades.FilterToolsImpl.getQuery(FilterToolsImpl.java:125)
              at com.awnaba.projectconfigurator.projectconfigserialize.FilterGlobalTable.insert(FilterGlobalTable.java:64)
              at com.awnaba.projectconfigurator.projectconfigserialize.FilterGlobalTable.insert(FilterGlobalTable.java:1)
              at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:26)
              at com.awnaba.projectconfigurator.projectconfigserialize.AbstractGlobalTable$1.doAndReturn(AbstractGlobalTable.java:1)
              at com.awnaba.projectconfigurator.utils.SmartErrorReporter.wrapSafely(SmartErrorReporter.java:99)
      ...
      

        Attachments

          Issue Links

            Structure

              Activity

                People

                Assignee:
                jrojo Jose Rojo [X] (Inactive)
                Reporter:
                ryoung Rodney Young
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Structure Helper Panel