use of de.fraunhofer.iosb.ilt.faaast.service.model.api.response.PutSubmodelResponse in project FAAAST-Service by FraunhoferIOSB.
the class PutSubmodelRequestHandler method process.
@Override
public PutSubmodelResponse process(PutSubmodelRequest request) {
PutSubmodelResponse response = new PutSubmodelResponse();
try {
// check if resource does exist
Submodel submodel = (Submodel) persistence.get(request.getSubmodel().getIdentification(), new QueryModifier.Builder().extend(Extend.WithoutBLOBValue).level(Level.Core).build());
submodel = (Submodel) persistence.put(request.getSubmodel());
response.setPayload(submodel);
response.setStatusCode(StatusCode.Success);
Reference reference = AasUtils.toReference(submodel);
readValueFromAssetConnectionAndUpdatePersistence(reference, submodel.getSubmodelElements());
publishElementUpdateEventMessage(reference, submodel);
} catch (ResourceNotFoundException ex) {
response.setStatusCode(StatusCode.ClientErrorResourceNotFound);
} catch (Exception ex) {
response.setStatusCode(StatusCode.ServerInternalError);
}
return response;
}
use of de.fraunhofer.iosb.ilt.faaast.service.model.api.response.PutSubmodelResponse in project FAAAST-Service by FraunhoferIOSB.
the class RequestHandlerManagerTest method testPutSubmodelRequest.
@Test
public void testPutSubmodelRequest() throws ResourceNotFoundException {
when(persistence.put(environment.getSubmodels().get(0))).thenReturn(environment.getSubmodels().get(0));
PutSubmodelRequest request = new PutSubmodelRequest.Builder().id(environment.getSubmodels().get(0).getIdentification()).submodel(environment.getSubmodels().get(0)).outputModifier(new OutputModifier()).submodel(environment.getSubmodels().get(0)).build();
PutSubmodelResponse response = manager.execute(request);
PutSubmodelResponse expected = new PutSubmodelResponse.Builder().payload(environment.getSubmodels().get(0)).statusCode(StatusCode.Success).build();
Assert.assertEquals(expected, response);
}
Aggregations