Changeset 8105


Ignore:
Timestamp:
22/02/12 12:26:15 (8 years ago)
Author:
mnagni
Message:

Adds a new small test for the query assembly
define a log4j.property file with a stdout and a file appenders

Location:
mauRepo/revitalizationProject/branches/MEDIN
Files:
5 added
6 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/pom.xml

    r8103 r8105  
    193193                        <scope>test</scope>                      
    194194                </dependency> 
    195         </dependencies> 
     195                <dependency> 
     196                        <groupId>org.slf4j</groupId> 
     197                        <artifactId>slf4j-log4j12</artifactId> 
     198                        <version>1.6.1</version> 
     199                </dependency> 
     200        </dependencies> 
    196201   
    197202  <artifactId>dpws</artifactId> 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/discovery/CommonMethods.java

    r8033 r8105  
    1515import ndg.services.discovery.basic.DiscoveryBasicDPWS; 
    1616import ndg.services.discovery.basic.DiscoveryDictionaryDPWS; 
     17import ndg.services.schemas.revitalization.discovery.DoSearchType.SearchCriteria; 
     18import ndg.services.schemas.revitalization.discovery.DoSearchType; 
    1719import ndg.services.schemas.revitalization.discovery.OrderByType; 
    1820import ndg.services.schemas.revitalization.discovery.RetrieveCriteriaType; 
    19 import ndg.services.schemas.revitalization.discovery.DoSearchType.SearchCriteria; 
    2021 
    2122import org.apache.log4j.Level; 
     23import org.slf4j.Logger; 
     24import org.slf4j.LoggerFactory; 
     25 
    2226 
    2327abstract class CommonMethods<T> { 
    2428         
    2529        private NdgLogger logHelper = DiscoveryBasicDPWS.getInstance().getNdgInstance(CommonMethods.class.getName()); 
     30        private Logger logger = LoggerFactory.getLogger(CommonMethods.class); 
    2631         
    2732        /** 
     
    114119                        selectSQL.append(orderSQL); 
    115120                } 
    116                  
    117                 //logHelper.logMessage("SQL query generated: " + selectSQL, Level.INFO); 
     121 
     122                if (logger.isInfoEnabled()) { 
     123                        logger.info(selectSQL.toString());       
     124                }                
    118125                return selectSQL.toString(); 
    119126        } 
    120127         
    121         public String assembleSearch(SearchCriteria criteria, RetrieveCriteriaType retrieveType)  
    122                 throws AssembleQueryException{ 
    123  
     128        public String assembleSearch(DoSearchType doSearchType) throws AssembleQueryException { 
     129                return assembleSearch(doSearchType.getSearchCriteria(), doSearchType.getRetrieveCriteria()); 
     130        } 
     131         
     132        public String assembleSearch(RetrieveCriteriaType type) throws AssembleQueryException { 
     133                return assembleSearch(null, type); 
     134        } 
     135         
     136        private String assembleSearch(SearchCriteria criteria, RetrieveCriteriaType retrieveType)  
     137                throws AssembleQueryException{  
    124138                // NB, we use the postgres text search function to do term searches 
    125139                StringBuffer selectSQL = new StringBuffer(); 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/discovery/PresentHelper.java

    r8094 r8105  
    234234                        return new ArrayList<OriginalDocument>(); 
    235235                this.documentsId = documentsId; 
    236                 String sqlQuery = assembleSearch(null, type); 
     236                String sqlQuery = assembleSearch(type); 
    237237                if (conn == null) { 
    238238                        throw new NdgSQLException("Connection is null"); 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/discovery/SearchHelper.java

    r8067 r8105  
    44import java.sql.ResultSet; 
    55import java.sql.SQLException; 
    6 import java.sql.Statement; 
    76import java.util.ArrayList; 
    87import java.util.Collections; 
    98import java.util.Comparator; 
    10 import java.util.Iterator; 
    119import java.util.List; 
    1210 
     
    7876         */ 
    7977        public List<OriginalDocument> doSearch() throws NdgException, ResourceNotAvailable { 
    80                 SearchCriteria criteria = searchType.getSearchCriteria(); 
    8178                List<OriginalDocument> searchResult = null; 
    82                 searchResult = searchDocuments(criteria); 
     79                searchResult = searchDocuments(searchType); 
    8380                if (conn != null) { 
    8481                        try { 
     
    10198         *             if an error during the database access 
    10299         **/ 
    103         private List<OriginalDocument> searchDocuments(SearchCriteria criteria) throws NdgExecutionException, AssembleQueryException, NdgSQLException, ResourceNotAvailable { 
     100        private List<OriginalDocument> searchDocuments(DoSearchType doSearchType) throws NdgExecutionException, AssembleQueryException, NdgSQLException, ResourceNotAvailable { 
    104101                List<OriginalDocument> res = new ArrayList<OriginalDocument>(); 
    105                 List<String> toFilter = executeSearch(conn, assembleSearch(criteria, searchType.getRetrieveCriteria())); 
     102                List<String> toFilter = executeSearch(conn, assembleSearch(doSearchType)); 
    106103 
    107104                /* -- sets the number of hits -- */ 
     
    109106 
    110107                /* -- selects the interval of documents -- */ 
    111                 long start = (searchType.getStart() == null || !(searchType.getStart() > 0 && searchType.getStart() < toFilter.size() + 1)) ? 1 
    112                                 : searchType.getStart(); 
    113  
    114                 long howMany = (searchType.getHowMany() == null ? 0 : searchType.getHowMany()); 
     108                long start = (doSearchType.getStart() == null || !(doSearchType.getStart() > 0 && doSearchType.getStart() < toFilter.size() + 1)) ? 1 
     109                                : doSearchType.getStart(); 
     110 
     111                long howMany = (doSearchType.getHowMany() == null ? 0 : doSearchType.getHowMany()); 
    115112                if (howMany > 0) { 
    116113                        howMany = (toFilter.size() >= howMany + start - 1) ? howMany + start - 1 : toFilter.size(); 
     
    121118                toFilter = toFilter.subList((int) start - 1, (int) howMany);             
    122119                PresentHelper present = new PresentHelper(conn);         
    123                 res = present.doPresent(toFilter, searchType.getRetrieveCriteria()); 
    124 //              try { 
    125 //                      doUpdateVal(conn, toFilter); 
    126 //              } catch (SQLException e) { 
    127 //                      throw new NdgSQLException(e); 
    128 //              } 
     120                res = present.doPresent(toFilter, doSearchType.getRetrieveCriteria()); 
    129121                return res; 
    130122        } 
    131123 
    132         private void doUpdateVal(Connection conn, List<String> documentIDs) throws SQLException { 
    133                  
    134                 if (documentIDs == null || documentIDs.size() == 0) { 
    135                         if (logger.isInfoEnabled()) { 
    136                                 logger.info("Updated 0 resultset_counter"); 
    137                                 return; 
    138                         }                                
    139                 } 
    140                  
    141                 StringBuffer sb = new StringBuffer(); 
    142                 sb.append("UPDATE original_document SET resultset_count = resultset_count + 1 WHERE original_document_filename ");                                       
    143                 sb.append(" IN ("); 
    144  
    145                 Iterator<String> iter = documentIDs.iterator(); 
    146                 while (iter.hasNext()) { 
    147                         sb.append("'"); 
    148                         sb.append(iter.next()); 
    149                         sb.append("'"); 
    150                         if (iter.hasNext()) 
    151                                 sb.append(", "); 
    152                 } 
    153                 sb.append(") "); 
    154                  
    155                 Statement statement = conn.createStatement(); 
    156                 int ret = statement.executeUpdate(sb.toString()); 
    157                 if (logger.isInfoEnabled()) 
    158                                 logger.info("Updated " + ret + " resultset_counter");    
    159         } 
    160124 
    161125        @Override 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/test/java/ndg/services/discovery/model/SearchAgentTest.java

    r8033 r8105  
    3636                SearchHelper sa = new SearchHelper(null, st);            
    3737                try {                    
    38                         String query = sa.assembleSearch(st.getSearchCriteria(), 
    39                                         st.getRetrieveCriteria()); 
     38                        String query = sa.assembleSearch(st); 
    4039                        assertTrue(query.equals(referenceQuery)); 
    4140                } catch (AssembleQueryException e) { 
  • mauRepo/revitalizationProject/branches/MEDIN/pom.xml

    r8094 r8105  
    4242                                                                        <includes> 
    4343                                                                                <include> 
    44                                                                                         dpws.ear 
     44                                                                                        discovery-dpws.ear 
    4545                                                                                </include> 
    4646                                                                        </includes> 
Note: See TracChangeset for help on using the changeset viewer.