Skip to content

Commit

Permalink
Wip
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosjepard authored and AntonioG70 committed Apr 17, 2024
1 parent 9f395f2 commit c6d3f0d
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 40 deletions.
Expand Up @@ -19,7 +19,6 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;

@jakarta.xml.bind.annotation.XmlRootElement(name = RodaConstants.RODA_OBJECT_TRANSFERRED_RESOURCE)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TransferredResource implements IsModelObject, IsIndexed, HasId, SetsUUID {
private static final long serialVersionUID = 7931609057644098879L;
Expand Down
Expand Up @@ -12,21 +12,16 @@
import java.util.Date;
import java.util.List;

import org.roda.core.data.common.RodaConstants;
import org.roda.core.data.v2.IsModelObject;
import org.roda.core.data.v2.index.IsIndexed;
import org.roda.core.data.v2.ip.AIPState;
import org.roda.core.data.v2.ip.HasId;
import org.roda.core.data.v2.ip.HasInstanceID;
import org.roda.core.data.v2.ip.SIPInformation;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;

@jakarta.xml.bind.annotation.XmlRootElement(name = RodaConstants.RODA_OBJECT_REPORT)
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Report implements IsModelObject, HasId, HasInstanceID {
@Serial
private static final long serialVersionUID = 4316398565678538090L;
Expand Down Expand Up @@ -446,6 +441,7 @@ public void injectLineSeparator(String lineSeparator) {
this.lineSeparator = lineSeparator;
}

@JsonIgnore
public String getLineSeparator() {
return lineSeparator;
}
Expand Down
Expand Up @@ -2,17 +2,6 @@

import java.util.ArrayList;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import org.glassfish.jersey.server.JSONP;
import org.roda.core.RodaCoreFactory;
import org.roda.core.data.common.RodaConstants;
Expand Down Expand Up @@ -40,10 +29,21 @@
import org.roda.wui.client.services.JobsService;
import org.roda.wui.common.ControllerAssistant;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;

/**
* @author António Lindo <alindo@keep.pt>
Expand Down Expand Up @@ -338,26 +338,21 @@ public Reports listJobReports(String jobId, boolean justFailed, String start, St
public Report getJobReport(String jobId, String jobReportId) {
// get user
User user = UserUtility.getApiUser(request);
LogEntryState state = LogEntryState.SUCCESS;
final ControllerAssistant controllerAssistant = new ControllerAssistant() {};

try {
final ControllerAssistant controllerAssistant = new ControllerAssistant() {};
// check permissions
controllerAssistant.checkRoles(user);
LogEntryState state = LogEntryState.SUCCESS;
ModelService model = RodaCoreFactory.getModelService();

try {
return model.retrieveJobReport(jobId, jobReportId);
} catch (RODAException e) {
state = LogEntryState.FAILURE;
throw e;
} finally {
// register action
controllerAssistant.registerAction(user, state, RodaConstants.CONTROLLER_JOB_ID_PARAM, jobId);
}
return model.retrieveJobReport(jobId, jobReportId);
} catch (RODAException e) {
state = LogEntryState.FAILURE;
throw new RESTException(e);
} finally {
// register action
controllerAssistant.registerAction(user, state, RodaConstants.CONTROLLER_JOB_ID_PARAM, jobId);
}

}

@Override
Expand Down
Expand Up @@ -333,6 +333,7 @@ public Long count(CountRequest countRequest) {

@Override
public org.roda.core.data.v2.ip.TransferredResource findByUuid(String uuid) {
System.out.println("HERE!!!");
return null;
}
}
Expand Up @@ -13,6 +13,8 @@
import java.util.ArrayList;
import java.util.List;

import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;
import org.roda.core.data.v2.jobs.IndexedReport;
import org.roda.core.data.v2.jobs.Report;
import org.roda.wui.client.browse.BrowserService;
Expand Down Expand Up @@ -140,15 +142,16 @@ interface MyUiBinder extends UiBinder<Widget, ShowJobReport> {

private static void retrieveJobReport(String jobId, String jobReportId, AsyncCallback<Widget> callback) {
Services services = new Services("Get job report items", "get");

services.jobsResource(s -> s.getJobReport(jobId, jobReportId)).thenCompose(report -> services.futureFromObjectClass(report.getOutcomeObjectClass(), s -> s.findByUuid(report.getOutcomeObjectId())))
.whenComplete((o, error) -> {
if (o != null) {
//GWT.log("OBJECT: " + o);
GWT.log("OBJECT: " + o);



} else if (error != null) {

GWT.log("error" + error);
callback.onFailure(error);
}
});
Expand Down
Expand Up @@ -28,6 +28,4 @@ public interface RODAEntityService<T extends IsIndexed> extends DirectRestServic
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, ExtraMediaType.APPLICATION_JAVASCRIPT})
T findByUuid(
@Parameter(description = "The id", required = false) @PathParam(RodaConstants.API_PATH_PARAM_TRANSFERRED_RESOURCE_UUID) String uuid);


}
Expand Up @@ -89,12 +89,12 @@ public void onSuccess(Method method, T t) {

public <S extends RODAEntityService<O>, O extends IsIndexed, T> CompletableFuture<T> futureFromObjectClass(String objectClassString,
CheckedFunction<S, T> method) {
Class<O> objectClass;
S service;
if (objectClassString.equals("org.roda.core.data.v2.jobs.IndexedReport")) {
objectClass = GWT.create(IndexedReport.class).getClass();
service = GWT.create(TransferredResourceService.class);
} else if (objectClassString.equals("org.roda.core.data.v2.ip.AIP")) {
objectClass = GWT.create(IndexedAIP.class);
} else {
service = GWT.create(TransferredResourceService.class);
}else {
throw new IllegalArgumentException(objectClassString + " not supported");
}

Expand All @@ -110,7 +110,7 @@ public void onFailure(Method method, Throwable throwable) {
public void onSuccess(Method method, T t) {
result.complete(t);
}
}).call(getFromObjectClass(objectClass)));
}).call(service));
} catch (RODAException e) {
result.completeExceptionally(e);
}
Expand Down

0 comments on commit c6d3f0d

Please sign in to comment.