/*- * ============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.component.ApiRequestStatus; import org.openecomp.ncomp.sirius.manager.ManagementServerError; import org.openecomp.ncomp.utils.StringUtil import org.openecomp.ncomp.sirius.manager.server.AbstractManagementServer import org.openecomp.ncomp.gwt.siriusportal.model.GuiClientApi %>// Autogenerated // Do not edit. No need to extend this class. 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.ManagementServer; import org.openecomp.ncomp.sirius.manager.SwaggerUtils; import org.openecomp.ncomp.sirius.function.FunctionUtils; import org.openecomp.ncomp.component.ApiRequestStatus; import org.apache.log4j.Logger; import org.openecomp.logger.EcompLogger; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.json.JSONObject; import java.util.Date; import ${packageName}.logging.${name}OperationEnum; import ${packageName}.logging.${name}MessageEnum; <% def others = [] switch (o) { case AbstractManagementServer: others += "java.util.Date"; others += "org.openecomp.ncomp.sirius.manager.server.LoggerInfo" others += "org.openecomp.ncomp.sirius.manager.server.ServerFactory" break case GuiClientApi: others += "org.openecomp.ncomp.sirius.gui.tools.*"; others += "org.openecomp.ncomp.gwt.siriusportal.model.*"; others += "org.openecomp.ncomp.sirius.manager.Subject"; others += "org.openecomp.ncomp.sirius.manager.ManagementServer" others += "org.openecomp.ncomp.sirius.manager.server.AbstractManagementServer" break } if (g.enableDrools) { others += "org.openecomp.ncomp.core.logs.*" others += "org.openecomp.ncomp.sirius.manager.drools.DroolsRuntime" } others.each { n -> %> import $n; <% } %> import ${p.nsURI}.impl.${name}Impl; <% def l = [] if (g.enableIRequestHandler) l += "IRequestHandler" if (g.enableISwaggerHandler) l += "ISwaggerHandler" if (g.enableISiriusPlugin) l += "ISiriusPlugin" def implements1 = l.size() > 0 ? " implements ${StringUtil.join(l,', ')}" : "" %> public class ${cName} extends ${name}Impl${implements1} { public static final Logger logger = Logger.getLogger(${cName}.class); static final EcompLogger ecomplogger = EcompLogger.getEcompLogger(); public ${prefix}${name}Provider controller; ISiriusServer server; public ${cName}(ISiriusServer server) { this.server = server; this.controller = new ${prefix}${name}Provider(server,this); } <% g.operations().each { op -> def decl = [] def vars = [] op.getEParameters().each { p -> vars += p.name if (p.isMany()) decl += "EList<${p.getEType().getInstanceClassName()}> $p.name" else 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 = null;" def assign = rType == "void" ? "" : "res = " def vars1 = ["duration_"] + vars %> public $rType ${op.name}(${StringUtil.join(decl, ", ")}) { $decl1 long duration_ = 0; 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)); try { $assign controller.${op.name}(${StringUtil.join(vars,",")}); } catch (Exception e) { duration_ = new Date().getTime()-now_.getTime(); 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.recordMetricEventEnd(); duration_ = new Date().getTime()-now_.getTime(); if (server != null) server.getServer().recordApi(null, this, "${op.name}", ApiRequestStatus.OKAY, ${StringUtil.join(vars1,",")}); $ret } <% } %> <% 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); } @Override public Object handleBinary(String userName, String action, String resourcePath, InputStream in) { return controller.handleBinary(userName,action,resourcePath,in); } <% } %> <% if (g.enableISwaggerHandler) { %> @Override public void updateSwagger(String path, SwaggerUtils swagger) { controller.updateSwagger(path,swagger); } <% } %> <% if (g.enableISiriusPlugin) { %> @Override public void start() { controller.start(); } <% } %> public static void ecoreSetup() { ${prefix}${name}Provider.ecoreSetup(); } public ${prefix}${name}Provider getSomfProvider() { return controller; } }