| /******************************************************************************* |
| * Copyright (c) 2014 Bosch Software Innovations GmbH and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * and Eclipse Distribution License v1.0 which accompany this distribution. |
| * |
| * The Eclipse Public License is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * The Eclipse Distribution License is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * Contributors: |
| * Bosch Software Innovations GmbH - Please refer to git log |
| * |
| *******************************************************************************/ |
| package org.eclipse.vorto.codegen.examples.webdevice.tasks.templates |
| |
| import org.eclipse.vorto.functionblock.FunctionblockModel |
| import org.eclipse.vorto.codegen.examples.webdevice.tasks.ModuleUtil |
| import org.eclipse.vorto.codegen.api.tasks.ITemplate |
| |
| class ServiceClassTemplate implements ITemplate { |
| |
| override getContent(FunctionblockModel model) { |
| ''' |
| package «ModuleUtil.getServicePackage(model)»; |
| |
| import java.util.logging.Logger; |
| |
| import javax.ws.rs.GET; |
| import javax.ws.rs.PUT; |
| import javax.ws.rs.Path; |
| import javax.ws.rs.Produces; |
| import javax.ws.rs.core.MediaType; |
| |
| import com.bosch.iot.«model.name.toLowerCase».model.«model.name»; |
| |
| @Path("/«model.name»") |
| public class «model.name»Service { |
| private static Logger logger = Logger.getLogger("«model.name»"); |
| private static «model.name» «model.name.toFirstLower»instance = new «model.name»(); |
| |
| @GET |
| @Path("/instance") |
| @Produces(MediaType.APPLICATION_JSON) |
| public «model.name» getInstance(){ |
| return «model.name.toFirstLower»instance ; |
| } |
| |
| «FOR operation : model.functionblock.features» |
| /** |
| * «operation.description» |
| */ |
| @PUT |
| @Path("/«operation.methodName»") |
| public void «operation.methodName»() { |
| //Please handle your operation here |
| logger.info("«operation.methodName» invoked"); |
| } |
| |
| «ENDFOR» |
| }''' |
| } |
| } |