Package org.serviceconnector.service

Examples of org.serviceconnector.service.Service


            }
            writer.writeEndElement();
            continue;
          }
          if (value instanceof Service) {
            Service service = (Service) value;
            writer.writeStartElement("service");
            writer.writeStartElement("name");
            writer.writeCData(service.getName());
            writer.writeEndElement();
            writer.writeEndElement();
            continue;
          }
          if (value instanceof Server) {
View Full Code Here


      }
    }
    String serviceParameter = request.getParameter("service");
    if (serviceParameter != null) {
      ServiceRegistry serviceRegistry = AppContext.getServiceRegistry();
      Service service = serviceRegistry.getService(serviceParameter);
      if (service != null) {
        writer.writeStartElement("service");
        if (service instanceof IPublishService) {
          IPublishService publishService = (IPublishService) service;
          PublishMessageQueue<SCMPMessage> publishMessageQueue = publishService.getMessageQueue();
View Full Code Here

    Paging paging = this.writePagingAttributes(writer, request, services.length, "");
    // String showSessionsParameter = request.getParameter("showsessions");
    int startIndex = paging.getStartIndex();
    int endIndex = paging.getEndIndex();
    for (int i = startIndex; i < endIndex; i++) {
      Service service = services[i];
      writer.writeStartElement("service");
      this.writeBean(writer, service);
      if (service instanceof IPublishService) {
        IPublishService publishService = (IPublishService) service;
        PublishMessageQueue<SCMPMessage> publishMessageQueue = publishService.getMessageQueue();
        writer.writeStartElement("publishMessageQueueSize");
        writer.writeCData(String.valueOf(publishMessageQueue.getTotalSize() + simulation));
        writer.writeEndElement(); // end of publishMessageQueueSize
        writer.writeStartElement("publishMessageQueueReferencedNodeCount");
        writer.writeCData(String.valueOf(publishMessageQueue.getReferencedNodesCount() + simulation));
        writer.writeEndElement(); // end of publishMessageQueueReferencedNodeCount
      }
      if (service.getName().equals(serviceParameter)) {
        // take a look into
        writer.writeStartElement("details");
        if (service instanceof StatefulService) {
          List<StatefulServer> serverList = ((StatefulService) service).getServerList();
          writer.writeStartElement("servers");
View Full Code Here

  public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
    SCMPMessage reqMessage = request.getMessage();
    int oti = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);
    String serviceName = reqMessage.getServiceName();
    // check service is present
    Service abstractService = this.getService(serviceName);
    String sessionId = reqMessage.getSessionId();

    switch (abstractService.getType()) {
    case CASCADED_SESSION_SERVICE:
      // clears message in cache if in loading state
      AppContext.getSCCache().clearLoading(sessionId);
      CascadedSC cascadedSC = ((CascadedSessionService) abstractService).getCascadedSC();
      CommandCascCallback callback = new CommandCascCallback(request, response, responderCallback);
      cascadedSC.deleteSession(reqMessage, callback, oti);
      return;
    case CASCADED_FILE_SERVICE:
      cascadedSC = ((CascadedFileService) abstractService).getCascadedSC();
      callback = new CommandCascCallback(request, response, responderCallback);
      cascadedSC.deleteSession(reqMessage, callback, oti);
      return;
    default:
      // code for other types of services is below
      break;
    }

    // lookup session and checks properness
    Session session = this.getSessionById(sessionId);
    synchronized (session) {
      session.setPendingRequest(true); // IMPORTANT - set true because of parallel echo call
      // delete entry from session registry
      this.sessionRegistry.removeSession(session);
    }

    IServer abstractServer = session.getServer();

    switch (abstractServer.getType()) {
    case STATEFUL_SERVER:
      // code for type session service is below switch statement
      break;
    case FILE_SERVER:
      ((FileServer) abstractServer).removeSession(session);
      // reply to client - SCMP Version request
      SCMPMessage reply = new SCMPMessage(reqMessage.getSCMPVersion());
      reply.setIsReply(true);
      reply.setMessageType(getKey());
      response.setSCMP(reply);
      responderCallback.responseCallback(request, response);
      return;
    case CASCADED_SC:
    case UNDEFINED:
    default:
      throw new SCMPCommandException(SCMPError.SC_ERROR, "delete session not allowed for service "
          + abstractService.getName());
    }
    StatefulServer statefulServer = (StatefulServer) abstractServer;
    DeleteSessionCommandCallback callback;
    // free server from session
    statefulServer.removeSession(session);
View Full Code Here

  public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
    SCMPMessage reqMessage = request.getMessage();
    String serviceName = reqMessage.getServiceName();

    // check service is present and enabled
    Service abstractService = this.getService(serviceName);
    if (abstractService.isEnabled() == false) {
      SCMPCommandException scmpCommandException = new SCMPCommandException(SCMPError.SERVICE_DISABLED, "service="
          + abstractService.getName() + " is disabled");
      scmpCommandException.setMessageType(getKey());
      throw scmpCommandException;
    }

    // enhance ipAddressList
    String ipAddressList = reqMessage.getHeader(SCMPHeaderAttributeKey.IP_ADDRESS_LIST);
    ipAddressList = ipAddressList + Constants.SLASH + request.getRemoteSocketAddress().getAddress().getHostAddress();
    reqMessage.setHeader(SCMPHeaderAttributeKey.IP_ADDRESS_LIST, ipAddressList);
    int oti = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);

    String mask = reqMessage.getHeader(SCMPHeaderAttributeKey.MASK);
    SubscriptionMask subscriptionMask = new SubscriptionMask(mask);
    String sessionInfo = reqMessage.getHeader(SCMPHeaderAttributeKey.SESSION_INFO);
    int noiInSecs = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.NO_DATA_INTERVAL);
    int noiInMillis = noiInSecs * Constants.SEC_TO_MILLISEC_FACTOR;
    // create temporary subscription
    Subscription tmpSubscription = new Subscription(subscriptionMask, sessionInfo, ipAddressList, noiInMillis, AppContext
        .getBasicConfiguration().getSubscriptionTimeoutMillis(), false);
    tmpSubscription.setService(abstractService);
    reqMessage.setSessionId(tmpSubscription.getId());

    switch (abstractService.getType()) {
    case CASCADED_PUBLISH_SERVICE:
    case CASCADED_CACHE_GUARDIAN:
      // publish service is cascaded
      CascadedPublishService cascadedPublishService = (CascadedPublishService) abstractService;
      CascadedSC cascadedSC = cascadedPublishService.getCascadedSC();
View Full Code Here

  @Override
  public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
    SCMPMessage message = request.getMessage();
    String serviceName = message.getServiceName();
    // check service is present
    Service abstractService = this.getService(serviceName);
    int oti = message.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);

    switch (abstractService.getType()) {
    case CASCADED_FILE_SERVICE:
      CascadedSC cascadedSC = ((CascadedFileService) abstractService).getCascadedSC();
      CommandCascCallback callback = new CommandCascCallback(request, response, responderCallback);
      cascadedSC.serverDownloadFile(message, callback, oti);
      return;
View Full Code Here

  public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
    SCMPMessage reqMessage = request.getMessage();
    String serviceName = reqMessage.getServiceName();
    int oti = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);
    // check service is present
    Service abstractService = this.getService(serviceName);

    SCCache cache = AppContext.getSCCache();

    switch (abstractService.getType()) {
    case CASCADED_SESSION_SERVICE:
      if (cache.isCacheEnabled()) {
        // try to load response from cache
        SCMPMessage message = cache.tryGetMessageFromCacheOrLoad(reqMessage);
        if (message != null) {
View Full Code Here

  private void executeCascadedService(IRequest request, IResponse response, IResponderCallback responderCallback)
      throws Exception {
    SCMPMessage reqMessage = request.getMessage();
    String serviceName = reqMessage.getServiceName();
    int oti = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);
    Service abstractService = this.getService(serviceName);
    CascadedSC cascadedSC = ((CascadedSessionService) abstractService).getCascadedSC();
    ClnExecuteCommandCascCallback callback = new ClnExecuteCommandCascCallback(request, response, responderCallback);
    cascadedSC.execute(reqMessage, callback, oti);
    return;
  }
View Full Code Here

  public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
    SCMPMessage reqMessage = request.getMessage();
    String serviceName = reqMessage.getServiceName();

    // check service is present
    Service abstractService = this.getService(serviceName);
    String cascSubscriptionId = reqMessage.getHeader(SCMPHeaderAttributeKey.CASCADED_SUBSCRIPTION_ID);
    Subscription cascSubscription = this.getSubscriptionById(cascSubscriptionId);
    String cascadedSCMask = reqMessage.getHeader(SCMPHeaderAttributeKey.CASCADED_MASK);
    int oti = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);
    PublishMessageQueue<SCMPMessage> publishMessageQueue = ((IPublishService) cascSubscription.getService()).getMessageQueue();

    // update csc subscription id list for cascaded subscription
    cascSubscription.removeCscSubscriptionId(reqMessage.getSessionId());

    switch (abstractService.getType()) {
    case CASCADED_PUBLISH_SERVICE:
    case CASCADED_CACHE_GUARDIAN:
      CascadedPublishService cascadedPublishService = (CascadedPublishService) abstractService;
      // publish service is cascaded
      CascadedSC cascadedSC = cascadedPublishService.getCascadedSC();
View Full Code Here

  public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
    SCMPMessage reqMessage = request.getMessage();
    int oti = reqMessage.getHeaderInt(SCMPHeaderAttributeKey.OPERATION_TIMEOUT);
    String serviceName = reqMessage.getServiceName();
    // check service is present
    Service abstractService = this.getService(serviceName);
    String sessionId = reqMessage.getSessionId();

    switch (abstractService.getType()) {
    case CASCADED_SESSION_SERVICE:
      // clears message in cache if in loading state
      AppContext.getSCCache().clearLoading(sessionId);
      CascadedSC cascadedSC = ((CascadedSessionService) abstractService).getCascadedSC();
      CommandCascCallback callback = new CommandCascCallback(request, response, responderCallback);
      cascadedSC.deleteSession(reqMessage, callback, oti);
      return;
    case CASCADED_FILE_SERVICE:
      cascadedSC = ((CascadedFileService) abstractService).getCascadedSC();
      callback = new CommandCascCallback(request, response, responderCallback);
      cascadedSC.deleteSession(reqMessage, callback, oti);
      return;
    default:
      // code for other types of services is below
      break;
    }

    // lookup session and checks properness
    Session session = this.getSessionById(sessionId);
    synchronized (session) {
      session.setPendingRequest(true); // IMPORTANT - set true because of parallel echo call
      // delete entry from session registry
      this.sessionRegistry.removeSession(session);
    }
    IServer abstractServer = session.getServer();

    switch (abstractServer.getType()) {
    case STATEFUL_SERVER:
      // code for type session service is below switch statement
      break;
    case FILE_SERVER:
      this.sessionRegistry.removeSession(session);
      ((FileServer) abstractServer).removeSession(session);
      // reply to client - SCMP Version request
      SCMPMessage reply = new SCMPMessage(reqMessage.getSCMPVersion());
      reply.setIsReply(true);
      reply.setMessageType(getKey());
      response.setSCMP(reply);
      responderCallback.responseCallback(request, response);
      return;
    case CASCADED_SC:
    case UNDEFINED:
    default:
      throw new SCMPCommandException(SCMPError.SC_ERROR, "delete session not allowed for service "
          + abstractService.getName());
    }
    StatefulServer statefulServer = (StatefulServer) abstractServer;
    DeleteSessionCommandCallback callback;
    // free server from session
    statefulServer.removeSession(session);
View Full Code Here

TOP

Related Classes of org.serviceconnector.service.Service

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.