package org.marketcetera.util.ws.sample;
import org.marketcetera.util.except.I18NException;
import org.marketcetera.util.log.I18NMessage2P;
import org.marketcetera.util.misc.ClassVersion;
import org.marketcetera.util.ws.stateless.StatelessClientContext;
import org.marketcetera.util.ws.stateless.StatelessRemoteCaller;
import org.marketcetera.util.ws.stateless.StatelessServiceBaseImpl;
import org.marketcetera.util.ws.wrappers.RemoteException;
/**
* A sample stateless service: the implementation.
*
* @author tlerios@marketcetera.com
* @since 1.0.0
* @version $Id: SampleStatelessServiceImpl.java 16154 2012-07-14 16:34:05Z colin $
*/
/* $License$ */
@ClassVersion("$Id: SampleStatelessServiceImpl.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$
public class SampleStatelessServiceImpl
extends StatelessServiceBaseImpl
implements SampleStatelessService
{
// INSTANCE DATA.
private I18NMessage2P mGreeting;
// CONSTRUCTORS.
public SampleStatelessServiceImpl
(I18NMessage2P greeting)
{
mGreeting=greeting;
}
// SERVICE IMPLEMENTATION.
public static void checkName
(String name)
throws I18NException
{
if ("I18NException".equals(name)) {
throw new I18NException
(SampleMessages.EXCEPTION_MESSAGE);
}
if ("AssertionError".equals(name)) {
throw new AssertionError
("This is the error message");
}
if ("IllegalArgumentException".equals(name)) {
throw new IllegalArgumentException
("This is the exception message");
}
if (name==null) {
throw new AssertionError();
}
}
private String helloImpl
(StatelessClientContext context,
String name)
throws I18NException
{
checkName(name);
return mGreeting.getText(name,-1);
}
// SampleStatelessServiceIface.
@Override
public String hello
(StatelessClientContext context,
final String name)
throws RemoteException
{
return (new StatelessRemoteCaller<String>() {
@Override
protected String call
(StatelessClientContext context)
throws I18NException
{
return helloImpl(context,name);
}}).execute(context);
}
}