![JAR search and dependency download from the Maven repository](/logo.png)
template.java.stg Maven / Gradle / Ivy
group T;
apiEntry(ret, name, params, doc) ::= <<
/**
*/
();
>>
param(type,name) ::= " "
param2(name) ::= ""
apilist(apitype, apis, typeimports) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common.api;
import rapture.common.exception.RaptException;
import rapture.common.CallingContext;
import java.util.List;
import java.util.Map;
@SuppressWarnings("all")
public interface Api {
}
>>
wrapperEntry(ret, name, params, callParams, apitype) ::= <<
@Override
public () {
Payload requestObj = new Payload();
requestObj.setContext(context);
contextValidator.validateContext(context, EntitlementSet._, requestObj);
Kernel.getApiHooksService().pre(context, CallName._);
returnValue = apiImpl.();
Kernel.getApiHooksService().post(context, CallName._);
return returnValue;
}
>>
wrapperImpl(apitype, apis, typeimports, payloadImports) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.kernel;
import org.apache.log4j.Logger;
import java.util.List;
import java.util.Map;
import rapture.common.api.Api;
import rapture.common.CallingContext;
import rapture.common.RaptureEntitlementsContext;
import rapture.common.hooks.CallName;
import rapture.common.model.BasePayload;
import rapture.common.EntitlementSet;
import rapture.kernel.context.ContextValidator;
/**
* This class is a wrapper around the class {@link ApiImpl}. This is an auto-generated class that gives us the ability to add hooks such as entitlmeent
* checks before each function call in the implementation. Since we always want to call these hooks, an instance of this class should be used
* (in {@link Kernel}) instead of using the implementation directly.
* implementation directly.
*
*/
@SuppressWarnings("all")
public class ApiImplWrapper implements Api, KernelApi {
private static final Logger log = Logger.getLogger(ApiImplWrapper.class);
private ApiImpl apiImpl;
private ContextValidator contextValidator;
public ApiImplWrapper(Kernel kernel) {
apiImpl = new ApiImpl(kernel);
contextValidator = new ContextValidator();
}
/**
* Returns the underlying implementation object. This is a temporary workaround, it should not be normally used!
* @return {@link }
*/
public ApiImpl getTrusted() {
return apiImpl;
}
@Override
public void start() {
apiImpl.start();
}
}
>>
scriptapiimpl(apittype, apis, typeimports) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.kernel.script;
import java.util.List;
import java.util.Map;
import rapture.common.api.Api;
import rapture.common.api.ScriptApi;
import rapture.common.CallingContext;
import rapture.common.exception.RaptException;
@SuppressWarnings("all")
public class Script implements ScriptApi {
private CallingContext callingCtx;
private Api api;
public void setCallingContext(CallingContext ctx) {
this.callingCtx = ctx;
}
public Script(Api api) {
this.api = api;
}
}
>>
scriptapientry(ret, name, params, apiparams) ::= <<
@Override
public () {
return api.(callingCtx, );
}
>>
scriptapilist(apitype, apis, typeimports) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common.api;
import rapture.common.CallingContext;
import rapture.common.exception.RaptException;
import java.util.List;
import java.util.Map;
@SuppressWarnings("all")
public interface ScriptApi {
}
>>
package(name) ::= <<
import ;
>>
apisec(api) ::= ""
params(p) ::= <<
>>
attrForClass(type, name) ::= <<
private ;
public void set( ) {
this. = ;
}
public get() {
return this.;
}
>>
entValues(ents) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common;
public final class EntitlementConst {
private EntitlementConst() {
}
= "";
}>
}
>>
entEntry(api, name, path) ::= <<
_(EntitlementConst.)
>>
entTypes(entTypes) ::= <<
>>
fullEnt(ents) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common;
public enum EntitlementSet {
;
private String path;
EntitlementSet(String path) {
this.path = path;
};
public String getPath() {
return path;
};
}
>>
callNameEntry(api, name) ::= <<
_(ApiName.)
>>
callNamesEnum(ents) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common.hooks;
public enum CallName {
;
private ApiName apiName;
CallName(ApiName apiName) {
this.apiName = apiName;
}
public ApiName getApiName() {
return apiName;
}
}
>>
apiNamesEnum(ents) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common.hooks;
public enum ApiName {
;
}
>>
scriptApiInterface(ents) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package rapture.common.api;
import rapture.common.InstallableKernel;
public interface ScriptingApi {
;
public InstallableKernel getInstalledKernel(String name);
}
>>
scriptApiEntry(ent) ::= <<
public ScriptApi get();
>>
dispatchEntry(name) ::= <<
(Dispatch.class)
>>
dispatchFn(apitype, dispatcher) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This file is autogenerated and any changes will be overwritten
*/
package rapture.common.shared.;
import rapture.common.exception.RaptException;
import rapture.server.BaseDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public enum DispatchFunction {
;
private BaseDispatcher dispatcher;
\ DispatchFunction(Class\ klass) {
try {
this.dispatcher = klass.newInstance();
} catch(Exception e) {
throw new RaptException(e);
}
}
public String executeDispatch(String params, HttpServletRequest req, HttpServletResponse resp) {
return this.dispatcher.dispatch(params, req, resp);
}
}
>>
payloadFile(apitype, ret, name, params, apiparams, imports, retImport) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This file is autogenerated and any changes made to it will be overwritten
*/
package rapture.common.shared.;
import java.util.List;
import java.util.Map;
import rapture.common.model.BasePayload;
import rapture.common.RaptureURI;
import rapture.common.RaptureURI.Scheme;
@SuppressWarnings("all")
public class Payload extends BasePayload {
}
>>
payloadTestFile(apiType, ret, name, testSetters, testGetters) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This file is autogenerated and any changes made to it will be overwritten
*/
package rapture.common.shared.;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import rapture.common.exception.RaptException;
import rapture.common.impl.jackson.JacksonUtil;
@SuppressWarnings("all")
public class PayloadTest {
@Test
public void testSerialization() {
Payload payload = new Payload();
String val = JacksonUtil.jsonFromObject(payload);
System.out.println(val);
Payload ret = JacksonUtil.objectFromJson(val, Payload.class);
String val2 = JacksonUtil.jsonFromObject(ret);
assertTrue(val.equals(val2));
}
}
>>
callSetter(name, value) ::= <<
payload.set();
>>
testGetter(name, value, equalsTest) ::= <<
assertTrue(payload.get() == ret.get());
assertTrue(payload.get().equals(ret.get()));
>>
dispatchFile(apitype, ret, name, params, apiparams, imports, retImport, ent) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This file is autogenerated and any changes will be overwritten
*/
package rapture.common.shared.;
import java.util.List;
import java.util.Map;
import rapture.common.EntitlementSet;
import rapture.common.exception.RaptException;
import rapture.common.impl.jackson.JacksonUtil;
import rapture.kernel.Kernel;
import rapture.server.BaseDispatcher;
import rapture.common.model.GeneralResponse;
import rapture.common.CallingContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("all")
public class Dispatch extends BaseDispatcher {
@Override
public String dispatch(String params, HttpServletRequest req, HttpServletResponse resp) {
try {
Payload payload = JacksonUtil.objectFromJson(params, Payload.class);
CallingContext sessionContext = validateSession(req, payload); // will throw RaptNotLoggedInException if not a valid logged in context
preHandlePayload(sessionContext, payload, EntitlementSet._.getPath());
rsp = Kernel.get().(sessionContext == null ? payload.getContext() : sessionContext , );
return processResponse(new GeneralResponse(rsp));
}
catch (RaptException e) {
return error(e);
}
}
}
>>
// Don't do this line for the first one
apiset() ::= <<
requestObj.set();
>>
payset() ::= <<
payload.get()
>>
httpscriptapifn(apitype, ret, name, params, callParams) ::= <<
@Override
public () {
return (null,);
}
>>
httpapifn(apitype, ret, name, params, apiparams) ::= <<
private static final class TypeReference extends TypeReference\<\> {
}
@Override
public () {
Payload requestObj = new Payload();
requestObj.setContext(context == null ? this.getContext() : context);
return doRequest(requestObj, "", new TypeReference());
}
>>
httpfile(apitype, imports, payloadImports, fns, scriptFns) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This file is autogenerated and any changes will be overwritten.
*/
package rapture.common.client;
import java.util.List;
import java.util.Map;
import rapture.common.api.Api;
import rapture.common.api.ScriptApi;
import rapture.common.CallingContext;
import rapture.common.model.GeneralResponse;
import rapture.common.model.BasePayload;
import rapture.common.exception.RaptException;
import rapture.common.impl.jackson.JacksonUtil;
import org.codehaus.jackson.type.TypeReference;
@SuppressWarnings("all")
public class HttpApi extends BaseHttpApi implements Api, ScriptApi {
public HttpApi(HttpLoginApi login) {
super(login, "");
}
}
>>
reqRespImp(apitype, name) ::= <<
import rapture.common.shared..Payload;
>>
versionConst(major, minor, micro, type, package) ::= <<
/**
* Copyright (C) 2011-2013 Incapture Technologies LLC
*
* This is an autogenerated license statement. When copyright notices appear below
* this one that copyright supercedes this statement.
*
* Unless required by applicable law or agreed to in writing, software is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied.
*
* Unless explicit permission obtained in writing this software cannot be distributed.
*/
/**
* This is an autogenerated file. You should not edit this file as any changes
* will be overwritten.
*/
package ;
import rapture.common.version.ApiVersion;
public enum ApiVersion {
INSTANCE;
public static ApiVersion getApiVersion() {
return INSTANCE.apiVersion;
}
public static final int MAJOR = ;
public static final int MINOR = ;
public static final int MICRO = ;
private ApiVersion apiVersion;
private ApiVersion() {
apiVersion = new ApiVersion();
apiVersion.setMajor(MAJOR);
apiVersion.setMinor(MINOR);
apiVersion.setMicro(MICRO);
}
}
>>
dynamicentitlemententry(dynEntType, uriArg) ::= <<
private String ;
public String get() {
return new RaptureURI(, Scheme.DOCUMENT).get();
}
>>