Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-444

a couple of issues related to migration tool

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 6.2.0
    • 6.1.0
    • Migration Tool
    • None

      When running the migration tool shipped by BPMS 6.1 against repository generated by BRMS 5.2, a couple of issues occur:

      1) SimpleDate format issue:
      In 5.2, any rule that uses a java.util.Date produces the following line in the .rdrl file:
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MMM-yyyy");

      During migration, however, the line is transformed to an invalid form that will throw exceptions at runtime:
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("null");

      If I save the file via the 6.1 UI, the SimpleDateFormat line no longer exists in the rule. Since we have over a hundred projects, that is not necessarily a valid option.

      2) Disabled rules in 5.2 are included in compilation in 6.1 - Example:
      gov.hhs.cms.ffe.rules.ee.eligibilitydetermination.aptceligibility - BTW100And400FPL_ESCOrNonESI

      This rule was disabled in 5.2(see attached screenshot) but again is available after running the migration tool.

      3) Several migrated rule packages are empty:
      gov.hhs.cms.ffe.rules.ee.eligibilitydetermination.medicaidchipmagieligibility.titleiiworkquartersapplicantspouseparents
      gov.hhs.cms.ffe.rules.ee.eligibilitydetermination.medicaidchipmagieligibility.setparentorcaretakercategory
      gov.hhs.cms.ffe.rules.ee.processescmecverification.evaluateattesteddata.esccompatibilitycheck
      gov.hhs.cms.ffe.rules.ee.eligibilitydetermination.medicaidchipmagieligibility.unbornchildcategory
      gov.hhs.cms.ffe.rules.ee.householdincome.verifyannualincomeforaptc
      gov.hhs.cms.ffe.rules.ee.householdincome.verifyincomeformedicaid
      gov.hhs.cms.ffe.rules.ee.householdincome.determineexitexpeditedincomequalifier.verifytaxandmedicaidhouseholdsize

      I can see some errors related to parsing this package:

      [Fatal Error] 8eebc1f1-36f9-44eb-9fee-b2cd3b6a18c5.xml:575:104: The value of attribute "name" associated with an element type "null" must not contain the '<' character.
      org.xml.sax.SAXParseException; systemId: file:/home/ghu/java/jboss/bpms/6.1.0.GA/jboss-brms-bpmsuite-6.1.0.GA-redhat-2-migration-tool/bin/tmp-jcr2vfs/8eebc1f1-36f9-44eb-9fee-b2cd3b6a18c5.xml; lineNumber: 575; columnNumber: 104; The value of attribute "name" associated with an element type "null" must not contain the '<' character.
      at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)

      8eebc1f1-36f9-44eb-9fee-b2cd3b6a18c5.xml:
      Here is the line 575:
      ***************************************************************************************
      ]]></textContent><history><assets></assets></history></asset><asset name="datePersonCouldStartCoverage <= proposedOEPCoverageEffectiveDate when F or G" type="brl" lastContrib="admin" lastModif="1411398799952"><comment><![CDATA[unarchived]]></comment><content><![CDATA[rule "datePersonCouldStartCoverage <= proposedOEPCoverageEffectiveDate when F or G"
      ***************************************************************************************
      dialect "mvel"
      when
      applicant : ApplicantEscMecVerificationVO( memberId != null , offerings : currentOfferings != null , coverageStartDate != null )
      forall(AttestedOfferingBenefitDataVO(isEnrolled != "Y") from offerings)
      applicantResponse : ApplicantEscMecVerificationResponseVO( memberId == applicant.memberId , edsEscStatusIndicator == "F" || == "G" , attestedOfferedCoverage == "Y" , offeringsResponse : attestedOfferingBenefitDataResponse != null , proposedOEPCoverageEffectiveDate != null && >= applicant.coverageStartDate )
      offeringResponse : AttestedOfferingBenefitDataResponseVO( escMECIndicator != "N" , currentQualifyingCoverageVerification != null , currentQualifyingCoverageVerification.hasAffordableMVESCIndicator == "Y") from offeringsResponse
      then
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("null");
      applicantResponse.setApplicantESCStatusIndicator( "Y" );
      applicantResponse.setApplicantESCStatusDeterminationDate( new Date() );
      applicantResponse.setApplicantESCStatusInconsistencyReason( "999" );
      applicantResponse.setApplicantESCSamplingApplies( "Y" );
      end

      The parsing errors start throwing when the rule contains:
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("null");
      Therefore, I think this might be related to the issue #1.

            jschatte@redhat.com Jan Schatteman
            rhn-support-ghu Gary Hu
            Marek Winkler Marek Winkler (Inactive)
            Marek Winkler Marek Winkler (Inactive)
            Andrea Hoffer, Petr Široký, Tibor Zimányi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: