diff options
author | Carsten Lund <lund@research.att.com> | 2017-04-16 14:00:29 +0000 |
---|---|---|
committer | Carsten Lund <lund@research.att.com> | 2017-04-16 14:01:24 +0000 |
commit | 3ec1de0d0dc87b0123dd0ec47b3c9f40f22bad24 (patch) | |
tree | 033b72ee193ffa31e701f8fc14fa0968428d2b8f /ncomp-sirius-manager-generator | |
parent | a3e9b9cea143816780eed14896ca5843402ee371 (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')
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; + } + } |