/** * Constructor. * * @param lastInteractionStage Last seen interaction stage. * @param responseHolder The response holder. */ public InvokeOperationHandler(final UOctet lastInteractionStage, final OperationResponseHolder responseHolder) { super(false, responseHolder); final int interactionStage = lastInteractionStage.getValue(); if (interactionStage == MALInvokeOperation._INVOKE_ACK_STAGE) { receivedAck = true; } }
/** * Constructor. * * @param lastInteractionStage Last seen interaction stage. * @param responseHolder The response holder. */ public ProgressOperationHandler(final UOctet lastInteractionStage, final OperationResponseHolder responseHolder) { super(false, responseHolder); final int interactionStage = lastInteractionStage.getValue(); if ((interactionStage == MALProgressOperation._PROGRESS_ACK_STAGE) || (interactionStage == MALProgressOperation._PROGRESS_UPDATE_STAGE)) { receivedAck = true; } }
private boolean isParameterValueValid(ParameterValue pVal, boolean usingRaw) { // "Is VALID or using raw and INVALID_CONVERSION?" if (pVal.getValidityState().getValue() == 0) { // VALID return true; } if (usingRaw && pVal.getValidityState().getValue() == 3) { // Using raw and INVALID_CONVERSION return true; } return false; }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
/** * Decodes the value of this object using the provided MALDecoder. * @param decoder decoder - the decoder to use for decoding. * @return Returns this object. * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are detected. */ public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException { return fromOrdinal(decoder.decodeUOctet().getValue()); }
private static Long objectType2Mask(final ObjectType objType) { long areaVal = (objType.getArea().getValue() == 0) ? (long) 0 : (long) 0xFFFF; long serviceVal = (objType.getService().getValue() == 0) ? (long) 0 : (long) 0xFFFF; long versionVal = (objType.getVersion().getValue() == 0) ? (long) 0 : (long) 0xFF; long numberVal = (objType.getNumber().getValue() == 0) ? (long) 0 : (long) 0xFFFF; return (new Long(areaVal << 48) | new Long(serviceVal << 32) | new Long(versionVal << 24) | new Long(numberVal)); }
@Override public void encodeUOctet(final UOctet value) throws MALException { try { checkForNull(value); outputStream.addUnsignedShort8(value.getValue()); } catch (IOException ex) { throw new MALException(ENCODING_EXCEPTION_STR, ex); } }
@Override public void encodeUOctet(final UOctet value) throws MALException { try { checkForNull(value); outputStream.addUnsignedShort8(value.getValue()); } catch (IOException ex) { throw new MALException(ENCODING_EXCEPTION_STR, ex); } }
static GENMessageHeader createReturnHeader(MALMessage sourceMessage, boolean isError) { return createReturnHeader(sourceMessage, isError, (short) (sourceMessage.getHeader().getInteractionStage().getValue() + 1)); }
/** * Finds the service name from the area, areaVersion and service numbers * * @param area Area of the service * @param areaVersion Area version of the service * @param service Service number * @return The name of the service * @throws org.ccsds.moims.mo.mal.MALException The area/service is Unknown */ public static String serviceKey2name(UShort area, UOctet areaVersion, UShort service) throws MALException { MALArea malArea = MALContextFactory.lookupArea(area, areaVersion); if (malArea == null) { throw new MALException("(" + area.getValue() + "," + areaVersion.getValue() + "," + service.getValue() + ") " + "Unknown area to the MAL! Maybe the API was not initialized."); } MALService malSer = malArea.getServiceByNumber(service); if (malSer == null) { throw new MALException("(" + area.getValue() + "," + areaVersion.getValue() + "," + service.getValue() + ") " + "Unknown service to the MAL! Maybe the API was not initialized."); } return malSer.getName().toString(); }
public static Boolean objectTypeContainsWildcard(final ObjectType objType) { return (objType.getArea().getValue() == 0 || objType.getService().getValue() == 0 || objType.getVersion().getValue() == 0 || objType.getNumber().getValue() == 0); }
/** * Generate a sub key from an ObjectType, optionally including the object * number. * * @param objectType * @param includeObjectNumber * @return */ static public Long generateSubKey(ObjectType objectType, boolean includeObjectNumber) { return generateSubKey(objectType.getArea().getValue(), objectType.getService().getValue(), objectType.getVersion().getValue(), includeObjectNumber ? objectType.getNumber().getValue() : 0); }
/** * Generates a Long subkey from the ObjectType object object number * * @param objectType Object type object * @return Subkey */ public static Long generateSubKey(ObjectType objectType) { if (objectType == null) { return null; } long areaVal = (long) objectType.getArea().getValue(); long serviceVal = (long) objectType.getService().getValue(); long versionVal = (long) objectType.getVersion().getValue(); long numberVal = (long) objectType.getNumber().getValue(); return (numberVal | (versionVal << 24) | (serviceVal << 32) | (areaVal << 48)); }
@Override public synchronized MessageHandlerDetails handleStage(final MALMessage msg) throws MALInteractionException { if (!receivedInitialStage) { if ((interactionType == msg.getHeader().getInteractionType().getOrdinal()) && checkStage(msg.getHeader().getInteractionStage().getValue())) { receivedInitialStage = true; return new MessageHandlerDetails(true, msg); } else { logUnexpectedTransitionError(msg.getHeader().getInteractionType().getOrdinal(), msg.getHeader().getInteractionStage().getValue()); return new MessageHandlerDetails(false, msg, MALHelper.INCORRECT_STATE_ERROR_NUMBER); } } else { logUnexpectedTransitionError(interactionType, interactionStage); return new MessageHandlerDetails(false, msg, MALHelper.INCORRECT_STATE_ERROR_NUMBER); } }
@Override protected void informListener(final MALMessage msg) throws MALException { if (msg.getHeader().getIsErrorMessage()) { responseHolder.getListener().registerErrorReceived(msg.getHeader(), (MALErrorBody) msg.getBody(), msg.getQoSProperties()); } else if ((MALPubSubOperation._PUBLISH_REGISTER_ACK_STAGE == msg.getHeader().getInteractionStage().getValue()) || (MALPubSubOperation._REGISTER_ACK_STAGE == msg.getHeader().getInteractionStage().getValue())) { responseHolder.getListener().registerAckReceived(msg.getHeader(), msg.getQoSProperties()); } else { responseHolder.getListener().deregisterAckReceived(msg.getHeader(), msg.getQoSProperties()); } } }