コード例 #1
0
  @Override
  @Transactional
  public Application start(Application application) throws ServiceException {
    try {
      User user = authentificationUtils.getAuthentificatedUser();
      logger.debug("start : Methods parameters : " + application);

      List<Module> modules = application.getModules();
      for (Module module : modules) {
        try {
          module = moduleService.startModule(module);
        } catch (ServiceException e) {
          logger.error("failed to start " + application.toString(), e);
        }
      }
      List<Server> servers = application.getServers();
      for (Server server : servers) {
        logger.info("old server ip : " + server.getContainerIP());
        server = serverService.startServer(server);
      }

      if (application.getAliases() != null && !application.getAliases().isEmpty()) {
        updateAliases(application);
      }
      logger.info("ApplicationService : Application successfully started ");
    } catch (PersistenceException e) {
      throw new ServiceException(e.getLocalizedMessage(), e);
    }
    return application;
  }
コード例 #2
0
 @Override
 @Transactional
 public Application saveGitPush(Application application, String login)
     throws ServiceException, CheckException {
   logger.info("parameters - application : " + application.toString());
   deploymentService.create(application, Type.GITPUSH);
   return application;
 }
コード例 #3
0
  public List<ContainerUnit> listContainers(String applicationName, boolean withModules)
      throws ServiceException {
    List<ContainerUnit> containers = new ArrayList<>();
    try {
      Application application =
          findByNameAndUser(authentificationUtils.getAuthentificatedUser(), applicationName);
      if (application != null) {
        try {
          // Serveurs
          List<Server> servers = application.getServers();
          // Ajout des containers de type server
          for (Server server : servers) {
            DockerContainer dockerContainer = new DockerContainer();
            dockerContainer.setName(server.getName());
            dockerContainer = DockerContainer.findOne(dockerContainer, application.getManagerIp());
            server = containerMapper.mapDockerContainerToServer(dockerContainer, server);
            ContainerUnit containerUnit =
                new ContainerUnit(server.getName(), server.getContainerID(), "server");
            containers.add(containerUnit);
          }
          if (withModules) {
            // Ajout des containers de type module
            List<Module> modules = application.getModules();
            for (Module module : modules) {
              // on evite de remonter les modules de type toolkit
              // (git, maven...)
              if (module.isTool()) {
                continue;
              }
              DockerContainer dockerContainer = new DockerContainer();
              dockerContainer.setName(module.getName());
              dockerContainer =
                  DockerContainer.findOne(dockerContainer, application.getManagerIp());
              module = containerMapper.mapDockerContainerToModule(dockerContainer, module);
              ContainerUnit containerUnit =
                  new ContainerUnit(module.getName(), module.getContainerID(), "module");
              containers.add(containerUnit);
            }
          }
        } catch (Exception ex) {
          // Si une application sort en erreur, il ne faut pas
          // arrêter la suite des traitements
          logger.error(application.toString(), ex);
        }
      }

    } catch (Exception e) {
      throw new ServiceException(e.getLocalizedMessage(), e);
    }
    return containers;
  }
コード例 #4
0
 @Test
 public void basics() {
   Application app =
       new DefaultApplication(APP_ID, VER, DESC, ORIGIN, ROLE, PERMS, Optional.of(FURL), FEATURES);
   assertEquals("incorrect id", APP_ID, app.id());
   assertEquals("incorrect version", VER, app.version());
   assertEquals("incorrect description", DESC, app.description());
   assertEquals("incorrect origin", ORIGIN, app.origin());
   assertEquals("incorrect role", ROLE, app.role());
   assertEquals("incorrect permissions", PERMS, app.permissions());
   assertEquals("incorrect features repo", FURL, app.featuresRepo().get());
   assertEquals("incorrect features", FEATURES, app.features());
   assertTrue("incorrect toString", app.toString().contains(APP_NAME));
 }
コード例 #5
0
  protected void respondAdmin(HttpServletRequest req, HttpServletResponse res) throws IOException {
    res.setContentType("text/xml");
    StringBuffer buf = new StringBuffer();

    String _details = req.getParameter("details");
    boolean details = (_details != null && _details.equals("1"));

    ConnectionGroup.dumpGroupsXML(buf, details);

    String appName = req.getParameter("application");
    if (appName != null && !appName.equals("")) {
      if (appName.equals("*")) {
        Application.dumpApplicationsXML(buf, details);
      } else {
        Application application = Application.getApplication(appName, false);
        if (application != null) application.toString();
      }
    }

    ConnectionAgent.dumpAgentsXML(buf, details);

    ServletOutputStream out = res.getOutputStream();
    try {
      out.println(
          "<connection-info "
              + " max-message-length=\""
              + HTTPConnection.getMaxMessageLen()
              + "\""
              + " connection-length=\""
              + HTTPConnection.getConnectionLength()
              + "\""
              + " reconnection-wait-interval=\""
              + HTTPConnection.getReconnectionWaitInterval()
              + "\""
              + " >");
      out.println(buf.toString());
      out.println("</connection-info>");
    } finally {
      FileUtils.close(out);
    }
  }
コード例 #6
0
 @Override
 public String toString() {
   StringBuilder stringBuilder = new StringBuilder(128);
   stringBuilder.append("Time: ");
   stringBuilder.append(getTimestamp());
   stringBuilder.append(", Time string for server: ");
   stringBuilder.append(getTimeStringPresentation());
   stringBuilder.append(", CellID: ");
   stringBuilder.append(getCellId());
   stringBuilder.append(", Applications:");
   stringBuilder.append("\r\n");
   for (Application application : apps) {
     stringBuilder.append(application.toString());
     stringBuilder.append("\r\n");
   }
   if (gpsData != null) {
     stringBuilder.append(gpsData.toString());
     stringBuilder.append("\r\n");
   }
   return stringBuilder.toString();
 }