aboutsummaryrefslogtreecommitdiffstats
path: root/ncomp-sirius-manager-generator
diff options
context:
space:
mode:
authorCarsten Lund <lund@research.att.com>2017-04-16 14:00:29 +0000
committerCarsten Lund <lund@research.att.com>2017-04-16 14:01:24 +0000
commit3ec1de0d0dc87b0123dd0ec47b3c9f40f22bad24 (patch)
tree033b72ee193ffa31e701f8fc14fa0968428d2b8f /ncomp-sirius-manager-generator
parenta3e9b9cea143816780eed14896ca5843402ee371 (diff)
[DCAE-15] Changes related to version 1.1
See Jira for details Change-Id: I392c4faf0de70d7a810f86eaafb7ed3ab4613386 Signed-off-by: Carsten Lund <lund@research.att.com>
Diffstat (limited to 'ncomp-sirius-manager-generator')
-rw-r--r--ncomp-sirius-manager-generator/.classpath1
-rw-r--r--ncomp-sirius-manager-generator/META-INF/MANIFEST.MF1
-rw-r--r--ncomp-sirius-manager-generator/src/main/groovy/org/openecomp/ncomp/sirius/manager/generator/ControllerGenerator.groovy27
-rw-r--r--ncomp-sirius-manager-generator/src/main/templates/Client.java16
-rw-r--r--ncomp-sirius-manager-generator/src/main/templates/Controller.java27
-rw-r--r--ncomp-sirius-manager-generator/src/main/templates/Provider.java2
-rw-r--r--ncomp-sirius-manager-generator/src/main/templates/Server.java24
7 files changed, 62 insertions, 36 deletions
diff --git a/ncomp-sirius-manager-generator/.classpath b/ncomp-sirius-manager-generator/.classpath
index dafd0e4..d1c4531 100644
--- a/ncomp-sirius-manager-generator/.classpath
+++ b/ncomp-sirius-manager-generator/.classpath
@@ -11,7 +11,6 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
- <classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>
diff --git a/ncomp-sirius-manager-generator/META-INF/MANIFEST.MF b/ncomp-sirius-manager-generator/META-INF/MANIFEST.MF
index 382ee8e..7da34d7 100644
--- a/ncomp-sirius-manager-generator/META-INF/MANIFEST.MF
+++ b/ncomp-sirius-manager-generator/META-INF/MANIFEST.MF
@@ -4,4 +4,3 @@ Bundle-Name: ncomp-sirius-manager-generator
Bundle-SymbolicName: ncomp-sirius-manager-generator
Bundle-Version: 0.1.0.qualifier
Export-Package: org.openecomp.ncomp.sirius.manager.generator
-Require-Bundle: ncomp-sirius-manager-model;bundle-version="0.1.0"
diff --git a/ncomp-sirius-manager-generator/src/main/groovy/org/openecomp/ncomp/sirius/manager/generator/ControllerGenerator.groovy b/ncomp-sirius-manager-generator/src/main/groovy/org/openecomp/ncomp/sirius/manager/generator/ControllerGenerator.groovy
index cf2fd59..49c909d 100644
--- a/ncomp-sirius-manager-generator/src/main/groovy/org/openecomp/ncomp/sirius/manager/generator/ControllerGenerator.groovy
+++ b/ncomp-sirius-manager-generator/src/main/groovy/org/openecomp/ncomp/sirius/manager/generator/ControllerGenerator.groovy
@@ -47,7 +47,8 @@ class ControllerGenerator {
String subName
String clientName
String prefix
- String type = "R"
+ String type = "R"
+ String version = null
ControllerGenerator root;
boolean enableDrools = false;
boolean enableIRequestHandler = true;
@@ -177,7 +178,8 @@ class ControllerGenerator {
packageName : packageName(),
cName : "${m.prefix}${o.eClass().name}$n",
fName : factoryName(),
- path : root == this ? "resources" : subName,
+ path : root == this ? "resources" : subName,
+ version: version ? "\"$version\"" : "null"
]
switch (n) {
case "Provider": env.cName = "${m.prefix}${o.eClass().name}ProviderTemplate"; break
@@ -215,17 +217,16 @@ class ControllerGenerator {
def y = [operations:[:], messages:[dummy:[:]]]
EClass c = o.eClass()
c.getEAllOperations().each { EOperation op ->
- y.operations[op.name] = [:]
- y.messages[op.name] = [
- errorCode: "$op.name-FAILED-5001W",
+ y.operations["$c.name@$op.name"] = [:]
+ y.messages["REQUEST-FAILED-$op.name"] = [
+ errorCode: "4001W",
messageFormat: "{0}",
description: "Operation Failed with Exception"
]
}
c.getEAllOperations().each { EOperation op ->
- y.operations["REMOTE_$op.name"] = [decription:"Remote call $op.name"]
- y.messages["REMOTE_$op.name"] = [
- errorCode: "REMOTE-$op.name-FAILED-5001W",
+ y.messages["REMOTE-CALL-FAILED-$op.name"] = [
+ errorCode: "4001W",
messageFormat: "{0}",
description: "Remote Operation Failed with Exception"
]
@@ -245,7 +246,8 @@ class ControllerGenerator {
g.subName = subpackage
g.type = "O"
g.enableIRequestHandler = enableIRequestHandler
- g.enableISiriusPlugin = enableISiriusPlugin
+ g.enableISiriusPlugin = enableISiriusPlugin
+ g.version = version
subApis += g
}
public void addApi(String name, EObject o, ControllerModel m, boolean enableIRequestHandler = false, boolean enableISiriusPlugin = false) {
@@ -254,7 +256,8 @@ class ControllerGenerator {
g.subName = name
g.type = "A"
g.enableIRequestHandler = enableIRequestHandler
- g.enableISiriusPlugin = enableISiriusPlugin
+ g.enableISiriusPlugin = enableISiriusPlugin
+ g.version = version
subApis += g
}
public void addProvider(String name, EObject o, ControllerModel m) {
@@ -264,6 +267,7 @@ class ControllerGenerator {
g.type = "P"
g.enableIRequestHandler = false
g.enableISiriusPlugin = false
+ g.version = version
subApis += g
}
def subClients = []
@@ -273,7 +277,8 @@ class ControllerGenerator {
g.clientName = name
g.type = "C"
g.enableIRequestHandler = enableIRequestHandler
- g.enableISiriusPlugin = enableISiriusPlugin
+ g.enableISiriusPlugin = enableISiriusPlugin
+ g.version = version
subClients += g
}
List<String> aliases = new ArrayList<String>();
diff --git a/ncomp-sirius-manager-generator/src/main/templates/Client.java b/ncomp-sirius-manager-generator/src/main/templates/Client.java
index 4b38e94..fb47b3c 100644
--- a/ncomp-sirius-manager-generator/src/main/templates/Client.java
+++ b/ncomp-sirius-manager-generator/src/main/templates/Client.java
@@ -32,6 +32,8 @@ import org.openecomp.ncomp.sirius.manager.GenericHttpClient;
import org.apache.log4j.Logger;
import org.openecomp.logger.EcompLogger;
+import org.openecomp.logger.StatusCodeEnum;
+import org.openecomp.logger.EcompException;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
@@ -57,17 +59,20 @@ public class ${cName} extends ${name}Impl {
${prefix}${g.root.o.eClass().name}.ecoreSetup();
client = new GenericHttpClient(file,name);
client.add("/$path", this);
+ client.setVersion($version);
}
public ${cName}(String file, String name1, String name2) {
HighAvailabilityClient client1 = new HighAvailabilityClient(file,name1,name2);
client = client1.all; // requests should be forwarded to all.
client.add("/$path", this);
+ client.setVersion($version);
}
public ${cName}(AbstractClient c) {
client = c;
client.add("/resources", this);
+ client.setVersion($version);
}
@@ -107,16 +112,17 @@ public class ${cName} extends ${name}Impl {
%>
$override
public ${rType} ${op.name}(${StringUtil.join(decl, ", ")}) {
- EClass c = ${g.packageName2()}.eINSTANCE.get${g.o.eClass().name}(); //foo
- ecomplogger.recordMetricEventStart();
- ecomplogger.setOperation(${name}OperationEnum.REMOTE_${op.name});
+ EClass c = ${g.packageName2()}.eINSTANCE.get${g.o.eClass().name}();
+ ecomplogger.recordMetricEventStart(${name}OperationEnum.${name}_${op.name},client.getRemote());
$decl1
try {
${decl2}client.operationPath($path1, c, "${op.name}", $timeout<% if (vars.size()>0) {%>, <%}%>${StringUtil.join(vars,",")});
}
catch (Exception e) {
- ecomplogger.warn(${name}MessageEnum.REMOTE_${op.name}, e.toString());
- throw new RuntimeException("remote call failed: " + client.getRemote() + "@$op.name: " + e);
+ ecomplogger.warn(${name}MessageEnum.REMOTE_CALL_FAILED_${op.name}, e.toString());
+ EcompException e1 = EcompException.create(${name}MessageEnum.REMOTE_CALL_FAILED_${op.name},e,e.getMessage());
+ ecomplogger.recordMetricEventEnd(StatusCodeEnum.ERROR,${name}MessageEnum.REMOTE_CALL_FAILED_${op.name},e.getMessage());
+ throw e1;
}
ecomplogger.recordMetricEventEnd();
${ret}
diff --git a/ncomp-sirius-manager-generator/src/main/templates/Controller.java b/ncomp-sirius-manager-generator/src/main/templates/Controller.java
index 903dde0..3020f86 100644
--- a/ncomp-sirius-manager-generator/src/main/templates/Controller.java
+++ b/ncomp-sirius-manager-generator/src/main/templates/Controller.java
@@ -36,13 +36,13 @@ package $packageName;
-
import java.io.InputStream;
import org.openecomp.ncomp.sirius.manager.IRequestHandler;
import org.openecomp.ncomp.sirius.manager.ISwaggerHandler;
import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ISiriusProvider;
import org.openecomp.ncomp.sirius.manager.ManagementServer;
import org.openecomp.ncomp.sirius.manager.SwaggerUtils;
import org.openecomp.ncomp.sirius.function.FunctionUtils;
@@ -50,7 +50,9 @@ import org.openecomp.ncomp.component.ApiRequestStatus;
import org.apache.log4j.Logger;
-import org.openecomp.logger.EcompLogger;
+import org.openecomp.ncomp.sirius.manager.logging.NcompLogger;
+import org.openecomp.logger.StatusCodeEnum;
+import org.openecomp.logger.EcompException;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
@@ -94,7 +96,7 @@ import $n;
import ${p.nsURI}.impl.${name}Impl;
<%
- def l = []
+ def l = ["ISiriusProvider"]
if (g.enableIRequestHandler) l += "IRequestHandler"
if (g.enableISwaggerHandler) l += "ISwaggerHandler"
if (g.enableISiriusPlugin) l += "ISiriusPlugin"
@@ -103,7 +105,7 @@ import ${p.nsURI}.impl.${name}Impl;
public class ${cName} extends ${name}Impl${implements1} {
public static final Logger logger = Logger.getLogger(${cName}.class);
- static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
+ static final NcompLogger ecomplogger = NcompLogger.getNcompLogger();
public ${prefix}${name}Provider controller;
ISiriusServer server;
@@ -134,9 +136,8 @@ public class ${cName} extends ${name}Impl${implements1} {
if (server != null)
server.getServer().recordApi(null, this, "${op.name}", ApiRequestStatus.START, ${StringUtil.join(vars1,",")});
Date now_ = new Date();
- ecomplogger.recordMetricEventStart();
- ecomplogger.setOperation(${name}OperationEnum.${op.name});
- ecomplogger.setInstanceId(ManagementServer.object2ref(this));
+ ecomplogger.recordAuditEventStartIfNeeded(${name}OperationEnum.${name}_${op.name},server,this);
+ ecomplogger.recordMetricEventStart(${name}OperationEnum.${name}_${op.name},"self:" + ManagementServer.object2ref(this));
try {
$assign controller.${op.name}(${StringUtil.join(vars,",")});
}
@@ -145,8 +146,10 @@ public class ${cName} extends ${name}Impl${implements1} {
if (server != null)
server.getServer().recordApi(null, this, "${op.name}", ApiRequestStatus.ERROR, ${StringUtil.join(vars1,",")});
System.err.println("ERROR: " + e);
- ecomplogger.warn(${name}MessageEnum.${op.name}, e.toString());
- throw e;
+ ecomplogger.warn(${name}MessageEnum.REQUEST_FAILED_${op.name}, e.toString());
+ EcompException e1 = EcompException.create(${name}MessageEnum.REQUEST_FAILED_${op.name},e,e.getMessage());
+ ecomplogger.recordMetricEventEnd(StatusCodeEnum.ERROR, ${name}MessageEnum.REQUEST_FAILED_${op.name}, e.getMessage());
+ throw e1;
}
ecomplogger.recordMetricEventEnd();
duration_ = new Date().getTime()-now_.getTime();
@@ -158,8 +161,8 @@ public class ${cName} extends ${name}Impl${implements1} {
<% if (g.enableIRequestHandler) { %>
@Override
- public Object handleJson(String userName, String action, String resourcePath, JSONObject json, JSONObject context) {
- return controller.handleJson(userName,action,resourcePath,json,context);
+ public Object handleJson(String userName, String action, String resourcePath, JSONObject json, JSONObject context, String clientVersion) {
+ return controller.handleJson(userName,action,resourcePath,json,context,clientVersion);
}
@Override
@@ -185,7 +188,7 @@ public void updateSwagger(String path, SwaggerUtils swagger) {
public static void ecoreSetup() {
${prefix}${name}Provider.ecoreSetup();
}
- public ${prefix}${name}Provider getSomfProvider() {
+ public ${prefix}${name}Provider getSiriusProvider() {
return controller;
}
}
diff --git a/ncomp-sirius-manager-generator/src/main/templates/Provider.java b/ncomp-sirius-manager-generator/src/main/templates/Provider.java
index 6113401..a5bd5c3 100644
--- a/ncomp-sirius-manager-generator/src/main/templates/Provider.java
+++ b/ncomp-sirius-manager-generator/src/main/templates/Provider.java
@@ -150,7 +150,7 @@ public class ${cName} extends ${provider} {
}
<% } %>
<% if (g.enableIRequestHandler) { %>
-public Object handleJson(String userName, String action, String resourcePath, JSONObject json, JSONObject context) {
+public Object handleJson(String userName, String action, String resourcePath, JSONObject json, JSONObject context, String clientVersion) {
// TODO Auto-generated method stub
return null;
}
diff --git a/ncomp-sirius-manager-generator/src/main/templates/Server.java b/ncomp-sirius-manager-generator/src/main/templates/Server.java
index 638a9ab..b8bd81a 100644
--- a/ncomp-sirius-manager-generator/src/main/templates/Server.java
+++ b/ncomp-sirius-manager-generator/src/main/templates/Server.java
@@ -26,17 +26,16 @@ package $packageName;
import static org.openecomp.ncomp.utils.PropertyUtil.getPropertiesFromClasspath;
import java.io.IOException;
+import java.io.InputStream;
import java.util.Properties;
import java.util.TimeZone;
import org.apache.log4j.Logger;
import org.eclipse.emf.ecore.EFactory;
-
-import org.openecomp.entity.EcompComponent;
-import org.openecomp.entity.EcompSubComponent;
-import org.openecomp.entity.EcompSubComponentInstance;
+import org.json.JSONObject;
import org.openecomp.ncomp.sirius.manager.Jetty8Server;
import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.manager.IRequestHandler;
import org.openecomp.ncomp.sirius.manager.ISiriusServer;
import ${p.nsURI}.${name};
@@ -55,7 +54,7 @@ import ${api.packageName()}.${prefix}${api.o.eClass().name}Client;
<% } %>
-public class $cName implements ISiriusServer {
+public class $cName implements ISiriusServer, IRequestHandler {
public static final Logger logger = Logger.getLogger(${cName}.class);
String serverPath;
ManagementServer server;
@@ -82,6 +81,7 @@ public class $cName implements ISiriusServer {
props = getPropertiesFromClasspath(filename);
serverPath = (String) props.get("server.dir");
server = new ManagementServer(f, "${name}", serverPath, filename);
+ ManagementServer.setBuildVersion($version);
server.addFactory(f);
<% g.factories.each { factory ->
if (g.useNew[factory]) { %>
@@ -97,6 +97,7 @@ public class $cName implements ISiriusServer {
controller = (${prefix}${name}) server.find("/").o;
webServer = new Jetty8Server("${nsPrefix}.properties");
webServer.add("/resources",server);
+ webServer.add("/api",this);
<% g.aliases.each { %>
webServer.add("$it",controller);
<%}%>
@@ -132,4 +133,17 @@ public class $cName implements ISiriusServer {
public ManagementServer getServer() {
return server;
}
+ public Object handleJson(String userName, String action, String resourcePath, JSONObject json, JSONObject context,
+ String clientVersion) {
+ switch ((String) context.get("path")) {
+ case "/api/versions":
+ return server.supportedVersions();
+ }
+ logger.warn("Unknown request action=" + action + " path=" + resourcePath + " context=" + context.toString(2));
+ throw new RuntimeException("Unknown request");
+ }
+ public Object handleBinary(String userName, String action, String resourcePath, InputStream in) {
+ return null;
+ }
+
}