
main.java.com.dragome.web.serverside.servlets.ServiceInvoker Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) 2011-2014 Fernando Petrola
*
* This file is part of Dragome SDK.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
******************************************************************************/
package com.dragome.web.serverside.servlets;
import java.util.concurrent.Executor;
import com.dragome.services.ServiceInvocation;
import com.dragome.services.ServiceLocator;
import com.dragome.services.interfaces.SerializationService;
import com.dragome.services.serverside.ServerReflectionServiceImpl;
import com.dragome.web.debugging.messages.ServerToClientServiceInvoker;
public class ServiceInvoker
{
public String invoke(String invocationString)
{
ServiceLocator serviceLocator= ServiceLocator.getInstance();
serviceLocator.setReflectionService(new ServerReflectionServiceImpl());
if (serviceLocator.getConfigurator() == null)
serviceLocator.setConfigurator(serviceLocator.getReflectionService().getConfigurator());
return executeService(invocationString);
}
public static String executeService(final String parameter)
{
final String[] executeService= new String[1];
Executor executor= ServiceLocator.getInstance().getConfigurator().getExecutionHandler().getExecutor();
executor.execute(new Runnable()
{
public void run()
{
SerializationService serializationService= ServiceLocator.getInstance().getSerializationService();
Object result= ((ServiceInvocation) serializationService.deserialize(parameter)).invoke();
executeService[0]= serializationService.serialize(result);
ServerToClientServiceInvoker.finalizeMethodInvocationsInClient();
}
});
return executeService[0];
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy