1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/*-
* ============LICENSE_START==========================================
* OPENECOMP - DCAE
* ===================================================================
* Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
* ===================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END============================================
*/
<%
import org.openecomp.ncomp.utils.StringUtil
%>// Autogenerated
// Do not edit. No need to extend this class.
package $packageName;
import org.openecomp.ncomp.sirius.manager.AbstractClient;
import org.openecomp.ncomp.sirius.manager.HighAvailabilityClient;
import org.openecomp.ncomp.sirius.manager.GenericHttpClient;
import org.apache.log4j.Logger;
import org.openecomp.logger.EcompLogger;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import ${p.nsURI}.impl.${name}Impl;
import ${p.nsURI}.${g.packageName2()};
import ${packageName}.logging.${name}OperationEnum;
import ${packageName}.logging.${name}MessageEnum;
<% if (sPackage != "") { %>
import ${sPackage}.${prefix}${g.root.o.eClass().name}; <% } %>
@SuppressWarnings("unchecked")
public class ${cName} extends ${name}Impl {
public static final Logger logger = Logger.getLogger(${cName}.class);
static final EcompLogger ecomplogger = EcompLogger.getEcompLogger();
public AbstractClient client;
public ${cName}(String file, String name) {
${prefix}${g.root.o.eClass().name}.ecoreSetup();
client = new GenericHttpClient(file,name);
client.add("/$path", this);
}
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);
}
public ${cName}(AbstractClient c) {
client = c;
client.add("/resources", this);
}
<% g.operations().each { op ->
def decl = []
def vars = []
def timeout = "null"
if (op.getEParameters().find { it.name == "cx" }) {
decl += "org.json.JSONObject cx"
vars += "cx"
timeout = 'cx != null && cx.has("timeout") ? cx.getLong("timeout") : null'
}
def override = "@Override"
def path1 = g.subName == null ? "\"/$path\"" : "\"/$g.subName\""
if (g.root != g && g.root.o.eClass().EPackage == o.eClass().EPackage) {
decl += "String path"
override = ""
path1 = "path"
}
op.getEParameters().each { p ->
if (p.name == "cx") return
vars += p.name
if (p.isMany())
decl += "EList<${p.getEType().getInstanceClassName()}> $p.name"
else {
if (p.getEType()==null) System.err.println "$op.name $p.name $p"
decl += "${p.getEType().getInstanceClassName()} $p.name"
}
}
def rType = op.getEType() == null ? "void" : op.getEType().getInstanceClassName()
if (op.isMany()) rType = "EList<$rType>"
def ret = rType == "void" ? "" : "return res;"
def decl1 = rType == "void" ? "" : "${rType} res;"
def decl2 = rType == "void" ? "" : "res = ($rType) "
%>
$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});
$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.recordMetricEventEnd();
${ret}
}
<% } %>
}
|