blob: 2b7da15132f6edce37b9586b362a2ce09f45dc0c [file] [log] [blame]
/*******************************************************************************
* 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»
}'''
}
}