From: <hei...@us...> - 2009-04-30 13:53:07
|
Revision: 3402 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=3402&view=rev Author: heikkidoeleman Date: 2009-04-30 13:44:20 +0000 (Thu, 30 Apr 2009) Log Message: ----------- CSW 2.0.2 GetRecords Modified Paths: -------------- sandbox/3.0.x/geonetwork-services-ebrim/src/main/java/org/geonetwork/services/ebrim/csw202/CSW202ServiceImpl.java Modified: sandbox/3.0.x/geonetwork-services-ebrim/src/main/java/org/geonetwork/services/ebrim/csw202/CSW202ServiceImpl.java =================================================================== --- sandbox/3.0.x/geonetwork-services-ebrim/src/main/java/org/geonetwork/services/ebrim/csw202/CSW202ServiceImpl.java 2009-04-30 13:41:50 UTC (rev 3401) +++ sandbox/3.0.x/geonetwork-services-ebrim/src/main/java/org/geonetwork/services/ebrim/csw202/CSW202ServiceImpl.java 2009-04-30 13:44:20 UTC (rev 3402) @@ -77,10 +77,12 @@ private final static String IDENTIFIER_SLOT_NAME = "http://purl.org/dc/elements/1.1/identifier"; private final static String DEFAULT_GETRECORDS_RESPONSE_SCHEMA = "http://www.opengis.net/cat/csw/2.0.2"; + private final static String CSW_NAMESPACE = "http://www.opengis.net/cat/csw/2.0.2"; + private final static String EBRIM_NAMESPACE = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"; private static List<String> supportedSchemas = new ArrayList<String>(); static { - supportedSchemas.add("http://www.opengis.net/cat/csw/2.0.2"); - supportedSchemas.add("urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"); + supportedSchemas.add(CSW_NAMESPACE); + supportedSchemas.add(EBRIM_NAMESPACE); } SearchEngine filterSearchEngine; @@ -453,11 +455,19 @@ returnElementSet = query.getElementSetName().getElementSet(); } String schemaToUse = determineSchemaToUse(outputSchema); - List<AbstractRecord> records = convertResultsToAbstractRecords(returnElementSet, schemaToUse, searchResultsList); - searchResults.setRecords(records); - searchResults.setNumberOfRecordsMatched(records.size()); - searchResults.setNumberOfRecordsReturned(records.size()); - searchResults.setElementSet(returnElementSet); + + if(schemaToUse.equals(EBRIM_NAMESPACE)) { + searchResults.setOtherRecords(searchResultsList); + } + else if(schemaToUse.equals(CSW_NAMESPACE)) { + List<AbstractRecord> records = convertResultsToAbstractRecords(returnElementSet, schemaToUse, searchResultsList); + searchResults.setRecords(records); + } + + searchResults.setNumberOfRecordsMatched(searchResultsList.size()); + // TODO get this from search engine ? + //searchResults.setNumberOfRecordsReturned(records.size()); + //searchResults.setElementSet(returnElementSet); searchResults.setRecordSchema(schemaToUse); } // This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |