From 99f65b8acfac1d8a5e4216d18d8baf29eedc3a3b Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 6 Jul 2010 14:05:22 +0000
Subject: [PATCH] extract common code for API service exporting into a helper
 class.

SVN: 16874
---
 .../server/api/v1/RawDataServiceServer.java   | 23 ++++---------------
 .../shared/api/v1/IRawDataService.java        |  2 +-
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/RawDataServiceServer.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/RawDataServiceServer.java
index 5f4def48cff..16c6ca3fc3a 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/RawDataServiceServer.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/RawDataServiceServer.java
@@ -18,14 +18,10 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.api.v1;
 
 import javax.annotation.Resource;
 
-import org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import ch.systemsx.cisd.common.api.IRpcServiceNameServer;
-import ch.systemsx.cisd.common.api.RpcServiceInterfaceVersionDTO;
-import ch.systemsx.cisd.common.api.server.RpcServiceNameServer;
-import ch.systemsx.cisd.common.spring.ServiceExceptionTranslator;
+import ch.systemsx.cisd.common.api.server.AbstractApiServiceExporter;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.IRawDataService;
 
 /**
@@ -36,27 +32,16 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.IRawDataService
 @Controller
 @RequestMapping(
     { IRawDataService.SERVER_URL, "/openbis" + IRawDataService.SERVER_URL })
-public class RawDataServiceServer extends HttpInvokerServiceExporter
+public class RawDataServiceServer extends AbstractApiServiceExporter
 {
     @Resource(name = Constants.PHOSPHONETX_RAW_DATA_SERVICE)
     private IRawDataService service;
 
-    @Resource(name = IRpcServiceNameServer.PREFFERED_BEAN_NAME)
-    private RpcServiceNameServer nameServer;
-
     @Override
     public void afterPropertiesSet()
     {
-        setServiceInterface(IRawDataService.class);
-        setService(service);
-        setInterceptors(new Object[]
-            { new ServiceExceptionTranslator() });
-        int majorVersion = service.getMajorVersion();
-        int minorVersion = service.getMinorVersion();
-        RpcServiceInterfaceVersionDTO ifaceVersion =
-                new RpcServiceInterfaceVersionDTO(IRawDataService.SERVICE_NAME,
-                        IRawDataService.SERVER_URL, majorVersion, minorVersion);
-        nameServer.addSupportedInterfaceVersion(ifaceVersion);
+        establishService(IRawDataService.class, service, IRawDataService.SERVICE_NAME,
+                IRawDataService.SERVER_URL);
         super.afterPropertiesSet();
     }
 }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IRawDataService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IRawDataService.java
index 3de971305db..7a02066e4ee 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IRawDataService.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IRawDataService.java
@@ -39,7 +39,7 @@ public interface IRawDataService extends IRpcService
     public static final String SERVICE_NAME = "phosphonetx-raw-data";
     
     /**
-     * Application part of the URL to access this service remotely.
+     * Service part of the URL to access this service remotely.
      */
     public static final String SERVER_URL = "/rmi-" + SERVICE_NAME + "-v1";
 
-- 
GitLab