Changeset 4607 for TI01-discovery


Ignore:
Timestamp:
12/12/08 10:22:29 (11 years ago)
Author:
sdonegan
Message:

Added new method to provide a regex string to allow matching between doc names and doc xml contents, so can provide matched response object so links match up on service!!!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/common/discovery/Utilities.java

    r4191 r4607  
    44import java.util.regex.Matcher; 
    55import java.util.regex.Pattern; 
     6import java.util.logging.Logger; 
     7 
     8//import ndg.services.discovery.DiscoveryServiceSkeleton; 
    69 
    710public class Utilities  
    811{ 
    912         
     13//       Obtain a suitable logger. 
     14    private static Logger logger = Logger.getLogger(Utilities.class.getName()); 
     15     
    1016         
    1117        /** 
     
    6975                return outArray; 
    7076        } 
     77         
     78        /** 
     79         * Returns a regex to be used when sorting the returned docs (presentAgent) to match the doc name 
     80         *       
     81         * @param requestedFormat - data format requested (i.e DIF etc etc) 
     82         * @param thisDocNameID - name of xml doc in list of names supplied to the sql call 
     83         * @return string representing a regex that can be used in a replaceAll on the actual doc for checking 
     84         */ 
     85        public static String resultSetCheckString(String requestedFormat, String thisDocNameID)  
     86        { 
     87                String searchTerm = ""; 
     88                 
     89                //have to formulate a smart search term that allows datasetID from the filename to be located within the xml-as-text doc  
     90                 
     91                //POA: 1. Strip of datacenter__FORMAT__ from front i.e. neodc.nerc.ac.uk__DIF__neodc.nerc.ac.uk-DIF-dataent_11658383444211836.xml - get the first index here of __DIF__ 
     92                String formatStr = "__" + requestedFormat + "__"; 
     93                 
     94                String idSansDataCentre = thisDocNameID.substring((thisDocNameID.indexOf(formatStr) + formatStr.length())); 
     95                idSansDataCentre = idSansDataCentre.replaceAll("\\.xml",""); //get rid of the xml extension 
     96                 
     97                //now get rid of the "-DIF-" and replace with ":DIF:" 
     98                formatStr = "-" + requestedFormat + "-"; 
     99                idSansDataCentre = idSansDataCentre.replaceAll(formatStr,":"+requestedFormat+":"); 
     100                                 
     101                if (requestedFormat.equals("DIF"))  
     102                {                                                
     103                        searchTerm = idSansDataCentre + "</Entry_ID>";                                           
     104                } else if (requestedFormat.equals("MDIP")) {                     
     105                         
     106                        searchTerm =   idSansDataCentre + "</DatasetIdentifier>";                                                
     107                } else if (requestedFormat.equals("ISO")) {                      
     108                         
     109                        searchTerm =  idSansDataCentre + "</gco:CharacterString>";                                               
     110                } else if (requestedFormat.equals("DC")) {                       
     111                         
     112                        searchTerm = idSansDataCentre + "</dc:identifier>";                                              
     113                } else { 
     114                        // must be MOLES in this case 
     115                         
     116                        searchTerm = idSansDataCentre + "</localIdentifier>";                                            
     117                } 
     118                 
     119                //logger.info("search term returned: " + searchTerm ); 
     120                 
     121                return searchTerm; 
     122        } 
    71123 
    72124 
Note: See TracChangeset for help on using the changeset viewer.