All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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();
    }

>>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy