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

net.anotheria.portalkit.services.accountarchive.generated.RemoteAccountArchiveServiceSkeleton Maven / Gradle / Ivy

package net.anotheria.portalkit.services.accountarchive.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 RemoteAccountArchiveServiceSkeleton implements RemoteAccountArchiveService {

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

	private net.anotheria.portalkit.services.accountarchive.AccountArchiveService implementation;

	private long lastAccess;
	private long created;

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

	private ConcurrencyControlStrategy getAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getAccountsCCStrategy_javautilListaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy deleteAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy deleteAccountsByEmailCCStrategy_javalangStringpattern = clazzWideCCStrategy;
	private ConcurrencyControlStrategy updateAccountCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccounttoUpdate = clazzWideCCStrategy;
	private ConcurrencyControlStrategy createAccountCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccounttoUpdate = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getCustomNoteCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId = clazzWideCCStrategy;
	private ConcurrencyControlStrategy saveCustomNoteCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId_javalangStringcustomNote = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getAccountByNameCCStrategy_javalangStringname = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getAccountByEmailCCStrategy_javalangStringemail = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getAllAccountsCCStrategy = clazzWideCCStrategy;
	private ConcurrencyControlStrategy getAccountsByQueryCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccountQueryquery = clazzWideCCStrategy;
	// CONCURRENCY CONTROL end

	public RemoteAccountArchiveServiceSkeleton(){
		this(null);
	}

	public RemoteAccountArchiveServiceSkeleton(net.anotheria.portalkit.services.accountarchive.AccountArchiveService anImplementation){
		created = System.currentTimeMillis();
		MoskitoInvokationProxy proxy = new MoskitoInvokationProxy(
			anImplementation,
			new ServiceStatsCallHandler(),
			new ServiceStatsFactory(),
			"AccountArchiveService", 
			"service",
			"default",
			net.anotheria.portalkit.services.accountarchive.AccountArchiveService.class, net.anotheria.anoprise.metafactory.Service.class
		);
		implementation = (net.anotheria.portalkit.services.accountarchive.AccountArchiveService) 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 getAccount(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getAccount", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getAccount(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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getAccount()", e);
			throw(e);
		}finally{
			getAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getAccounts(java.util.List accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getAccounts", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getAccountsCCStrategy_javautilListaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getAccounts(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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getAccounts()", e);
			throw(e);
		}finally{
			getAccountsCCStrategy_javautilListaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List deleteAccount(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("deleteAccount", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		deleteAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.deleteAccount(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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("deleteAccount()", e);
			throw(e);
		}finally{
			deleteAccountCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List deleteAccountsByEmail(java.lang.String pattern, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("deleteAccountsByEmail", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(pattern);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		deleteAccountsByEmailCCStrategy_javalangStringpattern.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.deleteAccountsByEmail(pattern);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("deleteAccountsByEmail()", e);
			throw(e);
		}finally{
			deleteAccountsByEmailCCStrategy_javalangStringpattern.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List updateAccount(net.anotheria.portalkit.services.accountarchive.ArchivedAccount toUpdate, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("updateAccount", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(toUpdate);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		updateAccountCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccounttoUpdate.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.updateAccount(toUpdate);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("updateAccount()", e);
			throw(e);
		}finally{
			updateAccountCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccounttoUpdate.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List createAccount(net.anotheria.portalkit.services.accountarchive.ArchivedAccount toUpdate, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("createAccount", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(toUpdate);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		createAccountCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccounttoUpdate.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.createAccount(toUpdate);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("createAccount()", e);
			throw(e);
		}finally{
			createAccountCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccounttoUpdate.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getCustomNote(net.anotheria.portalkit.services.common.AccountId accountId, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getCustomNote", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getCustomNoteCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getCustomNote(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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getCustomNote()", e);
			throw(e);
		}finally{
			getCustomNoteCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List saveCustomNote(net.anotheria.portalkit.services.common.AccountId accountId, java.lang.String customNote, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("saveCustomNote", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(accountId);
		diMeParameters.add(customNote);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		saveCustomNoteCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId_javalangStringcustomNote.notifyServerSideCallStarted(diMeCallContext);

		try{
			implementation.saveCustomNote(accountId, customNote);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("saveCustomNote()", e);
			throw(e);
		}finally{
			saveCustomNoteCCStrategy_netanotheriaportalkitservicescommonAccountIdaccountId_javalangStringcustomNote.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getAccountByName(java.lang.String name, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getAccountByName", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(name);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getAccountByNameCCStrategy_javalangStringname.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getAccountByName(name);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getAccountByName()", e);
			throw(e);
		}finally{
			getAccountByNameCCStrategy_javalangStringname.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getAccountByEmail(java.lang.String email, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getAccountByEmail", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(email);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getAccountByEmailCCStrategy_javalangStringemail.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getAccountByEmail(email);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getAccountByEmail()", e);
			throw(e);
		}finally{
			getAccountByEmailCCStrategy_javalangStringemail.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getAllAccounts(Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getAllAccounts", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getAllAccountsCCStrategy.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getAllAccounts();
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getAllAccounts()", e);
			throw(e);
		}finally{
			getAllAccountsCCStrategy.notifyServerSideCallFinished(diMeCallContext);
		}
	}

	public List getAccountsByQuery(net.anotheria.portalkit.services.accountarchive.ArchivedAccountQuery query, Map __transportableCallContext) throws net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException{
		lastAccess = System.currentTimeMillis();
		ServerSideCallContext diMeCallContext = new ServerSideCallContext("getAccountsByQuery", __transportableCallContext);
		diMeCallContext.setServiceId(AccountArchiveServiceConstants.getServiceId());
		ArrayList diMeParameters = new ArrayList();
		diMeParameters.add(query);
		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.accountarchive.AccountArchiveServiceException)
					throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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 - 
		getAccountsByQueryCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccountQueryquery.notifyServerSideCallStarted(diMeCallContext);

		try{
			Object __result = implementation.getAccountsByQuery(query);
			__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.accountarchive.AccountArchiveServiceException)
						throw (net.anotheria.portalkit.services.accountarchive.AccountArchiveServiceException) 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.accountarchive.AccountArchiveServiceException e){
			if (Verbosity.logServerSideExceptions())
				log.error("getAccountsByQuery()", e);
			throw(e);
		}finally{
			getAccountsByQueryCCStrategy_netanotheriaportalkitservicesaccountarchiveArchivedAccountQueryquery.notifyServerSideCallFinished(diMeCallContext);
		}
	}

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

}