aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java')
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java b/main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java
index 44962663..944a6f85 100644
--- a/main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java
+++ b/main/src/main/java/org/onap/policy/api/main/rest/NodeTemplateController.java
@@ -63,11 +63,17 @@ public class NodeTemplateController extends CommonRestController implements Tosc
toJson(body));
}
try {
+ mutex.acquire();
ToscaServiceTemplate nodeTemplates = toscaServiceTemplateService.createToscaNodeTemplates(body);
return makeOkResponse(requestId, nodeTemplates);
} catch (PfModelException | PfModelRuntimeException pfme) {
final var msg = "POST /nodetemplates";
throw new PolicyApiRuntimeException(msg, pfme.getCause(), pfme.getErrorResponse(), requestId);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new PolicyApiRuntimeException(e.getMessage(), null, null, requestId);
+ } finally {
+ mutex.release();
}
}
@@ -86,11 +92,17 @@ public class NodeTemplateController extends CommonRestController implements Tosc
toJson(body));
}
try {
+ mutex.acquire();
ToscaServiceTemplate nodeTemplates = toscaServiceTemplateService.updateToscaNodeTemplates(body);
return makeOkResponse(requestId, nodeTemplates);
} catch (PfModelException | PfModelRuntimeException pfme) {
final var msg = "PUT /nodetemplates";
throw new PolicyApiRuntimeException(msg, pfme.getCause(), pfme.getErrorResponse(), requestId);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new PolicyApiRuntimeException(e.getMessage(), null, null, requestId);
+ } finally {
+ mutex.release();
}
}
@@ -104,11 +116,17 @@ public class NodeTemplateController extends CommonRestController implements Tosc
@Override
public ResponseEntity<ToscaServiceTemplate> deleteToscaNodeTemplates(String name, String version, UUID requestId) {
try {
+ mutex.acquire();
ToscaServiceTemplate nodeTemplates = toscaServiceTemplateService.deleteToscaNodeTemplate(name, version);
return makeOkResponse(requestId, nodeTemplates);
} catch (PfModelException | PfModelRuntimeException pfme) {
final var msg = String.format("DELETE /nodetemplates/%s/versions/%s", name, version);
throw new PolicyApiRuntimeException(msg, pfme.getCause(), pfme.getErrorResponse(), requestId);
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new PolicyApiRuntimeException(e.getMessage(), null, null, requestId);
+ } finally {
+ mutex.release();
}
}