public Object getReportOption(String propName, SIBusMessage coreMsg) {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "getReportOption", new Object[]{propName, coreMsg});
    Object result = null;

    if(propName.equals(ApiJmsConstants.REPORT_EXCEPTION_PROPERTY)) {
      Byte value = coreMsg.getReportException();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Byte returned from core message getReportException():" + value);
      if(value != null) {
        byte propValue = value.byteValue();
        if (propValue == byte_REPORT_NO_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_EXCEPTION);
        }
        else if (propValue == byte_REPORT_WITH_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_EXCEPTION_WITH_DATA);
        }
        else if(propValue == byte_REPORT_WITH_FULL_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_EXCEPTION_WITH_FULL_DATA);
        }
        else {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.debug(this, tc, "Unexpected property value received: "+value);
          result = null;
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_EXPIRATION_PROPERTY)) {
      Byte value = coreMsg.getReportExpiry();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Byte returned from core message getReportExpiry():" + value);
      if(value != null) {
        byte propValue = value.byteValue();
        if (propValue == byte_REPORT_NO_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_EXPIRATION);
        }
        else if (propValue == byte_REPORT_WITH_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_EXPIRATION_WITH_DATA);
        }
        else if(propValue == byte_REPORT_WITH_FULL_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_EXPIRATION_WITH_FULL_DATA);
        }
        else {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Unexpected property value received: "+value);
          result = null;
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_COA_PROPERTY)) {
      Byte value = coreMsg.getReportCOA();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Byte returned from core message getReportCOA():" + value);
      if(value != null) {
        byte propValue = value.byteValue();
        if (propValue == byte_REPORT_NO_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COA);
        }
        else if (propValue == byte_REPORT_WITH_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COA_WITH_DATA);
        }
        else if(propValue == byte_REPORT_WITH_FULL_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COA_WITH_FULL_DATA);
        }
        else {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Unexpected property value received: "+value);
          result = null;
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_COD_PROPERTY)) {
      Byte value = coreMsg.getReportCOD();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Byte returned from core message getReportCOD():" + value);
      if(value != null) {
        byte propValue = value.byteValue();
        if (propValue == byte_REPORT_NO_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COD);
        }
        else if (propValue == byte_REPORT_WITH_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COD_WITH_DATA);
        }
        else if(propValue == byte_REPORT_WITH_FULL_DATA) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COD_WITH_FULL_DATA);
        }
        else {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Unexpected property value received: "+value);
          result = null;
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_PAN_PROPERTY)) {
      Boolean value = coreMsg.getReportPAN();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Boolean returned from core message getReportPAN():" + value);
      if(value != null) {
        boolean propValue = value.booleanValue();
        if (propValue) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_PAN);
        }
        else {
          result = Integer.valueOf(ApiJmsConstants.MQRO_NONE);
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_NAN_PROPERTY)) {
      Boolean value = coreMsg.getReportNAN();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Boolean returned from core message getReportNAN():" + value);
      if(value != null) {
        boolean propValue = value.booleanValue();
        if (propValue) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_NAN);
        }
        else {
          result = Integer.valueOf(ApiJmsConstants.MQRO_NONE);
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_MSGID_PROPERTY)) {
      Boolean value = coreMsg.getReportPassMsgId();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Boolean returned from core message getReportPassMsgId():" + value);
      if(value != null) {
        boolean propValue = value.booleanValue();
        if (propValue) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_PASS_MSG_ID);
        }
        else {
          result = Integer.valueOf(ApiJmsConstants.MQRO_NEW_MSG_ID);
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_CORRELID_PROPERTY)) {
      Boolean value = coreMsg.getReportPassCorrelId();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Boolean returned from core message getReportPassCorrelId():" + value);
      if(value != null) {
        boolean propValue = value.booleanValue();
        if (propValue) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_PASS_CORREL_ID);
        }
        else {
          result = Integer.valueOf(ApiJmsConstants.MQRO_COPY_MSG_ID_TO_CORREL_ID);
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.REPORT_DISCARD_PROPERTY)) {
      Boolean value = coreMsg.getReportDiscardMsg();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Boolean returned from core message getReportDiscardMsg():" + value);
      if(value != null) {
        boolean propValue = value.booleanValue();
        if (propValue) {
          result = Integer.valueOf(ApiJmsConstants.MQRO_DISCARD_MSG);
        }
        else {
          result = Integer.valueOf(ApiJmsConstants.MQRO_NONE);
        }
      }
    }

    else if(propName.equals(ApiJmsConstants.FEEDBACK_PROPERTY)) {
      Integer value = coreMsg.getReportFeedback();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Byte returned from core message getReportFeedback():" + value);
      if(value != null) {
        // Need to initialise the sharedUtils?
        if (utils == null) {
          try {
            utils = JmsInternalsFactory.getSharedUtils();
          } catch (JMSException e) {
            // No FFDC code needed
            FFDCFilter.processException(e,"com.ibm.ws.sib.api.jms.impl.ReportMessageConverter","getReportOption#1"
                                       ,new Object[] {propName, coreMsg});
            return null; // Since we are unable to convert the value (consistent
                         // with original failure mode,
            //   but I think I would prefer to throw an exception).
          }
        }
        result = utils.convertJSFeedbackToMQ(value.intValue());
      }
    }

    else if(propName.equals(ApiJmsConstants.MSG_TYPE_PROPERTY)) {
//    TODO Support JMS_IBM_MsgType properly - d256740
      Integer value = coreMsg.getReportFeedback();
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Value returned from core message getReportFeedback():" + value);
      if(value != null) {
        int propValue = value.intValue();
        if(propValue != ApiJmsConstants.MQFB_NONE) {
          result = Integer.valueOf(ApiJmsConstants.MQMT_REPORT);
        }
        else {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.debug(this, tc, "byte returned from getReportFeedback() is not one of the expected values");
          result = null;
        }
      }
    }

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "getReportOption",  result);
    return result;
  }
public Object getReportOption ( String propName , SIBusMessage coreMsg ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "getReportOption" , new Object [ ] { propName , coreMsg } ) ; Object result = null ; if ( propName . equals ( ApiJmsConstants . REPORT_EXCEPTION_PROPERTY ) ) { Byte value = coreMsg . getReportException ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Byte returned from core message getReportException():" + value ) ; if ( value != null ) { byte propValue = value . byteValue ( ) ; if ( propValue == byte_REPORT_NO_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_EXCEPTION ) ; } else if ( propValue == byte_REPORT_WITH_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_EXCEPTION_WITH_DATA ) ; } else if ( propValue == byte_REPORT_WITH_FULL_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_EXCEPTION_WITH_FULL_DATA ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . debug ( this , tc , "Unexpected property value received: " + value ) ; result = null ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_EXPIRATION_PROPERTY ) ) { Byte value = coreMsg . getReportExpiry ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Byte returned from core message getReportExpiry():" + value ) ; if ( value != null ) { byte propValue = value . byteValue ( ) ; if ( propValue == byte_REPORT_NO_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_EXPIRATION ) ; } else if ( propValue == byte_REPORT_WITH_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_EXPIRATION_WITH_DATA ) ; } else if ( propValue == byte_REPORT_WITH_FULL_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_EXPIRATION_WITH_FULL_DATA ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Unexpected property value received: " + value ) ; result = null ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_COA_PROPERTY ) ) { Byte value = coreMsg . getReportCOA ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Byte returned from core message getReportCOA():" + value ) ; if ( value != null ) { byte propValue = value . byteValue ( ) ; if ( propValue == byte_REPORT_NO_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_COA ) ; } else if ( propValue == byte_REPORT_WITH_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_COA_WITH_DATA ) ; } else if ( propValue == byte_REPORT_WITH_FULL_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_COA_WITH_FULL_DATA ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Unexpected property value received: " + value ) ; result = null ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_COD_PROPERTY ) ) { Byte value = coreMsg . getReportCOD ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Byte returned from core message getReportCOD():" + value ) ; if ( value != null ) { byte propValue = value . byteValue ( ) ; if ( propValue == byte_REPORT_NO_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_COD ) ; } else if ( propValue == byte_REPORT_WITH_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_COD_WITH_DATA ) ; } else if ( propValue == byte_REPORT_WITH_FULL_DATA ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_COD_WITH_FULL_DATA ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Unexpected property value received: " + value ) ; result = null ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_PAN_PROPERTY ) ) { Boolean value = coreMsg . getReportPAN ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Boolean returned from core message getReportPAN():" + value ) ; if ( value != null ) { boolean propValue = value . booleanValue ( ) ; if ( propValue ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_PAN ) ; } else { result = Integer . valueOf ( ApiJmsConstants . MQRO_NONE ) ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_NAN_PROPERTY ) ) { Boolean value = coreMsg . getReportNAN ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Boolean returned from core message getReportNAN():" + value ) ; if ( value != null ) { boolean propValue = value . booleanValue ( ) ; if ( propValue ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_NAN ) ; } else { result = Integer . valueOf ( ApiJmsConstants . MQRO_NONE ) ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_MSGID_PROPERTY ) ) { Boolean value = coreMsg . getReportPassMsgId ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Boolean returned from core message getReportPassMsgId():" + value ) ; if ( value != null ) { boolean propValue = value . booleanValue ( ) ; if ( propValue ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_PASS_MSG_ID ) ; } else { result = Integer . valueOf ( ApiJmsConstants . MQRO_NEW_MSG_ID ) ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_CORRELID_PROPERTY ) ) { Boolean value = coreMsg . getReportPassCorrelId ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Boolean returned from core message getReportPassCorrelId():" + value ) ; if ( value != null ) { boolean propValue = value . booleanValue ( ) ; if ( propValue ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_PASS_CORREL_ID ) ; } else { result = Integer . valueOf ( ApiJmsConstants . MQRO_COPY_MSG_ID_TO_CORREL_ID ) ; } } } else if ( propName . equals ( ApiJmsConstants . REPORT_DISCARD_PROPERTY ) ) { Boolean value = coreMsg . getReportDiscardMsg ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Boolean returned from core message getReportDiscardMsg():" + value ) ; if ( value != null ) { boolean propValue = value . booleanValue ( ) ; if ( propValue ) { result = Integer . valueOf ( ApiJmsConstants . MQRO_DISCARD_MSG ) ; } else { result = Integer . valueOf ( ApiJmsConstants . MQRO_NONE ) ; } } } else if ( propName . equals ( ApiJmsConstants . FEEDBACK_PROPERTY ) ) { Integer value = coreMsg . getReportFeedback ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Byte returned from core message getReportFeedback():" + value ) ; if ( value != null ) { if ( utils == null ) { try { utils = JmsInternalsFactory . getSharedUtils ( ) ; } catch ( JMSException e ) { FFDCFilter . processException ( e , "com.ibm.ws.sib.api.jms.impl.ReportMessageConverter" , "getReportOption#1" , new Object [ ] { propName , coreMsg } ) ; return null ; } } result = utils . convertJSFeedbackToMQ ( value . intValue ( ) ) ; } } else if ( propName . equals ( ApiJmsConstants . MSG_TYPE_PROPERTY ) ) { Integer value = coreMsg . getReportFeedback ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Value returned from core message getReportFeedback():" + value ) ; if ( value != null ) { int propValue = value . intValue ( ) ; if ( propValue != ApiJmsConstants . MQFB_NONE ) { result = Integer . valueOf ( ApiJmsConstants . MQMT_REPORT ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . debug ( this , tc , "byte returned from getReportFeedback() is not one of the expected values" ) ; result = null ; } } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "getReportOption" , result ) ; return result ; }
Given a Report Message property, this method performs a conversion between
the MQC and MFP constants and then returns the object result.

@param propName Name of property to convert
@param coreMsg The message on which to perform the conversion
@return Object