Changeset 8115


Ignore:
Timestamp:
27/02/12 00:00:24 (8 years ago)
Author:
mnagni
Message:

updated the logging system

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

Legend:

Unmodified
Added
Removed
  • mauRepo/revitalizationProject/branches/MEDIN/discoverySchema/src/main/resources/DiscoverySchema.xsd

    r8109 r8115  
    173173        </xs:complexType> 
    174174        <!-- Other global types--> 
    175         <xs:complexType name="BoundingBoxType"> 
    176                 <xs:all> 
    177                         <xs:element name="LimitNorth" type="xs:float"/> 
    178                         <xs:element name="LimitSouth" type="xs:float"/> 
    179                         <xs:element name="LimitWest" type="xs:float"/> 
    180                         <xs:element name="LimitEast" type="xs:float"/> 
    181                 </xs:all> 
    182         </xs:complexType> 
    183175        <xs:complexType name="DateRangeType"> 
    184176                <xs:sequence> 
     
    215207                                </xs:annotation> 
    216208                        </xs:element> 
    217                         <xs:choice> 
    218                                 <xs:element name="BoundingBox" type="tns:BoundingBoxType"> 
    219                                         <xs:annotation> 
    220                                                 <xs:documentation>Bounding box with coordinates by default in EPSG:4326 (lat/lon)</xs:documentation> 
    221                                         </xs:annotation> 
    222                                 </xs:element> 
    223                                 <xs:element maxOccurs="1" name="PolygonBox" type="tns:PolygonBoxType"/> 
    224                                 <xs:element maxOccurs="1" name="MultiPolygonBox" type="tns:MultiPolygonBoxType"/> 
    225                         </xs:choice> 
     209                        <xs:element minOccurs="0" ref="tns:ContourType"/> 
    226210                </xs:sequence> 
    227211        </xs:complexType> 
     
    417401                </xs:all> 
    418402        </xs:complexType> 
    419         <xs:complexType name="PolygonBoxType"> 
     403        <xs:complexType name="PolygonContourType"> 
    420404                <xs:sequence maxOccurs="unbounded" minOccurs="1"> 
    421405                        <xs:element name="polygonPoint" type="tns:PolygonPointType"/> 
    422406                </xs:sequence> 
    423407        </xs:complexType> 
    424         <xs:complexType name="MultiPolygonBoxType"> 
     408        <xs:complexType name="MultiPolygonContourType"> 
    425409                <xs:sequence maxOccurs="unbounded"> 
    426                         <xs:element maxOccurs="unbounded" minOccurs="2" name="polygonBox" 
    427                                 type="tns:PolygonBoxType"/> 
    428                 </xs:sequence> 
    429         </xs:complexType> 
     410                        <xs:element maxOccurs="unbounded" minOccurs="2" name="polygonContour" 
     411                                type="tns:PolygonContourType"/> 
     412                </xs:sequence> 
     413        </xs:complexType> 
     414        <xs:complexType name="BoundingBoxType"> 
     415                <xs:all> 
     416                        <xs:element name="LimitNorth" type="xs:float"/> 
     417                        <xs:element name="LimitSouth" type="xs:float"/> 
     418                        <xs:element name="LimitWest" type="xs:float"/> 
     419                        <xs:element name="LimitEast" type="xs:float"/> 
     420                </xs:all> 
     421        </xs:complexType> 
     422        <xs:element name="ContourType"/> 
     423        <xs:element name="PolygonContour" substitutionGroup="tns:ContourType" 
     424                type="tns:PolygonContourType"/> 
     425        <xs:element name="MultiPolygonContour" substitutionGroup="tns:ContourType" 
     426                type="tns:MultiPolygonContourType"/> 
     427        <xs:element name="BoundingBoxContour" substitutionGroup="tns:ContourType" 
     428                type="tns:BoundingBoxType"/> 
    430429</xs:schema> 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/discovery/CommonMethods.java

    r8109 r8115  
    2525abstract class CommonMethods<T> { 
    2626         
     27        private final MessageFormatter mf = new MessageFormatter(); 
    2728        private Logger logger = LoggerFactory.getLogger(CommonMethods.class); 
    2829         
     
    225226                                                new Object[] { sqlQuery });      
    226227                        }                        
    227                         throw new NdgSQLException(msg,e); 
     228                        throw new NdgSQLException(mf.getFormattedText(msg),e); 
    228229                } 
    229230 
     
    233234                        closeStatement(stat, rs); 
    234235                        NdgMessage msg = new NdgMessage("sql.resultset.parsing.error", new Object[] { sqlQuery }); 
    235                         throw new NdgSQLException(msg, e); 
     236                        throw new NdgSQLException(mf.getFormattedText(msg), e); 
    236237                } 
    237238                return ret; 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/discovery/PresentHelper.java

    r8105 r8115  
    2626import ndg.services.discovery.basic.DiscoveryDictionaryDPWS.OriginalDocumentToTable; 
    2727import ndg.services.jpa.OriginalDocument; 
     28import ndg.services.schemas.revitalization.discovery.BoundingBoxType; 
    2829import ndg.services.schemas.revitalization.discovery.DateValueType; 
    2930import ndg.services.schemas.revitalization.discovery.DoPresentType; 
     
    333334                while (rs.next()) { 
    334335                        st = of.createSpatialType(); 
    335                         st.setBoundingBox(of.createBoundingBoxType()); 
    336                         st.getBoundingBox().setLimitWest(rs.getFloat("WEST")); 
    337                         st.getBoundingBox().setLimitEast(rs.getFloat("EAST")); 
    338                         st.getBoundingBox().setLimitSouth(rs.getFloat("SOUTH")); 
    339                         st.getBoundingBox().setLimitNorth(rs.getFloat("NORTH")); 
     336                        BoundingBoxType bbt = of.createBoundingBoxType(); 
     337                        bbt.setLimitWest(rs.getFloat("WEST")); 
     338                        bbt.setLimitEast(rs.getFloat("EAST")); 
     339                        bbt.setLimitSouth(rs.getFloat("SOUTH")); 
     340                        bbt.setLimitNorth(rs.getFloat("NORTH"));                         
     341                        st.setContourType(of.createBoundingBoxContour(bbt)); 
    340342                        spatialTypes.add(st); 
    341343                } 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/discovery/SearchHelper.java

    r8109 r8115  
    2424import ndg.services.schemas.revitalization.discovery.DoSearchType; 
    2525import ndg.services.schemas.revitalization.discovery.DoSearchType.SearchCriteria; 
    26 import ndg.services.schemas.revitalization.discovery.MultiPolygonBoxType; 
     26import ndg.services.schemas.revitalization.discovery.MultiPolygonContourType; 
    2727import ndg.services.schemas.revitalization.discovery.ObjectFactory; 
    28 import ndg.services.schemas.revitalization.discovery.PolygonBoxType; 
     28import ndg.services.schemas.revitalization.discovery.PolygonContourType; 
    2929import ndg.services.schemas.revitalization.discovery.PolygonPointType; 
    3030import ndg.services.schemas.revitalization.discovery.RetrieveCriteriaType; 
     
    103103         **/ 
    104104        private List<OriginalDocument> searchDocuments(DoSearchType doSearchType) throws NdgExecutionException, AssembleQueryException, NdgSQLException, ResourceNotAvailable { 
    105                 List<OriginalDocument> res = new ArrayList<OriginalDocument>(); 
    106                 List<String> toFilter = executeSearch(conn, assembleSearch(doSearchType)); 
    107  
    108                 /* -- sets the number of hits -- */ 
    109                 hits = toFilter.size(); 
    110  
    111                 /* -- selects the interval of documents -- */ 
    112                 long start = (doSearchType.getStart() == null || !(doSearchType.getStart() > 0 && doSearchType.getStart() < toFilter.size() + 1)) ? 1 
    113                                 : doSearchType.getStart(); 
    114  
    115                 long howMany = (doSearchType.getHowMany() == null ? 0 : doSearchType.getHowMany()); 
    116                 if (howMany > 0) { 
    117                         howMany = (toFilter.size() >= howMany + start - 1) ? howMany + start - 1 : toFilter.size(); 
    118                 } else { 
    119                         howMany = toFilter.size(); 
    120                 } 
    121  
    122                 toFilter = toFilter.subList((int) start - 1, (int) howMany);             
    123                 PresentHelper present = new PresentHelper(conn);         
    124                 res = present.doPresent(toFilter, doSearchType.getRetrieveCriteria()); 
     105                List<OriginalDocument> res = new ArrayList<OriginalDocument>();          
     106                        List<String> toFilter = executeSearch(conn, assembleSearch(doSearchType)); 
     107 
     108                        /* -- sets the number of hits -- */ 
     109                        hits = toFilter.size(); 
     110 
     111                        /* -- selects the interval of documents -- */ 
     112                        long start = (doSearchType.getStart() == null || !(doSearchType.getStart() > 0 && doSearchType.getStart() < toFilter.size() + 1)) ? 1 
     113                                        : doSearchType.getStart(); 
     114 
     115                        long howMany = (doSearchType.getHowMany() == null ? 0 : doSearchType.getHowMany()); 
     116                        if (howMany > 0) { 
     117                                howMany = (toFilter.size() >= howMany + start - 1) ? howMany + start - 1 : toFilter.size(); 
     118                        } else { 
     119                                howMany = toFilter.size(); 
     120                        } 
     121 
     122                        toFilter = toFilter.subList((int) start - 1, (int) howMany);             
     123                        PresentHelper present = new PresentHelper(conn);         
     124                        res = present.doPresent(toFilter, doSearchType.getRetrieveCriteria());                   
     125 
    125126                return res; 
    126127        } 
     
    355356        } 
    356357 
    357         private String buildPolygonPoints(PolygonBoxType pb) { 
     358        private String buildPolygonPoints(PolygonContourType pb) { 
    358359                StringBuffer sb = new StringBuffer(); 
    359360                sb.append('('); 
     
    367368        } 
    368369         
    369         private String buildMultipolygonPoints(MultiPolygonBoxType pb) { 
     370        private String buildMultipolygonPoints(MultiPolygonContourType pb) { 
    370371                StringBuffer sb = new StringBuffer(); 
    371372                sb.append('('); 
    372                 for (PolygonBoxType pbt : pb.getPolygonBox()) { 
     373                for (PolygonContourType pbt : pb.getPolygonContour()) { 
    373374                        sb.append(String.format("%1$s, ", buildPolygonPoints(pbt))); 
    374375                } 
     
    379380        } 
    380381         
    381         private String processBoxSearch(PolygonBoxType pb) {             
     382        private String processBoxSearch(PolygonContourType pb) {                 
    382383                return " ST_GeomFromText('POLYGON(" + buildPolygonPoints(pb) + ")')"; 
    383384        }        
    384385         
    385         private String processBoxSearch(MultiPolygonBoxType pb) {                
     386        private String processBoxSearch(MultiPolygonContourType pb) {            
    386387                return " ST_GeomFromText('MULTIPOLYGON(" + buildMultipolygonPoints(pb) + ")')"; 
    387388        }        
     
    408409                String box = ""; 
    409410                 
    410                 if (spatialType.isSetBoundingBox()) { 
    411                         box = processBoxSearch(spatialType.getBoundingBox()); 
    412                 } 
    413  
    414                 if (spatialType.isSetPolygonBox()) { 
    415                         box = processBoxSearch(spatialType.getPolygonBox()); 
     411                if (BoundingBoxType.class.isInstance(spatialType.getContourType())) { 
     412                        box = processBoxSearch(BoundingBoxType.class.cast(spatialType.getContourType())); 
     413                } 
     414 
     415                if (PolygonContourType.class.isInstance(spatialType.getContourType())) { 
     416                        box = processBoxSearch(PolygonContourType.class.cast(spatialType.getContourType())); 
    416417                } 
    417418                 
    418                 if (spatialType.isSetMultiPolygonBox()) { 
    419                         box = processBoxSearch(spatialType.getMultiPolygonBox()); 
    420                 } 
     419                if (MultiPolygonContourType.class.isInstance(spatialType.getContourType())) { 
     420                        box = processBoxSearch(MultiPolygonContourType.class.cast(spatialType.getContourType())); 
     421                }                
    421422                 
    422423                checkFROMComma(fromSQL, false); 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/executor/DiscoveryServiceExecutor.java

    r8109 r8115  
    55import java.util.List; 
    66 
    7 import org.apache.log4j.Logger; 
    8  
     7import ndg.common.MessageFormatter; 
    98import ndg.common.NdgMessage; 
    109import ndg.common.exception.NdgException; 
    11 import ndg.services.discovery.basic.DiscoveryBasicDPWS; 
     10import ndg.common.exception.NdgExecutionException; 
     11import ndg.common.exception.NdgSQLException; 
    1212import ndg.services.discovery.basic.DiscoveryDictionaryDPWS; 
    1313import ndg.services.discovery.basic.DiscoveryDictionaryDPWS.OrderByField; 
     
    1515import ndg.services.jpa.OriginalDocument; 
    1616import ndg.services.revitalization.EJBBeanFactory; 
    17 import ndg.services.revitalization.ejb.discovery.SearchHelper; 
    1817import ndg.services.schemas.revitalization.discovery.CustomInfo; 
    1918import ndg.services.schemas.revitalization.discovery.DoPresentReturnType; 
     
    3534import ndg.services.schemas.revitalization.discovery.ReturnSummaryType; 
    3635 
     36import org.apache.log4j.Logger; 
     37 
    3738/** 
    3839 * DiscoveryServiceMEDINSkeleton java skeleton for the axisService 
     
    5758 
    5859        public DoSearchReturnType doSearch(DoSearchType doSearch) { 
     60                MessageFormatter mf = new MessageFormatter(); 
    5961                DoSearchReturnType response = of.createDoSearchReturnType(); 
    6062                boolean status = false; 
     
    7678                                                        .getTermSearch().size() == 0))) { 
    7779                                msg = new NdgMessage("empty.searchcriteria", new Object[] {}); 
    78                                 statusMsg = DiscoveryBasicDPWS.getInstance().getFormatter().getFormattedText(msg); 
     80                                statusMsg = mf.getFormattedText(msg); 
    7981                        } else { 
    8082                                try {                                    
     
    9496                                        processResult(result, response.getDocuments(), type, orderBy); 
    9597                                        status = true; 
    96                                 } catch (NdgException e) { 
    97                                         logger.error("Error", e); 
     98                                } catch (NdgExecutionException ex) { 
     99                                        statusMsg = mf.getFormattedText(ex.getMessage()); 
    98100                                } finally { 
    99101                                        int hits = -1; 
     
    110112                                                        msg = new NdgMessage("internal.server.error", new Object[] {}); 
    111113                                                } 
    112                                                 logger.debug(msg.toString()); 
    113                                                 //statusMsg = logHelper.getBundleMessageAndDoLog(msg, Level.DEBUG); 
     114                                                statusMsg = mf.getFormattedText(msg); 
     115                                                logger.debug(statusMsg); 
    114116                                        } 
    115                                 } 
     117                                }        
    116118                        } 
    117119                } catch (Exception e) { 
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/test/java/ndg/services/revitalization/ejb/discovery/SearchHelperTest.java

    r8109 r8115  
    55import ndg.services.schemas.revitalization.discovery.DoSearchType; 
    66import ndg.services.schemas.revitalization.discovery.DoSearchType.SearchCriteria; 
    7 import ndg.services.schemas.revitalization.discovery.MultiPolygonBoxType; 
    8 import ndg.services.schemas.revitalization.discovery.PolygonBoxType; 
     7import ndg.services.schemas.revitalization.discovery.MultiPolygonContourType; 
     8import ndg.services.schemas.revitalization.discovery.ObjectFactory; 
     9import ndg.services.schemas.revitalization.discovery.PolygonContourType; 
    910import ndg.services.schemas.revitalization.discovery.PolygonPointType; 
    1011import ndg.services.schemas.revitalization.discovery.SpatialType; 
     
    105106         
    106107        private void generateBoundingBoxSearchType(SpatialType ss) { 
    107                 Assert.assertNull(ss.getBoundingBox()); 
     108                Assert.assertNull(ss.getContourType()); 
    108109                BoundingBoxType bbt = new BoundingBoxType(); 
    109110                bbt.setLimitSouth(1f); 
     
    111112                bbt.setLimitWest(3f); 
    112113                bbt.setLimitEast(4f); 
    113                 ss.setBoundingBox(bbt); 
     114                ObjectFactory of = new ObjectFactory(); 
     115                ss.setContourType(of.createBoundingBoxContour(bbt)); 
    114116        } 
    115117         
    116118        private void generatePolygonBoxSearchType(SpatialType ss) { 
    117                 Assert.assertNull(ss.getPolygonBox()); 
    118                 PolygonBoxType pbt = generatePolygonBoxType("-20 80, -19 80, -19 50.5, 20 50.5, 20 50, -20 50, -20 80"); 
    119                 ss.setPolygonBox(pbt); 
     119                Assert.assertNull(ss.getContourType()); 
     120                PolygonContourType pbt = generatePolygonContourType("-20 80, -19 80, -19 50.5, 20 50.5, 20 50, -20 50, -20 80"); 
     121                ObjectFactory of = new ObjectFactory();          
     122                ss.setContourType(of.createPolygonContour(pbt));                 
    120123        } 
    121124         
    122125        private void generateMultipolygonBoxSearchType(SpatialType ss) { 
    123                 Assert.assertNull(ss.getMultiPolygonBox()); 
    124                 MultiPolygonBoxType mpbt = new MultiPolygonBoxType(); 
    125                  
    126                 mpbt.getPolygonBox().add(generatePolygonBoxType("0 0 ,4 0 ,4 4 ,0 4 ,0 0 ")); 
    127                 mpbt.getPolygonBox().add(generatePolygonBoxType("-1 -1,-1 -2,-2 -2,-2 -1,-1 -1")); 
    128                 ss.setMultiPolygonBox(mpbt); 
     126                Assert.assertNull(ss.getContourType()); 
     127                MultiPolygonContourType mpbt = new MultiPolygonContourType();            
     128                mpbt.getPolygonContour().add(generatePolygonContourType("0 0 ,4 0 ,4 4 ,0 4 ,0 0 ")); 
     129                mpbt.getPolygonContour().add(generatePolygonContourType("-1 -1,-1 -2,-2 -2,-2 -1,-1 -1")); 
     130                ObjectFactory of = new ObjectFactory();          
     131                ss.setContourType(of.createMultiPolygonContour(mpbt));           
    129132        } 
    130133 
    131         private PolygonBoxType generatePolygonBoxType(String path) { 
    132                 PolygonBoxType pbt = new PolygonBoxType(); 
     134        private PolygonContourType generatePolygonContourType(String path) { 
     135                PolygonContourType pbt = new PolygonContourType(); 
    133136                PolygonPointType ppt = null; 
    134137                for (String point : StringUtils.split(path, ",")) { 
Note: See TracChangeset for help on using the changeset viewer.