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

net.anotheria.portalkit.services.subscription.generated.RemoteSubscriptionServiceSkeleton Maven / Gradle / Ivy

There is a newer version: 4.1.0
Show newest version
package net.anotheria.portalkit.services.subscription.generated;
//BEGIN GENERATED CODE

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
import org.distributeme.core.Verbosity;
import org.distributeme.core.Defaults;
import org.distributeme.core.ServerSideCallContext;
import org.distributeme.core.interceptor.ServerSideRequestInterceptor;
import org.distributeme.core.interceptor.InterceptorResponse;
import org.distributeme.core.interceptor.InterceptionContext;
import org.distributeme.core.interceptor.InterceptorRegistry;
import org.distributeme.core.interceptor.InterceptionPhase;
import org.distributeme.core.concurrencycontrol.ConcurrencyControlStrategy;
import net.anotheria.moskito.core.dynamic.MoskitoInvokationProxy;
import net.anotheria.moskito.core.predefined.ServiceStatsCallHandler;
import net.anotheria.moskito.core.predefined.ServiceStatsFactory;
import net.anotheria.moskito.core.registry.IProducerRegistryAPI;
import net.anotheria.moskito.core.registry.ProducerRegistryAPIFactory;
import net.anotheria.moskito.core.producers.IStatsProducer;
import net.anotheria.moskito.core.logging.LoggerUtil;

// Generated by org.distributeme.generator.SkeletonGenerator
@SuppressWarnings("PMD")
public class RemoteSubscriptionServiceSkeleton implements RemoteSubscriptionService {

	private static Logger log = LoggerFactory.getLogger(RemoteSubscriptionServiceSkeleton.class);

	private net.anotheria.portalkit.services.subscription.SubscriptionService implementation;

	private long lastAccess;
	private long created;

	// CONCURRENCY CONTROL
	// Class wide concurrency control strategy 
	private ConcurrencyControlStrategy clazzWideCCStrategy = Defaults.getDefaultConcurrencyControlStrategy();

	private ConcurrencyControlStrategy getActiveSubscriptionForAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getSubscriptionForAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getSubscriptionsCCStrategy = clazzWideCCStrategy;
	private ConcurrencyControlStrategy deleteSubscriptionsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy deleteTransactionsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getTransactionsCCStrategy = clazzWideCCStrategy;
	private ConcurrencyControlStrategy addSubscriptionCCStrategy_netanotheriaportalkitservicessubscriptionSubscriptionsubscription = clazzWideCCStrategy;
	private ConcurrencyControlStrategy updateSubscriptionCCStrategy_netanotheriaportalkitservicessubscriptionSubscriptionsubscription = clazzWideCCStrategy;
	private ConcurrencyControlStrategy addTransactionCCStrategy_netanotheriaportalkitservicessubscriptionTransactiontransaction = clazzWideCCStrategy;
	private ConcurrencyControlStrategy addTransactionLogEntryCCStrategy_netanotheriaportalkitservicessubscriptionTransactionLogEntrytoAdd = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getTransactionLogEntriesCCStrategy_netanotheriaportalkitservicescommonAccountIdowner = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getTransactionLogEntriesCCStrategy = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getTransactionLogEntriesByMessageMaskCCStrategy_javalangStringmessageMask = clazzWideCCStrategy;
	private ConcurrencyControlStrategy deleteTransactionLogsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy saveCancellationCCStrategy_netanotheriaportalkitservicessubscriptionCancellationcancellation = clazzWideCCStrategy;
	private ConcurrencyControlStrategy deleteCancellationCCStrategy_javalangStringaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getCancellationByIdCCStrategy_javalangStringaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getCancellationsCCStrategy = clazzWideCCStrategy;
	// CONCURRENCY CONTROL end

	public RemoteSubscriptionServiceSkeleton(){
		this(null);
	}

	public RemoteSubscriptionServiceSkeleton(net.anotheria.portalkit.services.subscription.SubscriptionService anImplementation){
		created = System.currentTimeMillis();
		MoskitoInvokationProxy proxy = new MoskitoInvokationProxy(
			anImplementation,
			new ServiceStatsCallHandler(),
			new ServiceStatsFactory(),
			"SubscriptionService", 
			"service",
			"default",
			net.anotheria.portalkit.services.subscription.SubscriptionService.class, net.anotheria.anoprise.metafactory.Service.class
		);
		implementation = (net.anotheria.portalkit.services.subscription.SubscriptionService) proxy.createProxy();
		// add moskito logger
		LoggerUtil.createSLF4JDefaultAndIntervalStatsLogger(proxy.getProducer());
		//end moskito logger
		// //ADD LOGGING FOR ALL BUILTIN PRODUCERS
		IProducerRegistryAPI api = new ProducerRegistryAPIFactory().createProducerRegistryAPI();
		List stats = api.getAllProducersBySubsystem("builtin");
		for (IStatsProducer producer : stats){
			LoggerUtil.createSLF4JDefaultAndIntervalStatsLogger(producer);
		}
	}

	public List getActiveSubscriptionForAccount(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getActiveSubscriptionForAccount", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getActiveSubscriptionForAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getActiveSubscriptionForAccount(accountId);
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getActiveSubscriptionForAccount()", e);
			throw(e);
		}finally{
			getActiveSubscriptionForAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getSubscriptionForAccount(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getSubscriptionForAccount", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getSubscriptionForAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getSubscriptionForAccount(accountId);
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getSubscriptionForAccount()", e);
			throw(e);
		}finally{
			getSubscriptionForAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getSubscriptions(Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getSubscriptions", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getSubscriptionsCCStrategy.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getSubscriptions();
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getSubscriptions()", e);
			throw(e);
		}finally{
			getSubscriptionsCCStrategy.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List deleteSubscriptions(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("deleteSubscriptions", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		deleteSubscriptionsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.deleteSubscriptions(accountId);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("deleteSubscriptions()", e);
			throw(e);
		}finally{
			deleteSubscriptionsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List deleteTransactions(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("deleteTransactions", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		deleteTransactionsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.deleteTransactions(accountId);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("deleteTransactions()", e);
			throw(e);
		}finally{
			deleteTransactionsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getTransactions(Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getTransactions", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getTransactionsCCStrategy.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getTransactions();
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getTransactions()", e);
			throw(e);
		}finally{
			getTransactionsCCStrategy.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List addSubscription(net.anotheria.portalkit.services.subscription.Subscription subscription, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("addSubscription", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(subscription);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		addSubscriptionCCStrategy_netanotheriaportalkitservicessubscriptionSubscriptionsubscription.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.addSubscription(subscription);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("addSubscription()", e);
			throw(e);
		}finally{
			addSubscriptionCCStrategy_netanotheriaportalkitservicessubscriptionSubscriptionsubscription.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List updateSubscription(net.anotheria.portalkit.services.subscription.Subscription subscription, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("updateSubscription", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(subscription);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		updateSubscriptionCCStrategy_netanotheriaportalkitservicessubscriptionSubscriptionsubscription.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.updateSubscription(subscription);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("updateSubscription()", e);
			throw(e);
		}finally{
			updateSubscriptionCCStrategy_netanotheriaportalkitservicessubscriptionSubscriptionsubscription.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List addTransaction(net.anotheria.portalkit.services.subscription.Transaction transaction, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("addTransaction", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(transaction);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		addTransactionCCStrategy_netanotheriaportalkitservicessubscriptionTransactiontransaction.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.addTransaction(transaction);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("addTransaction()", e);
			throw(e);
		}finally{
			addTransactionCCStrategy_netanotheriaportalkitservicessubscriptionTransactiontransaction.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List addTransactionLogEntry(net.anotheria.portalkit.services.subscription.TransactionLogEntry toAdd, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("addTransactionLogEntry", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(toAdd);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		addTransactionLogEntryCCStrategy_netanotheriaportalkitservicessubscriptionTransactionLogEntrytoAdd.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.addTransactionLogEntry(toAdd);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("addTransactionLogEntry()", e);
			throw(e);
		}finally{
			addTransactionLogEntryCCStrategy_netanotheriaportalkitservicessubscriptionTransactionLogEntrytoAdd.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getTransactionLogEntries(net.anotheria.portalkit.services.common.AccountId owner, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getTransactionLogEntries", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(owner);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getTransactionLogEntriesCCStrategy_netanotheriaportalkitservicescommonAccountIdowner.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getTransactionLogEntries(owner);
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getTransactionLogEntries()", e);
			throw(e);
		}finally{
			getTransactionLogEntriesCCStrategy_netanotheriaportalkitservicescommonAccountIdowner.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getTransactionLogEntries(Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getTransactionLogEntries", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getTransactionLogEntriesCCStrategy.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getTransactionLogEntries();
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getTransactionLogEntries()", e);
			throw(e);
		}finally{
			getTransactionLogEntriesCCStrategy.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getTransactionLogEntriesByMessageMask(java.lang.String messageMask, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getTransactionLogEntriesByMessageMask", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(messageMask);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getTransactionLogEntriesByMessageMaskCCStrategy_javalangStringmessageMask.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getTransactionLogEntriesByMessageMask(messageMask);
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getTransactionLogEntriesByMessageMask()", e);
			throw(e);
		}finally{
			getTransactionLogEntriesByMessageMaskCCStrategy_javalangStringmessageMask.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List deleteTransactionLogs(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("deleteTransactionLogs", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		deleteTransactionLogsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.deleteTransactionLogs(accountId);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("deleteTransactionLogs()", e);
			throw(e);
		}finally{
			deleteTransactionLogsCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List saveCancellation(net.anotheria.portalkit.services.subscription.Cancellation cancellation, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("saveCancellation", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(cancellation);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		saveCancellationCCStrategy_netanotheriaportalkitservicessubscriptionCancellationcancellation.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.saveCancellation(cancellation);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("saveCancellation()", e);
			throw(e);
		}finally{
			saveCancellationCCStrategy_netanotheriaportalkitservicessubscriptionCancellationcancellation.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List deleteCancellation(java.lang.String accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("deleteCancellation", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		deleteCancellationCCStrategy_javalangStringaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.deleteCancellation(accountId);
			__return.add(org.distributeme.core.util.VoidMarker.VOID);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("deleteCancellation()", e);
			throw(e);
		}finally{
			deleteCancellationCCStrategy_javalangStringaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getCancellationById(java.lang.String accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getCancellationById", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getCancellationByIdCCStrategy_javalangStringaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getCancellationById(accountId);
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getCancellationById()", e);
			throw(e);
		}finally{
			getCancellationByIdCCStrategy_javalangStringaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getCancellations(Map __transportableCallContext) throws net.anotheria.portalkit.services.subscription.SubscriptionServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getCancellations", __transportableCallContext);
		diMeCallContext.setServiceId(SubscriptionServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeCallContext.setParameters(diMeParameters);
		InterceptionContext diMeInterceptionContext = new InterceptionContext();
		// Initialize interceptors
		List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();

		ArrayList __return = new ArrayList();

		diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
		for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
			InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
			switch(interceptorResponse.getCommand()){
			case ABORT:
				if (interceptorResponse.getException() instanceof RuntimeException)
					throw (RuntimeException) interceptorResponse.getException();
				if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
					throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
				throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
			case RETURN:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case OVERWRITE_RETURN_AND_CONTINUE:
				__return.set(0, interceptorResponse.getReturnValue());
				diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
				break;
			case CONTINUE:
				break;
			} //...switch
		} //...for
		// Concurrency control, server side - 
		getCancellationsCCStrategy.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getCancellations();
			__return.add(__result);
			diMeInterceptionContext.setReturnValue(__result);
			__return.add(diMeCallContext.getTransportableCallContext());
			diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
			for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
				InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
				switch(interceptorResponse.getCommand()){
				case ABORT:
					if (interceptorResponse.getException() instanceof RuntimeException)
						throw (RuntimeException) interceptorResponse.getException();
					if (interceptorResponse.getException() instanceof net.anotheria.portalkit.services.subscription.SubscriptionServiceException)
						throw (net.anotheria.portalkit.services.subscription.SubscriptionServiceException) interceptorResponse.getException();
					throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
				case RETURN:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case OVERWRITE_RETURN_AND_CONTINUE:
					__return.set(0, interceptorResponse.getReturnValue());
					diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
					break;
				case CONTINUE:
					break;
				} //...switch
			} //...for
			return __return;
		}catch(net.anotheria.portalkit.services.subscription.SubscriptionServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getCancellations()", e);
			throw(e);
		}finally{
			getCancellationsCCStrategy.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	// Service adapter methods
	public long getCreationTimestamp(){ return created; }
	public long getLastAccessTimestamp(){ return lastAccess; }

}