All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ccsds.moims.mo.platform.autonomousadcs.provider.AutonomousADCSDelegationSkeleton Maven / Gradle / Ivy

package org.ccsds.moims.mo.platform.autonomousadcs.provider;

/**
 * Provider Delegation skeleton for AutonomousADCSDelegationSkeleton service.
 */
public class AutonomousADCSDelegationSkeleton implements org.ccsds.moims.mo.mal.provider.MALInteractionHandler, org.ccsds.moims.mo.platform.autonomousadcs.provider.AutonomousADCSSkeleton
{
  private org.ccsds.moims.mo.mal.provider.MALProviderSet providerSet = new org.ccsds.moims.mo.mal.provider.MALProviderSet(org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper.AUTONOMOUSADCS_SERVICE);
  private org.ccsds.moims.mo.platform.autonomousadcs.provider.AutonomousADCSHandler delegate;
  /**
   * Creates a delegation skeleton using the supplied delegate.
   * @param delegate delegate The interaction handler used for delegation.
   */
  public AutonomousADCSDelegationSkeleton(org.ccsds.moims.mo.platform.autonomousadcs.provider.AutonomousADCSHandler delegate)
  {
    this.delegate = delegate;
    delegate.setSkeleton(this);
  }

  /**
   * Adds the supplied MAL provider to the internal list of providers used for PubSub.
   * @param provider provider The provider to add.
   * @throws org.ccsds.moims.mo.mal.MALException If an error is detected.
   */
  public void malInitialize(org.ccsds.moims.mo.mal.provider.MALProvider provider) throws org.ccsds.moims.mo.mal.MALException
  {
    providerSet.addProvider(provider);
  }

  /**
   * Removes the supplied MAL provider from the internal list of providers used for PubSub.
   * @param provider provider The provider to add.
   * @throws org.ccsds.moims.mo.mal.MALException If an error is detected.
   */
  public void malFinalize(org.ccsds.moims.mo.mal.provider.MALProvider provider) throws org.ccsds.moims.mo.mal.MALException
  {
    providerSet.removeProvider(provider);
  }

  /**
   * Creates a publisher object using the current registered provider set for the PubSub operation monitorAttitude.
   * @param domain domain the domain used for publishing.
   * @param networkZone networkZone the network zone used for publishing.
   * @param sessionType sessionType the session used for publishing.
   * @param sessionName sessionName the session name used for publishing.
   * @param qos qos the QoS used for publishing.
   * @param qosProps qosProps the QoS properties used for publishing.
   * @param priority priority the priority used for publishing.
   * @return The new publisher object.
   * @throws org.ccsds.moims.mo.mal.MALException if a problem is detected during creation of the publisher.
   */
  public org.ccsds.moims.mo.platform.autonomousadcs.provider.MonitorAttitudePublisher createMonitorAttitudePublisher(org.ccsds.moims.mo.mal.structures.IdentifierList domain, org.ccsds.moims.mo.mal.structures.Identifier networkZone, org.ccsds.moims.mo.mal.structures.SessionType sessionType, org.ccsds.moims.mo.mal.structures.Identifier sessionName, org.ccsds.moims.mo.mal.structures.QoSLevel qos, java.util.Map qosProps, org.ccsds.moims.mo.mal.structures.UInteger priority) throws org.ccsds.moims.mo.mal.MALException
  {
    return new org.ccsds.moims.mo.platform.autonomousadcs.provider.MonitorAttitudePublisher(providerSet.createPublisherSet(org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper.MONITORATTITUDE_OP, domain, networkZone, sessionType, sessionName, qos, qosProps, priority));
  }

  /**
   * Called by the provider MAL layer on reception of a message to handle the interaction.
   * @param interaction interaction the interaction object.
   * @param body body the message body.
   * @throws org.ccsds.moims.mo.mal.MALException if there is a internal error.
   * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a operation interaction error.
   */
  public void handleSend(org.ccsds.moims.mo.mal.provider.MALInteraction interaction, org.ccsds.moims.mo.mal.transport.MALMessageBody body) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException
  {
    switch (interaction.getOperation().getNumber().getValue())
    {
      default:
        throw new org.ccsds.moims.mo.mal.MALInteractionException(new org.ccsds.moims.mo.mal.MALStandardError(org.ccsds.moims.mo.mal.MALHelper.UNSUPPORTED_OPERATION_ERROR_NUMBER, new org.ccsds.moims.mo.mal.structures.Union("Unknown operation")));
    }
  }

  /**
   * Called by the provider MAL layer on reception of a message to handle the interaction.
   * @param interaction interaction the interaction object.
   * @param body body the message body.
   * @throws org.ccsds.moims.mo.mal.MALException if there is a internal error.
   * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a operation interaction error.
   */
  public void handleSubmit(org.ccsds.moims.mo.mal.provider.MALSubmit interaction, org.ccsds.moims.mo.mal.transport.MALMessageBody body) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException
  {
    switch (interaction.getOperation().getNumber().getValue())
    {
      case org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper._SETDESIREDATTITUDE_OP_NUMBER:
        delegate.setDesiredAttitude((body.getBodyElement(0, new org.ccsds.moims.mo.mal.structures.Union(Long.MAX_VALUE)) == null) ? null : ((org.ccsds.moims.mo.mal.structures.Union) body.getBodyElement(0, new org.ccsds.moims.mo.mal.structures.Union(Long.MAX_VALUE))).getLongValue(), (org.ccsds.moims.mo.mal.structures.Duration) body.getBodyElement(1, new org.ccsds.moims.mo.mal.structures.Duration()), (org.ccsds.moims.mo.mal.structures.Duration) body.getBodyElement(2, new org.ccsds.moims.mo.mal.structures.Duration()), interaction);
        interaction.sendAcknowledgement();
        break;
      case org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper._UNSETATTITUDE_OP_NUMBER:
        delegate.unsetAttitude(interaction);
        interaction.sendAcknowledgement();
        break;
      case org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper._REMOVEATTITUDEDEFINITION_OP_NUMBER:
        delegate.removeAttitudeDefinition((org.ccsds.moims.mo.mal.structures.LongList) body.getBodyElement(0, new org.ccsds.moims.mo.mal.structures.LongList()), interaction);
        interaction.sendAcknowledgement();
        break;
      default:
        interaction.sendError(new org.ccsds.moims.mo.mal.MALStandardError(org.ccsds.moims.mo.mal.MALHelper.UNSUPPORTED_OPERATION_ERROR_NUMBER, new org.ccsds.moims.mo.mal.structures.Union("Unknown operation")));
    }
  }

  /**
   * Called by the provider MAL layer on reception of a message to handle the interaction.
   * @param interaction interaction the interaction object.
   * @param body body the message body.
   * @throws org.ccsds.moims.mo.mal.MALException if there is a internal error.
   * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a operation interaction error.
   */
  public void handleRequest(org.ccsds.moims.mo.mal.provider.MALRequest interaction, org.ccsds.moims.mo.mal.transport.MALMessageBody body) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException
  {
    switch (interaction.getOperation().getNumber().getValue())
    {
      case org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper._LISTATTITUDEDEFINITION_OP_NUMBER:
        interaction.sendResponse(delegate.listAttitudeDefinition((org.ccsds.moims.mo.mal.structures.IdentifierList) body.getBodyElement(0, new org.ccsds.moims.mo.mal.structures.IdentifierList()), interaction));
        break;
      case org.ccsds.moims.mo.platform.autonomousadcs.AutonomousADCSHelper._ADDATTITUDEDEFINITION_OP_NUMBER:
        interaction.sendResponse(delegate.addAttitudeDefinition((org.ccsds.moims.mo.platform.autonomousadcs.structures.AttitudeDefinitionList) body.getBodyElement(0, null), interaction));
        break;
      default:
        interaction.sendError(new org.ccsds.moims.mo.mal.MALStandardError(org.ccsds.moims.mo.mal.MALHelper.UNSUPPORTED_OPERATION_ERROR_NUMBER, new org.ccsds.moims.mo.mal.structures.Union("Unknown operation")));
    }
  }

  /**
   * Called by the provider MAL layer on reception of a message to handle the interaction.
   * @param interaction interaction the interaction object.
   * @param body body the message body.
   * @throws org.ccsds.moims.mo.mal.MALException if there is a internal error.
   * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a operation interaction error.
   */
  public void handleInvoke(org.ccsds.moims.mo.mal.provider.MALInvoke interaction, org.ccsds.moims.mo.mal.transport.MALMessageBody body) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException
  {
    switch (interaction.getOperation().getNumber().getValue())
    {
      default:
        interaction.sendError(new org.ccsds.moims.mo.mal.MALStandardError(org.ccsds.moims.mo.mal.MALHelper.UNSUPPORTED_OPERATION_ERROR_NUMBER, new org.ccsds.moims.mo.mal.structures.Union("Unknown operation")));
    }
  }

  /**
   * Called by the provider MAL layer on reception of a message to handle the interaction.
   * @param interaction interaction the interaction object.
   * @param body body the message body.
   * @throws org.ccsds.moims.mo.mal.MALException if there is a internal error.
   * @throws org.ccsds.moims.mo.mal.MALInteractionException if there is a operation interaction error.
   */
  public void handleProgress(org.ccsds.moims.mo.mal.provider.MALProgress interaction, org.ccsds.moims.mo.mal.transport.MALMessageBody body) throws org.ccsds.moims.mo.mal.MALInteractionException, org.ccsds.moims.mo.mal.MALException
  {
    switch (interaction.getOperation().getNumber().getValue())
    {
      default:
        interaction.sendError(new org.ccsds.moims.mo.mal.MALStandardError(org.ccsds.moims.mo.mal.MALHelper.UNSUPPORTED_OPERATION_ERROR_NUMBER, new org.ccsds.moims.mo.mal.structures.Union("Unknown operation")));
    }
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy