Package org.sonatype.nexus.rest.model

Examples of org.sonatype.nexus.rest.model.ScheduledServiceBaseResource


    this.validateXmlHasNoPackageNames(resource);
  }

  @Test
  public void testScheduledServiceBaseResource() {
    ScheduledServiceBaseResource resource = new ScheduledServiceBaseResource();
    resource.setId("Id");
    resource.setSchedule("manual");
    resource.setTypeId("TypeId");
    resource.setName("Name");
    resource.setAlertEmail("foo@bar.org");
    resource.setEnabled(true);

    ScheduledServicePropertyResource prop1 = new ScheduledServicePropertyResource();
    prop1.setKey("id1");
    prop1.setValue("value1");
    resource.addProperty(prop1);

    ScheduledServicePropertyResource prop2 = new ScheduledServicePropertyResource();
    prop2.setKey("id2");
    prop2.setValue("value2");
    resource.addProperty(prop2);

    ScheduledServiceResourceResponse resourceResponse = new ScheduledServiceResourceResponse();
    resourceResponse.setData(resource);

    this.marshalUnmarchalThenCompare(resourceResponse);
View Full Code Here


  }

  private void doReindex(String taskName, String repoId, boolean force, boolean group)
      throws Exception
  {
    ScheduledServiceBaseResource scheduledTask = new ScheduledServiceBaseResource();
    scheduledTask.setEnabled(true);
    scheduledTask.setId(null);
    scheduledTask.setName(taskName);
    if (force) {
      // TODO: these are constants, but it's expensive to reference whole nexus core just to get these
      scheduledTask.setTypeId("RepairIndexTask");
    }
    else {
      // TODO: these are constants, but it's expensive to reference whole nexus core just to get these
      scheduledTask.setTypeId("UpdateIndexTask");
    }
    scheduledTask.setSchedule("manual");

    if (repoId != null) {
      ScheduledServicePropertyResource prop = new ScheduledServicePropertyResource();
      prop.setKey("repositoryId");
      prop.setValue(repoId);
      scheduledTask.addProperty(prop);
    }

    Status status = TaskScheduleUtil.create(scheduledTask);
    Assert.assertTrue(status.isSuccess());
View Full Code Here

  {
    ScheduledServiceResourceResponse result = new ScheduledServiceResourceResponse();
    try {
      ScheduledTask<?> task = getNexusScheduler().getTaskById(getScheduledServiceId(request));

      ScheduledServiceBaseResource resource = getServiceRestModel(task);

      if (resource != null) {
        result.setData(resource);
      }
      else {
View Full Code Here

  {
    ScheduledServiceResourceResponse serviceRequest = (ScheduledServiceResourceResponse) payload;
    ScheduledServiceResourceStatusResponse result = null;

    if (serviceRequest != null) {
      ScheduledServiceBaseResource resource = serviceRequest.getData();

      try {
        // currently we allow editing of:
        // task name
        // task schedule (even to another type)
        // task params
        ScheduledTask<?> task = getNexusScheduler().getTaskById(getScheduledServiceId(request));
        TaskState state = task.getTaskState();
        if (TaskState.RUNNING.equals(state) || TaskState.CANCELLING.equals(state)
            || TaskState.SLEEPING.equals(state)) {
          throw new ResourceException(Status.CLIENT_ERROR_CONFLICT,
              "Task can't be edited while it is being executed or it is in line to be executed");
        }

        task.setEnabled(resource.isEnabled());

        task.setName(getModelName(resource));

        task.setSchedule(getModelSchedule(resource));

        for (Iterator<ScheduledServicePropertyResource> iter = resource.getProperties().iterator(); iter.hasNext(); ) {
          ScheduledServicePropertyResource prop = iter.next();

          task.getTaskParams().put(prop.getKey(), prop.getValue());
        }

        TaskUtils.setAlertEmail(task, resource.getAlertEmail());
        TaskUtils.setId(task, resource.getId());
        TaskUtils.setName(task, resource.getName());

        task.reset();

        // Store the changes
        getNexusScheduler().updateSchedule(task);

        ScheduledServiceResourceStatus resourceStatus = new ScheduledServiceResourceStatus();
        resourceStatus.setResource(resource);
        // Just need to update the id, as the incoming data is a POST w/ no id
        resourceStatus.getResource().setId(task.getId());
        resourceStatus.setResourceURI(createChildReference(request, this, task.getId()).toString());
        resourceStatus.setStatus(task.getTaskState().toString());
        resourceStatus.setReadableStatus(getReadableState(task.getTaskState()));
        resourceStatus.setCreated(task.getScheduledAt() == null ? "n/a" : task.getScheduledAt().toString());
        resourceStatus.setLastRunResult(getLastRunResult(task));
        resourceStatus.setLastRunTime(task.getLastRun() == null ? "n/a" : task.getLastRun().toString());
        resourceStatus.setNextRunTime(task.getNextRun() == null ? "n/a" : task.getNextRun().toString());
        if (task.getScheduledAt() != null) {
          resourceStatus.setCreatedInMillis(task.getScheduledAt().getTime());
        }
        if (task.getLastRun() != null) {
          resourceStatus.setLastRunTimeInMillis(task.getLastRun().getTime());
        }
        if (task.getNextRun() != null) {
          resourceStatus.setNextRunTimeInMillis(task.getNextRun().getTime());
        }

        result = new ScheduledServiceResourceStatusResponse();
        result.setData(resourceStatus);

      }
      catch (NoSuchTaskException e) {
        getLogger().warn("Unable to locate task id:" + resource.getId(), e);

        throw new ResourceException(Status.CLIENT_ERROR_NOT_FOUND, "Scheduled service not found!");
      }
      catch (RejectedExecutionException e) {
        throw new ResourceException(Status.CLIENT_ERROR_CONFLICT, e.getMessage());
View Full Code Here

    try {
      ScheduledTask<?> task = getNexusScheduler().getTaskById(scheduledServiceId);

      task.runNow();

      ScheduledServiceBaseResource resource = getServiceRestModel(task);

      if (resource != null) {
        ScheduledServiceResourceStatus resourceStatus = new ScheduledServiceResourceStatus();
        resourceStatus.setResource(resource);
        resourceStatus.setResourceURI(createChildReference(request, this, task.getId()).toString());
View Full Code Here

  {
    ScheduledServiceResourceResponse serviceRequest = (ScheduledServiceResourceResponse) payload;
    ScheduledServiceResourceStatusResponse result = null;

    if (serviceRequest != null) {
      ScheduledServiceBaseResource serviceResource = serviceRequest.getData();
      try {
        Schedule schedule = getModelSchedule(serviceRequest.getData());
        ScheduledTask<?> task = null;

        final NexusTask<?> nexusTask = getModelNexusTask(serviceResource, request);

        if (getLogger().isDebugEnabled()) {
          getLogger().debug("Creating task with type '" + nexusTask.getClass() + "': " + nexusTask.getName() + " (" +
              nexusTask.getId() + ")");
        }

        if (schedule != null) {
          task =
              getNexusScheduler().schedule(getModelName(serviceResource),
                  nexusTask, schedule);
        }
        else {
          task =
              getNexusScheduler().schedule(getModelName(serviceResource),
                  nexusTask, new ManualRunSchedule());
        }


        task.setEnabled(serviceResource.isEnabled());

        // Need to store the enabled flag update
        getNexusScheduler().updateSchedule(task);

        ScheduledServiceResourceStatus resourceStatus = new ScheduledServiceResourceStatus();
View Full Code Here

TOP

Related Classes of org.sonatype.nexus.rest.model.ScheduledServiceBaseResource

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.