Changeset 7818


Ignore:
Timestamp:
17/01/11 14:07:10 (9 years ago)
Author:
mnagni
Message:

many major changes

Location:
mauRepo/newmoon
Files:
1 added
2 deleted
8 edited
1 moved

Legend:

Unmodified
Added
Removed
  • mauRepo/newmoon

    • Property svn:ignore
      •  

        old new  
        88 
        99.classpath 
         10 
         11logs 
         12 
         13data 
  • mauRepo/newmoon/src/main/java/ndg/services/newmoon/NewmoonManager.java

    r7816 r7818  
    174174        } 
    175175 
    176         public List<File> getPathChilds(String path) throws IOException { 
     176        private String getAbsolutePath(String path) { 
     177                URL rs = XMIEncoder.class.getClassLoader().getResource(path); 
     178                return rs.getPath(); 
     179        } 
     180 
     181        private List<File> getPathChilds(String path) throws IOException { 
    177182                Enumeration<URL> rs = XMIEncoder.class.getClassLoader().getResources(path); 
    178183                if (!rs.hasMoreElements()) { 
     
    201206        } 
    202207 
    203         private Map<String, Object> getVariablesMap(String reportName, String registryPath) { 
    204                 if (variables.size() > 0) { 
    205                         variables.put("reportname", reportName); 
    206                         return variables; 
    207                 } 
     208        protected void setVariables(String reportName, String registryPath, String workingPath, GML_VERSION gmlVersion) { 
     209                if (variables.size() == 0) { 
     210                        initVariablesMap(); 
     211                } 
     212                variables.put("reportname", reportName); 
     213                variables.put("working-directory", "/" + FilenameUtils.getPathNoEndSeparator(getAbsolutePath(workingPath))); 
     214                variables.put("dependency-register-path", workingPath + "/" + registryPath); 
     215                variables.put("gml-version", gmlVersion.getVersion()); 
     216        } 
     217 
     218        private void initVariablesMap() { 
    208219                // -------------------- 
    209220                // Add external XQuery variables. 
     
    216227                String passVarname = "xmldb-password"; 
    217228                variables.put(passVarname, pass); 
    218                 variables.put("working-directory", "/home/users/mnagni/workspace/fullmoon/newmoon/target/classes/sampleXML"); 
    219  
    220                 variables.put("gml-version", GML_VERSION.v3_1.getVersion()); 
    221  
    222                 // Add general properties from the process properties file. 
    223  
    224                 // ---->> addProperties(propertiesFile, testRunner); 
     229                 
    225230                String rootCollectionPath = NewmoonManager.ROOT_COLLECTION_URI; 
    226231                rootCollectionPath = rootCollectionPath.replaceAll("^(.*/exist/xmlrpc)(/[^/]*)$", "$2"); 
    227  
    228                 variables.put("dependency-register-path", registryPath); 
    229232                variables.put("root-collection-path", rootCollectionPath); 
    230                 return variables; 
    231233        } 
    232234 
     
    236238         * @throws IOException 
    237239         */ 
    238         protected List<Resource> executePreProcessingScripts(Resource xmiDoc, RULES rules, RULES_ROOT_PATH rulesDir, 
    239                         String reportName, String registryPath) throws IOException { 
     240        protected List<Resource> executePreProcessingScripts(Resource xmiDoc, RULES rules, RULES_ROOT_PATH rulesDir) 
     241                        throws IOException { 
    240242 
    241243                List<Resource> results = new ArrayList<Resource>(); 
     
    262264                        ResourceSet result; 
    263265                        try { 
    264                                 result = executeXQuery(xmiDoc, file, getVariablesMap(reportName, registryPath)); 
     266                                result = executeXQuery(xmiDoc, file, variables); 
    265267                                ResourceIterator rIter = result.getIterator(); 
    266268                                while (rIter.hasMoreResources()) 
     
    308310 
    309311        public InputStream precessResource(Resource xmiResource, String resourceID, RULES_ROOT_PATH rulesDir, 
    310                         MODULES_DEF_COLLECTION collectionName, String reportName, String registryPath) { 
     312                        MODULES_DEF_COLLECTION collectionName) { 
    311313                InputStream ret = null; 
    312314                try { 
     
    315317 
    316318                        List<Resource> results = new ArrayList<Resource>(); 
    317                         List<Resource> pre = executePreProcessingScripts(xmiResource, RULES.PRE, rulesDir, reportName, registryPath); 
     319                        List<Resource> pre = executePreProcessingScripts(xmiResource, RULES.PRE, rulesDir); 
    318320                        results.addAll(pre); 
    319321 
    320                         List<Resource> tests = executePreProcessingScripts(xmiResource, RULES.TESTS, rulesDir, reportName, 
    321                                         registryPath); 
     322                        DBManager.getInstance().mapDBCollection(null); 
     323                        List<Resource> tests = executePreProcessingScripts(xmiResource, RULES.TESTS, rulesDir); 
    322324                        results.addAll(tests); 
    323325 
    324                         List<Resource> post = executePreProcessingScripts(xmiResource, RULES.POST, rulesDir, reportName, 
    325                                         registryPath); 
     326                        List<Resource> post = executePreProcessingScripts(xmiResource, RULES.POST, rulesDir); 
    326327                        results.addAll(post); 
    327328 
    328                         ret = reportToFile(resourceID, DEFAULT_REPORT_STYLESHEET, results, reportName); 
     329                        ret = reportToFile(resourceID, DEFAULT_REPORT_STYLESHEET, results, (String)variables.get("reportname")); 
    329330                } catch (XMLDBException e) { 
    330331                        // TODO Auto-generated catch block 
  • mauRepo/newmoon/src/main/java/ndg/services/newmoon/XMIEncoder.java

    r7816 r7818  
    1212import ndg.services.newmoon.NewmoonManager.RULES_ROOT_PATH; 
    1313 
    14 import org.apache.commons.io.IOUtils; 
    15 import org.apache.commons.lang.StringUtils; 
    1614import org.apache.commons.lang.text.StrBuilder; 
    1715import org.slf4j.Logger; 
     
    3432        } 
    3533 
    36         public void doEncode(File xmiDoc, String registryPath) throws NewmoonException { 
     34        public List<String> doEncode(File xmiDoc, String registryPath, String workingPath, GML_VERSION gmlVersion, String resourceName) throws NewmoonException { 
    3735                try { 
    3836                        checkExistStatus(); 
    39                         executeEncode(xmiDoc, registryPath); 
     37                        return executeEncode(xmiDoc, registryPath, workingPath, gmlVersion, resourceName); 
    4038                } catch (XMLDBException e) { 
    4139                        throw new NewmoonException(e); 
     
    4543        } 
    4644 
    47         private List<String> executeEncode(File xmiDoc, String registryPath) throws XMLDBException, IOException, 
    48                         NewmoonException { 
     45        private List<String> executeEncode(File xmiDoc, String registryPath, String workingPath, GML_VERSION gmlVersion, String resourceName) throws XMLDBException, 
     46                        IOException, NewmoonException { 
    4947                // add a Sample file 
    50                 String RESOURCE_ID = "CMSLv3"; 
    5148                NewmoonManager nm = new NewmoonManager(); 
    5249 
    5350                String schemaEncoding = NewmoonManager.SCHEMA_ENCODING_DEF_COLLECTION.XMI11EA.getEncodingName(); 
    54                 nm.addXMIResource(null, xmiDoc, RESOURCE_ID, schemaEncoding); 
     51                nm.addXMIResource(null, xmiDoc, resourceName, schemaEncoding); 
    5552                Collection xmiCol = DBManager.getInstance().getCollectionChild(null, schemaEncoding); 
    56                 Resource xmiResource = DBManager.getInstance().getResource(xmiCol, RESOURCE_ID); 
     53                Resource xmiResource = DBManager.getInstance().getResource(xmiCol, resourceName); 
    5754                InputStream is = null; 
    5855 
    5956                // Test the XMI File 
    60                 is = nm.precessResource(xmiResource, RESOURCE_ID, RULES_ROOT_PATH.ISO19136_V3_2_AnxE_XMI_V1_1, 
    61                                 MODULES_DEF_COLLECTION.CONFORMANCE_TEST, NewmoonManager.DEFAULT_REPORT_NAME, registryPath); 
     57                nm.setVariables(NewmoonManager.DEFAULT_REPORT_NAME, registryPath, workingPath, gmlVersion); 
     58                is = nm.precessResource(xmiResource, resourceName, RULES_ROOT_PATH.ISO19136_V3_2_AnxE_XMI_V1_1, 
     59                                MODULES_DEF_COLLECTION.CONFORMANCE_TEST); 
    6260                testReport(is); 
    6361 
    6462                // Encode the XMI File 
    65                 is = nm.precessResource(xmiResource, RESOURCE_ID, RULES_ROOT_PATH.XMI11EA, 
    66                                 MODULES_DEF_COLLECTION.SCHEMA_ENCODING, NewmoonManager.DEFAULT_ENCODE_REPORT_NAME, registryPath); 
     63                nm.setVariables(NewmoonManager.DEFAULT_ENCODE_REPORT_NAME, registryPath, workingPath, gmlVersion); 
     64                is = nm.precessResource(xmiResource, resourceName, RULES_ROOT_PATH.XMI11EA, 
     65                                MODULES_DEF_COLLECTION.SCHEMA_ENCODING); 
    6766 
    6867                // Export the generated file 
     
    8180                                        for (ReportError err : errs) { 
    8281                                                sb.appendln(err.toString()); 
    83                                         }        
     82                                        } 
    8483                                        throw new NewmoonException(sb.toString()); 
    8584                                } 
  • mauRepo/newmoon/src/main/resources/rules/conformance-test/ISO19136-V3.2-AnxE_XMI-V1.1/modules/module-constants.xq

    r7815 r7818  
    44 
    55declare variable $mod-co:suite-id as xs:string := "ISO19136-V3.2-AnxE_XMI-V1.1"; 
    6 declare variable $mod-co:default-register-path as xs:string := "../resources/dependency/Register_ExternalPackages.xml"; 
     6declare variable $mod-co:default-register-path as xs:string := "resources/dependency/Register_ExternalPackages.xml"; 
  • mauRepo/newmoon/src/main/resources/rules/conformance-test/ISO19136-V3.2-AnxE_XMI-V1.1/pre/pre-001.xq

    r7815 r7818  
    4949}; 
    5050 
     51declare function local:resolve-dependency-register-path($paths as xs:string*) as xs:string* 
     52{ 
     53    for $path in $paths 
     54    let $ret :=  
     55        if (starts-with($path, "http://") or starts-with($path, "https://")) 
     56        then $path 
     57        else if (starts-with($path, "file://")) 
     58            then $path 
     59            else concat("file://", $working-directory, "/", $path) 
     60        return $ret 
     61}; 
     62 
    5163(: Load type-mapping tables to the collection :) 
    5264declare function local:load-type-mappings($doc-root as node()?) as node()? 
     
    7486                                for $pck in doc($path)//pckr:package 
    7587                                return ( 
    76                                         $pck/pckr:implementation[@binding eq concat("GML ", $gml-version)]/pckr:classMap/@location, 
    77                                         $pck/pckr:implementation[@binding eq "any"]/pckr:classMap/@location 
     88                                        local:resolve-dependency-register-path($pck/pckr:implementation[@binding eq concat("GML ", $gml-version)]/pckr:classMap/@location), 
     89                                        local:resolve-dependency-register-path($pck/pckr:implementation[@binding eq "any"]/pckr:classMap/@location) 
    7890                                ) 
    7991                ), 
  • mauRepo/newmoon/src/main/resources/rules/schema-encoding/xmi11ea/modules/module-constants.xq

    r7815 r7818  
    44 
    55declare variable $mod-co:suite-id as xs:string := "schema-encoding/xmi11ea"; 
    6 declare variable $mod-co:default-register-path as xs:string := "../resources/dependency/Register_ExternalPackages.xml"; 
     6declare variable $mod-co:default-register-path as xs:string := "resources/dependency/Register_ExternalPackages.xml"; 
    77 
    88declare variable $mod-co:gml-3_1-schemaLoc as xs:string := "http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"; 
  • mauRepo/newmoon/src/test/java/ndg/services/newmoon/XMIEncoderTest.java

    r7816 r7818  
    33import java.io.File; 
    44import java.net.URL; 
     5import java.util.List; 
    56 
    67import org.junit.After; 
     
    2526                XMIEncoder encoder = new XMIEncoder(); 
    2627                String registryPath = "csml_local_PackageRegister.xml"; 
    27                 String sample = "sampleXML/CSML3.xml"; 
    28                 URL xmiDoc = XMIEncoder.class.getClassLoader().getResource(sample); 
    29                 encoder.doEncode(new File(xmiDoc.getPath()), registryPath);              
     28                String workingPath = "sampleXML"; 
     29                String sample = "CSML3.xml"; 
     30                GML_VERSION gmlVersion = GML_VERSION.v3_2; 
     31                String RESOURCE_ID = "CSMLv3"; 
     32                URL xmiDoc = XMIEncoder.class.getClassLoader().getResource(workingPath + "/" + sample); 
     33                List<String> encFilePaths = encoder.doEncode(new File(xmiDoc.getPath()), registryPath, workingPath, gmlVersion, RESOURCE_ID); 
     34                for (String filePath : encFilePaths) { 
     35                        System.out.println(filePath); 
     36                } 
    3037        } 
    3138} 
  • mauRepo/newmoon/src/test/resources/sampleXML/csml_local_PackageRegister.xml

    r7816 r7818  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <register 
    3         xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    4         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    5         xmlns="urn:x-auscope:xmlns:CSIRO:FullMoon:package-register:2.0" 
    6         xsi:schemaLocation="urn:x-auscope:xmlns:CSIRO:FullMoon:package-register:2.0 ../dependency-util/package-register.xsd" 
     2<register xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:x-auscope:xmlns:CSIRO:FullMoon:package-register:2.0" 
    74        id="cim_local_PackageRegister.xml"> 
    8         <description>A register of additional EA packages with classmap implementations for HMA          
    9         The FullMoon processing framework uses this to resolve external dependencies in Application Schemas</description> 
    10         <package name="ISO 19123:2005 Coverages"> 
    11                 <!-- MODIFIED BY DOMINIC LOWE to use LOCAL classmap --> 
    12                 <implementation binding="GML 3.2"> 
    13                         <classMap location="file:///home/users/mnagni/Download/fullmoon/csml3/localClassmaps/ClassMap_ISO_19123_GMLCov_1_0.xml"/> 
    14                 </implementation> 
    15         </package> 
    16         <package name="ISO DIS 19156:2010 Observations and Measurements"> 
    17                 <!-- MODIFIED BY DOMINIC LOWE to use LOCAL classmap --> 
    18                 <implementation binding="GML 3.2"> 
    19 <!--                 <classMap location="file:///usr/local/fullmoon/localclassmaps/ClassMap_ISO_DIS_19156.xml"/> --> 
    20                    <classMap location="https://www.seegrid.csiro.au/subversion/HollowWorld/trunk/ClassMaps/ClassMap_ISO_DIS_19156_Observation_Core_GML32.xml"/> 
    21                 </implementation> 
    22         </package> 
     5        <description>A register of additional EA packages with classmap 
     6                implementations for HMA 
     7                The FullMoon processing framework uses this to resolve external 
     8                dependencies in Application Schemas</description> 
     9        <package name="ISO 19123:2005 Coverages"> 
     10                <!-- MODIFIED BY DOMINIC LOWE to use LOCAL classmap --> 
     11                <implementation binding="GML 3.2"> 
     12                        <classMap 
     13                                location="sampleXML/localClassmaps/ClassMap_ISO_19123_GMLCov_1_0.xml" /> 
     14                </implementation> 
     15        </package> 
     16        <package name="ISO DIS 19156:2010 Observations and Measurements"> 
     17                <!-- MODIFIED BY DOMINIC LOWE to use LOCAL classmap --> 
     18                <implementation binding="GML 3.2"> 
     19                        <!-- 
     20                                <classMap 
     21                                location="file:///usr/local/fullmoon/localclassmaps/ClassMap_ISO_DIS_19156.xml"/> 
     22                        --> 
     23                        <classMap 
     24                                location="https://www.seegrid.csiro.au/subversion/HollowWorld/trunk/ClassMaps/ClassMap_ISO_DIS_19156_Observation_Core_GML32.xml" /> 
     25                </implementation> 
     26        </package> 
    2327 
    2428</register> 
Note: See TracChangeset for help on using the changeset viewer.