Changeset 7282 for RevitalizationWS


Ignore:
Timestamp:
05/08/10 15:40:54 (9 years ago)
Author:
mnagni
Message:

Implemented the DoNewProviderRequest?.
Activated the mail service
Removed the HarvestModelManager?

Location:
RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization
Files:
8 added
3 deleted
14 edited

Legend:

Unmodified
Added
Removed
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/DPWS.java

    r7271 r7282  
    88import ndg.services.revitalization.ejb.interfaces.DPWSLocal; 
    99import ndg.services.revitalization.ejb.interfaces.DPWSRemote; 
     10import ndg.services.revitalization.executor.ExecuteDoNewProvider; 
    1011import ndg.services.revitalization.executor.ExecuteGetList; 
    1112import ndg.services.revitalization.executor.ExecuteGetListNames; 
     13import ndg.services.revitalization.executor.ExecuteGetProcessStatusRequest; 
    1214import ndg.services.revitalization.executor.ExecuteHarvest; 
    1315import ndg.services.revitalization.executor.ServiceExecutor; 
     
    1820import ndg.services.schemas.revitalization.DoIngestRequest; 
    1921import ndg.services.schemas.revitalization.DoIngestReturn; 
     22import ndg.services.schemas.revitalization.DoNewProviderRequest; 
     23import ndg.services.schemas.revitalization.DoNewProviderResponse; 
    2024import ndg.services.schemas.revitalization.GetHarvestHistoryRequest; 
    2125import ndg.services.schemas.revitalization.GetHarvestHistoryReturn; 
     
    2630import ndg.services.schemas.revitalization.GetListType; 
    2731import ndg.services.schemas.revitalization.GetProcessStatusRequest; 
    28 import ndg.services.schemas.revitalization.GetProcessStatusReturn; 
     32import ndg.services.schemas.revitalization.GetProcessStatusResponse; 
    2933import ndg.services.schemas.revitalization.GetProviderDetailsRequest; 
    3034import ndg.services.schemas.revitalization.GetProviderDetailsReturn; 
     
    4953                return executor.doService(request); 
    5054        } 
     55 
     56        @WebMethod(operationName="getStatusProcess") 
     57        public GetProcessStatusResponse getUsageStats(@WebParam(name="request") GetProcessStatusRequest request) { 
     58                ServiceExecutor<GetProcessStatusRequest, GetProcessStatusResponse> executor = new ExecuteGetProcessStatusRequest(); 
     59                return executor.doService(request); 
     60        } 
     61 
     62        @WebMethod(operationName="getList") 
     63        public GetListResponse getListType(@WebParam(name="request") GetListType request) { 
     64                ServiceExecutor<GetListType, GetListResponse> executor = new ExecuteGetList(); 
     65                return executor.doService(request); 
     66        } 
     67         
     68        @WebMethod(operationName="doNewProvider") 
     69        public DoNewProviderResponse doNewProvider(@WebParam(name="request") DoNewProviderRequest request) { 
     70                ServiceExecutor<DoNewProviderRequest, DoNewProviderResponse> executor = new ExecuteDoNewProvider(); 
     71                return executor.doService(request); 
     72        }        
     73         
     74        @WebMethod(operationName="getListNames") 
     75        public GetListNamesResponse getListNames() { 
     76                ServiceExecutor<Object, GetListNamesResponse> executor = new ExecuteGetListNames(); 
     77                return executor.doService(null); 
     78        }                
    5179         
    5280        @WebMethod(operationName="doIngest") 
    5381        public DoIngestReturn doIngest(@WebParam(name="request") DoIngestRequest request) { 
    5482                return of.createDoIngestReturn(); 
    55         } 
     83        }        
    5684         
    5785        @WebMethod(operationName="doConfigureProviderDetails") 
     
    7098        } 
    7199         
    72         @WebMethod(operationName="getList") 
    73         public GetListResponse getListType(@WebParam(name="request") GetListType request) { 
    74                 ServiceExecutor<GetListType, GetListResponse> executor = new ExecuteGetList(); 
    75                 return executor.doService(request); 
    76         } 
    77          
    78         @WebMethod(operationName="getListNames") 
    79         public GetListNamesResponse getListNames() { 
    80                 ServiceExecutor<Object, GetListNamesResponse> executor = new ExecuteGetListNames(); 
    81                 return executor.doService(null); 
    82         } 
    83          
    84100        @WebMethod(operationName="getProviderDetails") 
    85101        public GetProviderDetailsReturn getProviderDetails(@WebParam(name="request") GetProviderDetailsRequest request) { 
     
    96112                return of.createGetUsageStatsReturn(); 
    97113        } 
    98          
    99         @WebMethod(operationName="getStatusProcess") 
    100         public GetProcessStatusReturn getUsageStats(@WebParam(name="request") GetProcessStatusRequest request) { 
    101                 return of.createGetProcessStatusReturn(); 
    102         } 
    103114} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/HiProcessModel.java

    r7271 r7282  
    11package ndg.services.revitalization.ejb; 
     2 
     3import java.util.List; 
    24 
    35import javax.ejb.Stateless; 
     
    68import javax.persistence.EntityManager; 
    79import javax.persistence.PersistenceContext; 
     10import javax.persistence.Query; 
    811 
    912import ndg.services.revitalization.ejb.interfaces.HiProcessModelLocal; 
    10 import ndg.services.revitalization.ejb.interfaces.HiProcessModelRemote; 
    1113import ndg.services.revitalization.jpa.HiProcess; 
    1214import ndg.services.revitalization.jpa.HiStatus; 
     
    1921public class HiProcessModel implements HiProcessModelLocal { 
    2022 
     23        private final static String GET_HI_PROCESS = "select hp from HiProcess hp where hp.id IN (:hpID)"; 
     24         
    2125        private enum STATUS { 
    2226                START_HARV("start_harv"), 
     
    5761                return actualProcess; 
    5862        } 
     63         
     64        public List<HiProcess> getHiProcess(List<Integer> processIDs) { 
     65                Query query = em.createQuery(GET_HI_PROCESS); 
     66                query.setParameter("hpID", processIDs); 
     67                return (List<HiProcess>) query.getResultList(); 
     68        }        
    5969} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/MailDispatcher.java

    r7271 r7282  
    11package ndg.services.revitalization.ejb; 
     2 
     3import java.util.ArrayList; 
     4import java.util.List; 
    25 
    36import javax.annotation.Resource; 
    47import javax.ejb.Stateless; 
    5 import javax.mail.Folder; 
     8import javax.mail.Address; 
    69import javax.mail.Message; 
    710import javax.mail.MessagingException; 
    8 import javax.mail.Store; 
    911import javax.mail.Transport; 
    1012import javax.mail.internet.AddressException; 
     
    2325        private javax.mail.Session mailSession; 
    2426         
    25         public static final String mailFrom = "discovery@discovery.badc.rl.ac.uk"; 
     27        public static final String mailFrom = "discovery@badc.rl.ac.uk"; 
    2628         
    27         public void sendMail(String mailTo, String subject, String msgText) { 
     29        public void sendMail(List<String> mailTo, String subject, String msgText) { 
     30                if (mailTo == null || mailTo.size() == 0) 
     31                        return; //really should raise an exception 
     32                List<Address> addresses = new ArrayList<Address>(); 
     33                Address addr = null; 
     34                for (String mail: mailTo) { 
     35                        try { 
     36                                addr = new InternetAddress(mail); 
     37                                addresses.add(addr); 
     38                        } catch (AddressException e) { 
     39                                //really should raise an exception 
     40                                e.printStackTrace(); 
     41                        } 
     42                } 
    2843                MimeMessage msg = new MimeMessage(mailSession); 
    2944 
    3045                try { 
    31                         msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo)); 
     46                        msg.setRecipients(Message.RecipientType.TO, addresses.toArray(new InternetAddress[0])); 
    3247                        msg.setFrom(new InternetAddress(mailFrom)); 
    3348                        msg.setSubject(subject); 
    3449                        msg.setText(msgText); 
    3550 
    36                         Transport.send(msg); 
    37                         Store store = mailSession.getStore(); 
    38                         store.connect(); 
    39  
    40                         Folder f = store.getFolder("Sent"); 
    41                         if (!f.exists()) 
    42                                 f.create(Folder.HOLDS_MESSAGES); 
    43  
    44                         f.appendMessages(new Message[] { msg }); 
     51                        Transport transport = mailSession.getTransport(); 
     52                        transport.connect(); 
     53                        transport.sendMessage(msg, msg.getAllRecipients()); 
     54                         
    4555                } catch (AddressException e) { 
    4656                        // TODO Auto-generated catch block 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/ModelManager.java

    r7271 r7282  
    1212import javax.persistence.EntityManager; 
    1313import javax.persistence.PersistenceContext; 
    14 import javax.persistence.PersistenceException; 
    1514import javax.persistence.Query; 
    1615 
     
    1817import ndg.services.revitalization.ejb.interfaces.ModelManagerLocal; 
    1918import ndg.services.revitalization.ejb.interfaces.ModelManagerRemote; 
     19import ndg.services.revitalization.harvest.Harvester; 
    2020import ndg.services.revitalization.jpa.HarvestLog; 
    2121import ndg.services.revitalization.jpa.HiProcess; 
     22import ndg.services.revitalization.jpa.OaiProvider; 
     23import ndg.services.revitalization.jpa.ProviderCommon; 
     24import ndg.services.revitalization.jpa.ProviderEmail; 
     25import ndg.services.revitalization.jpa.ServiceConfig; 
    2226import ndg.services.revitalization.jpa.ServiceParameterValue; 
    2327 
     
    3034        private final static String GET_SERVICE_PARAMETER_NAMES = "select p.name from ServiceParameter p"; 
    3135        private final static String GET_SERVICE_PARAMETER_VALUES = "select p.serviceParameterValues from ServiceParameter p where p.name=:parName"; 
     36        private final static String GET_CONFIGURATION_PARAMETER = "from ServiceConfig p where p.id=:id"; 
     37        private final static String GET_PROVIDER_COMMON = "from ProviderCommon p where p.id=:id"; 
     38        private final static String GET_OAI_PROVIDER = "from OaiProvider p where p.commonId=:id"; 
     39        private final static String GET_CSW_PROVIDER = "from CswProvider p where p.commonId=:id"; 
    3240         
    3341        @PersistenceContext(unitName = "discoveryDPWS") 
    3442        private EntityManager em; 
    35          
    36         @EJB  
     43 
     44        @EJB 
    3745        private HiProcessModelLocal processModel; 
    38          
     46 
    3947        @Resource 
    4048        private SessionContext sessionContext; 
    41          
    42         public List<String> getServiceParameterNames(){ 
     49 
     50        public List<String> getServiceParameterNames() { 
    4351                Query query = em.createQuery(GET_SERVICE_PARAMETER_NAMES); 
    4452                return (List<String>) query.getResultList(); 
    4553        } 
    4654 
    47         public List<String> getServiceParameterNamesValues(String parName){ 
     55        public List<String> getServiceParameterNamesValues(String parName) { 
    4856                Query query = em.createQuery(GET_SERVICE_PARAMETER_VALUES); 
    4957                query.setParameter("parName", parName); 
     
    5159                List<String> ret = new ArrayList<String>(); 
    5260                if (parValues != null && parValues.size() > 0) { 
    53                         for(ServiceParameterValue parValue : parValues) { 
     61                        for (ServiceParameterValue parValue : parValues) { 
    5462                                ret.add(parValue.getValue()); 
    5563                        } 
     
    5765                return ret; 
    5866        } 
    59          
     67 
    6068        public HarvestLog getHarvestLog(int id) { 
    6169                return em.find(HarvestLog.class, id); 
    6270        } 
    63          
    64         public void updateHarvestLog(HarvestLog harvestLog) { 
    65                 em.merge(harvestLog);            
    66         } 
    67          
    68         @TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW)       
    69         public void updateHarvestingLogAndStatus(HiProcess hiProcess, HarvestLog harvestLog) { 
    70                 //set the process's status to run_harvest                
     71 
     72        @TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW) 
     73        public void updateHarvestingLogAndStatus(HiProcess hiProcess, 
     74                        HarvestLog harvestLog) { 
     75                // set the process's status to run_harvest 
    7176                processModel.advanceStatus(hiProcess); 
    72                 HarvestLog existingLog = em.find(HarvestLog.class, harvestLog.getReqId()); 
     77                HarvestLog existingLog = em.find(HarvestLog.class, harvestLog 
     78                                .getReqId()); 
    7379                if (existingLog == null) { 
    7480                        em.persist(harvestLog); 
     
    7783                } 
    7884        } 
    79           
     85 
     86        @TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW) 
     87        public void createNewProvider(OaiProvider provider) { 
     88                em.persist(provider.getProviderCommon()); 
     89                ProviderCommon common = provider.getProviderCommon(); 
     90                int id = common.getId(); 
     91                for (ProviderEmail email : common.getProviderEmails()) { 
     92                        email.setCommonId(id); 
     93                } 
     94                em.merge(common); 
     95                provider.setCommonId(id); 
     96                em.persist(provider); 
     97        } 
     98 
    8099        public HiProcess createNewProcess() { 
    81100                return processModel.createNewProcess(); 
    82101        } 
     102 
     103        public List<HiProcess> getHiProcess(List<Integer> processIDs) { 
     104                return processModel.getHiProcess(processIDs); 
     105        } 
     106 
     107        public ProviderCommon getProviderCommon(int commonId) { 
     108                Query query = em.createQuery(GET_PROVIDER_COMMON); 
     109                query.setParameter("id", commonId); 
     110                List<ProviderCommon> values = query.getResultList(); 
     111                if (values == null || values.size() == 0) 
     112                        return null; 
     113                return values.get(0);    
     114        } 
     115         
     116        public String getConfigurationParameter(String parameterName) { 
     117                Query query = em.createQuery(GET_CONFIGURATION_PARAMETER); 
     118                query.setParameter("id", parameterName); 
     119                List<ServiceConfig> values = query.getResultList(); 
     120                if (values == null || values.size() == 0) 
     121                        return null; 
     122                return values.get(0).getParamValue(); 
     123        } 
     124         
     125        /** 
     126         * Returns the {@link Harvester} associated with the given parameters.  
     127         * @param providerID the providerID 
     128         * @return an Harvester instance, otherwise <code>null</code>  
     129         * */ 
     130        public Object getHarvesterConfiguration(int commonID){ 
     131                Object ret = null; 
     132                ret = getProvider(commonID, GET_OAI_PROVIDER); 
     133                if (ret == null) 
     134                        ret = getProvider(commonID, GET_CSW_PROVIDER); 
     135                 
     136                return ret; 
     137        } 
     138         
     139        private <T> T getProvider(int id, String queryText) { 
     140                Query query = em.createQuery(queryText); 
     141                query.setParameter("id", id); 
     142                List<T> values = query.getResultList(); 
     143                if (values == null || values.size() == 0) 
     144                        return null; 
     145                return values.get(0); 
     146        } 
     147         
     148         
    83149} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/interfaces/HiProcessModelLocal.java

    r7271 r7282  
    11package ndg.services.revitalization.ejb.interfaces; 
     2import java.util.List; 
     3 
    24import javax.ejb.Local; 
    35 
     
    911        public HiProcess createNewProcess(); 
    1012        public HiProcess advanceStatus(HiProcess hiProcess); 
     13        public List<HiProcess> getHiProcess(List<Integer> processIDs); 
    1114} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/interfaces/MailDispatcherLocal.java

    r7271 r7282  
    11package ndg.services.revitalization.ejb.interfaces; 
     2import java.util.List; 
     3 
    24import javax.ejb.Local; 
    35 
    46@Local 
    57public interface MailDispatcherLocal { 
    6         public void sendMail(String mailTo, String subject, String msgText); 
     8        public void sendMail(List<String> mailTo, String subject, String msgText); 
    79} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/interfaces/MailDispatcherRemote.java

    r7271 r7282  
    11package ndg.services.revitalization.ejb.interfaces; 
     2import java.util.List; 
     3 
    24import javax.ejb.Remote; 
    35 
    46@Remote 
    57public interface MailDispatcherRemote { 
    6         public void sendMail(String mailTo, String subject, String msgText); 
     8        public void sendMail(List<String> mailTo, String subject, String msgText); 
    79} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/interfaces/ModelManagerLocal.java

    r7271 r7282  
    11package ndg.services.revitalization.ejb.interfaces; 
     2import java.util.List; 
     3 
    24import javax.ejb.Local; 
     5 
     6import ndg.services.revitalization.jpa.HarvestLog; 
     7import ndg.services.revitalization.jpa.HiProcess; 
     8import ndg.services.revitalization.jpa.OaiProvider; 
    39 
    410@Local 
    511public interface ModelManagerLocal { 
    6  
     12        /** 
     13         * Returns a <code>List</code> of <code>String</code> representing 
     14         * the parameters appliable to the DPWS model 
     15         * @return a list of names 
     16         **/ 
     17        public List<String> getServiceParameterNames(); 
     18         
     19        /** 
     20         * Returns a <code>List</code> of <code>String</code> associated to  
     21         * a specific parameter appliable to the DPWS model 
     22         * @param parName one of the item retuned from {@link #getServiceParameterNames()} 
     23         * @return a list of names 
     24         **/     
     25        public List<String> getServiceParameterNamesValues(String parName); 
     26         
     27        public void updateHarvestingLogAndStatus(HiProcess hiProcess, HarvestLog harvestLog); 
     28         
     29        public HarvestLog getHarvestLog(int id); 
     30         
     31        public HiProcess createNewProcess(); 
     32         
     33        public List<HiProcess> getHiProcess(List<Integer> processIDs); 
     34         
     35        public void createNewProvider(OaiProvider provider); 
     36         
     37        public String getConfigurationParameter(String param); 
     38         
     39        public Object getHarvesterConfiguration(int commonID); 
    740} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/ejb/interfaces/ModelManagerRemote.java

    r7271 r7282  
    66import ndg.services.revitalization.jpa.HarvestLog; 
    77import ndg.services.revitalization.jpa.HiProcess; 
     8import ndg.services.revitalization.jpa.OaiProvider; 
     9import ndg.services.revitalization.jpa.ProviderCommon; 
    810 
    911@Remote 
     
    3032         
    3133        public HiProcess createNewProcess(); 
     34         
     35        public List<HiProcess> getHiProcess(List<Integer> processIDs); 
     36         
     37        public void createNewProvider(OaiProvider provider); 
     38         
     39        public String getConfigurationParameter(String parameterName); 
     40         
     41        public Object getHarvesterConfiguration(int commonID); 
     42         
     43        public ProviderCommon getProviderCommon(int commonId); 
    3244} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/executor/ExecuteHarvest.java

    r7271 r7282  
    66import ndg.services.revitalization.EJBBeanFactory; 
    77import ndg.services.revitalization.ejb.interfaces.JMSDispatcherRemote; 
    8 import ndg.services.revitalization.ejb.interfaces.MailDispatcherRemote; 
    98import ndg.services.revitalization.ejb.interfaces.ModelManagerRemote; 
    109import ndg.services.revitalization.harvest.DispatchedHarvestRequest; 
     
    2928                HiProcess process = createHiProcess(); 
    3029                ProcessIDType procId = getOf().createProcessIDType(); 
    31                 procId.setId(Integer.toString(process.getId())); 
     30                procId.setId(process.getId()); 
    3231                getResponse().setProcessID(procId); 
    3332                getResponse().setConfirmation(getOf().createConfirmationType()); 
     33                 
    3434                DispatchedHarvestRequest requestDispatch = new DispatchedHarvestRequest(request, process); 
    3535                dispatchHarvestRequest(requestDispatch); 
    36                 try { 
    37                         /* To retrieve the list of subscribers */ 
    38                         dispatchMail("maurizio.nagni@stfc.ac.uk", "test", "test Mau"); 
    39                 } catch (NdgExecutionException e) { 
    40                         e.printStackTrace(); 
    41                 } 
     36                 
     37                MailHelper.getInstance().newDispatchedHarvestMail(request, process); 
    4238        } 
    4339         
     
    5652                jmsDispatcher.dispatchHarvestRequest(doHarvestRequest); 
    5753        } 
    58          
    59         private void dispatchMail(String mailTo, String subject, String msgText) throws NdgExecutionException { 
    60                 MailDispatcherRemote mailDispatcher = EJBBeanFactory.getMailDispatcher();                
    61                 mailDispatcher.sendMail(mailTo, subject, msgText); 
    62         } 
    6354} 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/harvest/HarvesterBase.java

    r7271 r7282  
    55import ndg.common.exception.NdgExecutionException; 
    66import ndg.services.revitalization.EJBBeanFactory; 
     7import ndg.services.revitalization.executor.MailHelper; 
    78import ndg.services.revitalization.jpa.HarvestLog; 
    89import ndg.services.revitalization.jpa.HiProcess; 
     
    5455                 
    5556                EJBBeanFactory.getModelManager().updateHarvestingLogAndStatus(hiProcess, harvestLog); 
     57                 
     58                MailHelper.getInstance().terminatedHarvestMail(request.getProviderID(), getHiProcess()); 
    5659        } 
    5760         
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/harvest/ejb/HarvestRequestConsumer.java

    r7271 r7282  
    22 
    33import java.io.File; 
    4 import java.io.IOException; 
    54import java.util.Calendar; 
    65 
     
    1716 
    1817import ndg.common.NdgMessage; 
    19 import ndg.common.ParserHelper; 
    2018import ndg.common.exception.NdgExecutionException; 
     19import ndg.services.revitalization.dictionary.ServiceConfigurationParameter; 
    2120import ndg.services.revitalization.ejb.interfaces.HiProcessModelLocal; 
     21import ndg.services.revitalization.ejb.interfaces.ModelManagerLocal; 
    2222import ndg.services.revitalization.exception.NdgHarvestNotExistingException; 
    2323import ndg.services.revitalization.harvest.DispatchedHarvestRequest; 
     
    2525import ndg.services.revitalization.harvest.Harvester; 
    2626import ndg.services.revitalization.harvest.ejb.interfaces.AsyncHarvesterLocal; 
    27 import ndg.services.revitalization.harvest.ejb.interfaces.HarvestModelManagerLocal; 
    2827import ndg.services.revitalization.harvest.oai.OAIHarvestRequest; 
    2928import ndg.services.revitalization.harvest.oai.OAIHarvester; 
     
    3938         
    4039        @EJB  
    41         private HarvestModelManagerLocal hmm; 
     40        private ModelManagerLocal hmm; 
    4241         
    4342        @EJB 
     
    6968                if (doRequest == null) 
    7069                        throw new NdgHarvestNotExistingException(new NdgMessage("null.object", new Object[]{"DoHarvestRequest"})); 
    71                 if (doRequest.getProvider() == null) 
    72                         throw new NdgHarvestNotExistingException(new NdgMessage("null.object", new Object[]{"DoHarvestRequest.HarvestProvider"})); 
    73                 if (doRequest.getProvider().getHarvestType() == null) 
    74                         throw new NdgHarvestNotExistingException(new NdgMessage("null.object", new Object[]{"DoHarvestRequest.HarvestProvider.HarvestType"})); 
    75                 if (doRequest.getProvider().getProviderID() == null) 
    76                         throw new NdgHarvestNotExistingException(new NdgMessage("null.object", new Object[]{"DoHarvestRequest.HarvestProvider.ProviderID"})); 
    77  
    78                 String harvastTypeID = doRequest.getProvider().getHarvestType().getType(); 
    79                 int providerID = ParserHelper.parseStringToInteger(doRequest.getProvider().getProviderID(), "HarvestProvider.ProviderID"); 
    8070                 
    81                 Object harvConfig = hmm.getHarvesterConfiguration(providerID, harvastTypeID); 
     71                Object harvConfig = hmm.getHarvesterConfiguration(doRequest.getProviderID()); 
    8272                if (harvConfig instanceof OaiProvider) { 
    8373                        OAIHarvestRequest harvesterReq = new OAIHarvestRequest((OaiProvider)harvConfig, doRequest); 
    84                         File tmpDir = new File(hmm.getOutputDir() + "_" + Long.toString(Calendar.getInstance().getTimeInMillis())); 
     74                        File tmpDir = new File(hmm.getConfigurationParameter(ServiceConfigurationParameter.HARVEST_ROOT_PATH.name()) + "/" + Long.toString(Calendar.getInstance().getTimeInMillis())); 
    8575                        if (!tmpDir.mkdir()) 
    8676                                throw new NdgExecutionException(new NdgMessage("execution.error", new Object[] {"createNewFile()", "Cannot create " + tmpDir.getAbsolutePath()}, null)); 
     
    9989                 
    10090                if (harvester == null) 
    101                         throw new NdgHarvestNotExistingException(new NdgMessage("no.harvester.found", new Object[]{providerID, harvastTypeID})); 
     91                        throw new NdgHarvestNotExistingException(new NdgMessage("no.object.with.id", new Object[]{"Harvester", doRequest.getProviderID()})); 
    10292                 
    10393                return harvester; 
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/harvest/oai/OAIHarvestRequest.java

    r7271 r7282  
    1313 
    1414        public OAIHarvestRequest(OaiProvider provider, DoHarvestRequest doRequest) { 
    15                 super(provider.getId(), provider.getFormat().getValue(), provider.getBaseUrl());         
     15                super(provider.getCommonId(), provider.getFormat(), provider.getProviderCommon().getBaseUrl());  
    1616                this.setSet(provider.getSet()); 
    17                 if (!provider.getFormat().getValue().equals("ANY")) 
    18                         this.setMetadataPrefix(provider.getFormat().getValue()); 
     17                if (!provider.getFormat().equals("ANY")) 
     18                        this.setMetadataPrefix(provider.getFormat()); 
    1919        } 
    2020         
  • RevitalizationWS/ws/DPWS/trunk/src/main/java/ndg/services/revitalization/jpa/OaiProvider.java

    r7271 r7282  
    1313public class OaiProvider implements Serializable { 
    1414        private static final long serialVersionUID = 1L; 
    15         private Integer id; 
    16         private String baseUrl; 
     15        private Integer commonId; 
     16        private String format; 
    1717        private String set; 
    1818        private Boolean splitBySet; 
    19         private ServiceParameterValue format; 
     19        private ProviderCommon providerCommon; 
    2020 
    2121    public OaiProvider() { 
     
    2424 
    2525        @Id 
    26         @TableGenerator(name="OAI_ID_GENERATOR",  
    27                         table="GENERATOR_TABLE", 
    28                 pkColumnName="PRIMARY_KEY_COLUMN", 
    29                 valueColumnName="VALUE_COLUMN", 
    30                 pkColumnValue="OAI_PROVIDER_ID", 
    31                 allocationSize=10)       
    32         @GeneratedValue(strategy=GenerationType.TABLE, generator="OAI_ID_GENERATOR") 
    33         public Integer getId() { 
    34                 return this.id; 
     26        @Column(name="common_id") 
     27        public Integer getCommonId() { 
     28                return this.commonId; 
    3529        } 
    3630 
    37         public void setId(Integer id) { 
    38                 this.id = id; 
     31        public void setCommonId(Integer commonId) { 
     32                this.commonId = commonId; 
    3933        } 
    4034 
    4135 
    42         @Column(name="base_url") 
    43         public String getBaseUrl() { 
    44                 return this.baseUrl; 
     36        public String getFormat() { 
     37                return this.format; 
    4538        } 
    4639 
    47         public void setBaseUrl(String baseUrl) { 
    48                 this.baseUrl = baseUrl; 
     40        public void setFormat(String format) { 
     41                this.format = format; 
    4942        } 
    5043 
     
    6962 
    7063 
    71         //uni-directional many-to-one association to ServiceParameterValue 
    72     @ManyToOne 
    73         public ServiceParameterValue getFormat() { 
    74                 return this.format; 
     64        //uni-directional one-to-one association to ProviderCommon 
     65        @OneToOne 
     66        @JoinColumn(name="common_id") 
     67        public ProviderCommon getProviderCommon() { 
     68                return this.providerCommon; 
    7569        } 
    7670 
    77         public void setFormat(ServiceParameterValue format) { 
    78                 this.format = format; 
     71        public void setProviderCommon(ProviderCommon providerCommon) { 
     72                this.providerCommon = providerCommon; 
    7973        } 
    8074         
Note: See TracChangeset for help on using the changeset viewer.