Changeset 1532 for MDService2


Ignore:
Timestamp:
09/13/11 11:00:48 (13 years ago)
Author:
gaba
Message:

repository diagnostic

Location:
MDService2/branches/MDService_simple3/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/action/CompRegistryProxyAction.java

    r1524 r1532  
    112112        @SuppressWarnings("deprecation")       
    113113        @Override
    114         public void prepare() throws Exception {               
    115                
    116                 //Admin.notifyUser("CRPA.prepare");
    117                 if (!getActionkey().equals("elements")) {
    118                         super.prepare();
    119                 } else  {
    120 //                      Admin.notifyUser("CRPA.prepareSourceStream - elements");
    121                         String xcid;
    122                         InputStream _sourceStream;
    123                         InputStream __sourceStream;
    124                         InputStream _resultStream;
    125                        
    126                         _sourceStream = Cache.getCache().getFromCache(getRequestKey());
    127                         if (_sourceStream == null) {
    128         //                              Admin.notifyUser("CRPA.prepareSourceStream- profiles");
    129                                         //setActionkey("profiles");
    130                                         //setFormat("xmlresolved");
    131                                         __sourceStream = Cache.getCache().getFromCache(getRequestKey());
    132                                         if (__sourceStream == null) {
    133                                                 __sourceStream = getSourceStream();
    134                                                 xcid = Cache.getCache().putInCache(getRequestKey(),__sourceStream);                     
    135                                                 //Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());       
     114        public void prepare()  {               
     115               
     116                try {
     117               
     118                        //Admin.notifyUser("CRPA.prepare");
     119                        if (!getActionkey().equals("elements")) {
     120                                super.prepare();
     121                        } else  {
     122//                              Admin.notifyUser("CRPA.prepareSourceStream - elements");
     123                                String xcid;
     124                                InputStream _sourceStream;
     125                                InputStream __sourceStream;
     126                                InputStream _resultStream;
     127                               
     128                                _sourceStream = Cache.getCache().getFromCache(getRequestKey());
     129                                if (_sourceStream == null) {
     130                //                              Admin.notifyUser("CRPA.prepareSourceStream- profiles");
     131                                                //setActionkey("profiles");
     132                                                //setFormat("xmlresolved");
    136133                                                __sourceStream = Cache.getCache().getFromCache(getRequestKey());
    137                                         } else{
    138                                                 //Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());     
    139                                         }
    140                         //              Admin.notifyUser("CCCRPA." + getTargetRequest());
    141                                 //      Admin.notifyUser("CCCRPA." + getFullFormat());
     134                                                if (__sourceStream == null) {
     135                                                        __sourceStream = getSourceStream();
     136                                                        xcid = Cache.getCache().putInCache(getRequestKey(),__sourceStream);                     
     137                                                        //Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());       
     138                                                        __sourceStream = Cache.getCache().getFromCache(getRequestKey());
     139                                                } else{
     140                                                        //Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());     
     141                                                }
     142                                //              Admin.notifyUser("CCCRPA." + getTargetRequest());
     143                                        //      Admin.notifyUser("CCCRPA." + getFullFormat());
     144                                                MDTransformer transformer = new MDTransformer();
     145                                                transformer.setSrcFile(getTargetRequest());
     146                                                //transformer.setParams(createTransformerParams());
     147                                                _sourceStream = transformer.transformXML(__sourceStream);//, getFullFormat(),null,null,null,null,null,null);
     148                                        //      Admin.notifyUser("CRPA.- elements");
     149                                                //setActionkey("elements");
     150                                                //setFormat("htmllist");
     151                                                xcid = Cache.getCache().putInCache(getRequestKey(),_sourceStream);                     
     152                                //              Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());
     153                                                _sourceStream = Cache.getCache().getFromCache(getRequestKey());
     154                                } /*else {
     155                                                Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());
     156                                }*/
     157                                        /*
     158                                File file=new File(Cache.getCache().formPath(getRequestKey()));
     159                                Admin.notifyUser("File-absolutePath " + file.getAbsolutePath());
     160                                URL url = null;
     161                                   try{
     162                                           url = file.toURL();
     163                                           Admin.notifyUser("URL-tostring " + url.toString());
     164                                           }  catch (MalformedURLException me){
     165                                  }
     166                                 */
     167                               
     168                                if (getFormat().equals("xml")) {                       
     169                                        _resultStream = _sourceStream; 
     170                                }else {
     171                                        // set URL as srcFile (for MDTransformer to pass to xsl-scripts)
    142172                                        MDTransformer transformer = new MDTransformer();
    143173                                        transformer.setSrcFile(getTargetRequest());
    144                                         //transformer.setParams(createTransformerParams());
    145                                         _sourceStream = transformer.transformXML(__sourceStream);//, getFullFormat(),null,null,null,null,null,null);
    146                                 //      Admin.notifyUser("CRPA.- elements");
    147                                         //setActionkey("elements");
    148                                         //setFormat("htmllist");
    149                                         xcid = Cache.getCache().putInCache(getRequestKey(),_sourceStream);                     
    150                         //              Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());
    151                                         _sourceStream = Cache.getCache().getFromCache(getRequestKey());
    152                         } /*else {
    153                                         Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());
    154                         }*/
     174                                        //transformer.setParams(MDTransformer.createParamsMap(getFullFormat()));
     175                                        _resultStream = transformer.transformXML(_sourceStream);//, getFullFormat());
     176                                               
     177                                }
     178               
     179                                Admin.notifyUser(getProxyKey() + " success:" + (_resultStream!=null));
     180                               
     181                                setSourceStream(_sourceStream);
     182                                setResultStream(_resultStream);
     183
    155184                                /*
    156                         File file=new File(Cache.getCache().formPath(getRequestKey()));
    157                         Admin.notifyUser("File-absolutePath " + file.getAbsolutePath());
    158                         URL url = null;
    159                            try{
    160                                    url = file.toURL();
    161                                    Admin.notifyUser("URL-tostring " + url.toString());
    162                                    }  catch (MalformedURLException me){
    163                           }
    164                          */
     185                                if (getFormat().equals("txt")) {
     186                                        File f=new File(Cache.getCache().formPath("terms_autocomplete.txt"));
     187                                    OutputStream out=new FileOutputStream(f);
     188                                    byte buf[]=new byte[1024];
     189                                    int len;
     190                                    while((len=getResultStream().read(buf))>0)
     191                                        out.write(buf,0,len);
     192                                    out.close();
     193        Admin.notifyUser("terms_autocomplete.txt");
     194                                }
     195                                */
     196                        }
     197                } catch(Exception e){
    165198                       
    166                         if (getFormat().equals("xml")) {                       
    167                                 _resultStream = _sourceStream; 
    168                         }else {
    169                                 // set URL as srcFile (for MDTransformer to pass to xsl-scripts)
    170                                 MDTransformer transformer = new MDTransformer();
    171                                 transformer.setSrcFile(getTargetRequest());
    172                                 //transformer.setParams(MDTransformer.createParamsMap(getFullFormat()));
    173                                 _resultStream = transformer.transformXML(_sourceStream);//, getFullFormat());
    174                                        
    175                         }
    176        
    177                         Admin.notifyUser(getProxyKey() + " success:" + (_resultStream!=null));
    178                        
    179                         setSourceStream(_sourceStream);
    180                         setResultStream(_resultStream);
    181 
    182                         /*
    183                         if (getFormat().equals("txt")) {
    184                                 File f=new File(Cache.getCache().formPath("terms_autocomplete.txt"));
    185                             OutputStream out=new FileOutputStream(f);
    186                             byte buf[]=new byte[1024];
    187                             int len;
    188                             while((len=getResultStream().read(buf))>0)
    189                                 out.write(buf,0,len);
    190                             out.close();
    191 Admin.notifyUser("terms_autocomplete.txt");
    192                         }
    193                         */
    194                        
    195                 }
     199                }                       
    196200
    197201        }
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/action/GenericAction.java

    r1531 r1532  
    499499         */
    500500       
    501         public void prepare() throws Exception {
     501        public void prepare() {
    502502                       
    503                 loadParams();
    504                 setTargetProxy();
    505                 getTargetProxy().checkParams();
    506                
    507                 String req_key = getRequestKey();
    508                 log.debug("request_key: " +  req_key);
    509                 log.debug("params.size: " +  params.size());
    510                 log.debug(getActionkey() + ".targetURL: " + getTargetProxy().getTargetRequest() + " .format:" + getFullFormat());
    511                
    512                 // Caching
    513                 String xcid;
    514        
    515                 if (getCache().equals(Cache.SKIP)) {
     503                try{
     504                        loadParams();
     505                        setTargetProxy();
     506                        getTargetProxy().checkParams();
    516507                       
    517                         sourceStream = getSourceStream();
     508                        String req_key = getRequestKey();
     509                        log.debug("request_key: " +  req_key);
     510                        log.debug("params.size: " +  params.size());
     511                        log.debug(getActionkey() + ".targetURL: " + getTargetProxy().getTargetRequest() + " .format:" + getFullFormat());
    518512                       
    519                 } else {
    520                         if (getCache().equals(Cache.USE)) {
     513                        // Caching
     514                        String xcid;
     515               
     516                        if (getCache().equals(Cache.SKIP)) {
     517                               
     518                                sourceStream = getSourceStream();
     519                               
     520                        } else {
     521                                if (getCache().equals(Cache.USE)) {
     522                                                sourceStream = Cache.getCache().getFromCache(req_key);
     523                                }
     524                                if (sourceStream == null) { // either not in cache or cache_flag=refresh
     525                                        //sourceStream = getTargetRequest().openStream();
     526                                        long startMillis = System.currentTimeMillis();
     527                                        sourceStream = getSourceStream();
     528                                        duration = System.currentTimeMillis() - startMillis;
     529                                        req_key = addDurationKey();
     530                                       
     531                                        long now = System.currentTimeMillis();
     532                                        xcid = Cache.getCache().putInCache(req_key,sourceStream);                       
     533                                        //Admin.notifyUser("putting in cache: " + req_key);                     
    521534                                        sourceStream = Cache.getCache().getFromCache(req_key);
    522                         }
    523                         if (sourceStream == null) { // either not in cache or cache_flag=refresh
    524                                 //sourceStream = getTargetRequest().openStream();
    525                                 long startMillis = System.currentTimeMillis();
    526                                 sourceStream = getSourceStream();
    527                                 duration = System.currentTimeMillis() - startMillis;
    528                                 req_key = addDurationKey();
     535                                } /* else {
     536                                        Admin.notifyUser("reading from cache: " + req_key);
     537                                } */
     538                        }
     539                       
     540                        // add diagnostics non fatal
     541                        if (getDiagnostics().Exists()){
     542                                Document doc ;
     543                                Node r_element;
     544                                // fatal error
     545                                //TODO getDiagnostics().Exists("fatal");
     546                                if (sourceStream == null){
     547                                        //TODO rootelemname ???
     548                                        doc = Helpers.createDocument("rootelemname");
     549                                        r_element = doc.getFirstChild();
     550                                } else {
     551                                        doc = Helpers.getDocument(sourceStream);
     552                                        //TODO tagname by class
     553                                        r_element=  doc.getElementsByTagName("searchRetrieveResponse").item(0);
     554                                }
    529555                               
    530                                 long now = System.currentTimeMillis();
    531                                 xcid = Cache.getCache().putInCache(req_key,sourceStream);                       
    532                                 //Admin.notifyUser("putting in cache: " + req_key);                     
    533                                 sourceStream = Cache.getCache().getFromCache(req_key);
    534                         } /* else {
    535                                 Admin.notifyUser("reading from cache: " + req_key);
    536                         } */
    537                 }
    538                
    539                 // add diagnostics
    540                 if (getDiagnostics().Exists()){
    541                         Document doc ;
    542                         Node r_element;
    543                         // fatal error
    544                         //TODO getDiagnostics().Exists("fatal");
    545                         if (sourceStream == null){
    546                                 //TODO rootelemname ???
    547                                 doc = Helpers.createDocument("rootelemname");
    548                                 r_element = doc.getFirstChild();
    549                         } else {
    550                                 doc = Helpers.getDocument(sourceStream);
    551                                 //TODO tagname by class
    552                                 r_element=  doc.getElementsByTagName("searchRetrieveResponse").item(0);
     556                                Document ddoc = getDiagnostics().buildXMLDocument();
     557                                Node d_element=  ddoc.getElementsByTagName("diagnostics").item(0);
     558                                doc.adoptNode(d_element);
     559                                r_element.appendChild(d_element);
     560                                DOMSource source = new DOMSource(doc);   
     561                                StringWriter xmlAsWriter = new StringWriter();   
     562                                StreamResult result = new StreamResult(xmlAsWriter);   
     563                                TransformerFactory.newInstance().newTransformer().transform(source, result);
     564                                this.setSourceStream(new ByteArrayInputStream(xmlAsWriter.toString().getBytes("UTF-8")));
    553565                        }
    554566                       
    555                         Document ddoc = getDiagnostics().buildXMLDocument();
    556                         Node d_element=  ddoc.getElementsByTagName("diagnostics").item(0);
    557                         doc.adoptNode(d_element);
    558                         r_element.appendChild(d_element);
    559                         DOMSource source = new DOMSource(doc);   
    560                         StringWriter xmlAsWriter = new StringWriter();   
    561                         StreamResult result = new StreamResult(xmlAsWriter);   
    562                         TransformerFactory.newInstance().newTransformer().transform(source, result);
    563                         this.setSourceStream(new ByteArrayInputStream(xmlAsWriter.toString().getBytes("UTF-8")));
    564                 }
    565                
    566                 log.debug("format: " + getFormat() );
    567                 if (getFormat().equals("xml")) {                       
    568                         resultStream = sourceStream;   
    569                 }else {
    570                         MDTransformer transformer = new MDTransformer();
    571                         // set URL as srcFile (for MDTransformer to pass to xsl-scripts)
    572                         // TODO: WHY??
    573                         transformer.setSrcFile(getTargetProxy().getTargetRequest());
    574                         //transformer.setParams(createTransformerParams());
    575                         transformer.setParams(getParams());
    576                         // here the transformation is invoked
    577                         resultStream = transformer.transformXML(sourceStream);
     567                        log.debug("format: " + getFormat() );
     568                        if (getFormat().equals("xml")) {                       
     569                                resultStream = sourceStream;   
     570                        }else {
     571                                MDTransformer transformer = new MDTransformer();
     572                                // set URL as srcFile (for MDTransformer to pass to xsl-scripts)
     573                                // TODO: WHY??
     574                                transformer.setSrcFile(getTargetProxy().getTargetRequest());
     575                                //transformer.setParams(createTransformerParams());
     576                                transformer.setParams(getParams());
     577                                // here the transformation is invoked
     578                                resultStream = transformer.transformXML(sourceStream);
     579                        }
     580
     581                }catch (Exception e){
     582                        //TODO add exception to diagnostic ?
     583                        return;
    578584                }
    579585               
     
    597603
    598604                if (resultStream == null) {
     605                        if (getDiagnostics().Exists()){
     606                                Document doc ;
     607                                Node r_element;
     608                                // fatal error
     609                                //TODO getDiagnostics().Exists("fatal");
     610                                doc = Helpers.createDocument("Error");
     611                                r_element = doc.getFirstChild();
     612                               
     613                                Document ddoc = getDiagnostics().buildXMLDocument();
     614                                Node d_element=  ddoc.getElementsByTagName("diagnostics").item(0);
     615                                doc.adoptNode(d_element);
     616                                r_element.appendChild(d_element);
     617                                DOMSource source = new DOMSource(doc);   
     618                                StringWriter xmlAsWriter = new StringWriter();   
     619                                StreamResult result = new StreamResult(xmlAsWriter);   
     620                                TransformerFactory.newInstance().newTransformer().transform(source, result);
     621                                this.setResultStream(new ByteArrayInputStream(xmlAsWriter.toString().getBytes("UTF-8")));
     622
     623                        }
    599624                        return ERROR;   
    600625                } else {
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/action/GenericProxyAction.java

    r1524 r1532  
    449449         */
    450450       
    451         public void prepare() throws Exception {               
    452                
    453                 String req_key = getRequestKey();
    454                 Admin.notifyUser("request_key: " +  req_key);
    455                 Admin.notifyUser(getProxyKey() + ".targetURL: " + getTargetRequest() + " .format:" + getFullFormat());
    456                
    457                 // Caching
    458                 String xcid;
    459        
    460                 // Admin.notifyUser("GPA.prepareSourceStream");
    461                
    462                 if (getCache().equals(Cache.SKIP)) {
     451        public void prepare() {         
     452               
     453                try{
     454                        String req_key = getRequestKey();
     455                        Admin.notifyUser("request_key: " +  req_key);
     456                        Admin.notifyUser(getProxyKey() + ".targetURL: " + getTargetRequest() + " .format:" + getFullFormat());
    463457                       
    464                         sourceStream = getSourceStream();
     458                        // Caching
     459                        String xcid;
     460               
     461                        // Admin.notifyUser("GPA.prepareSourceStream");
    465462                       
    466                 } else {
    467                         if (getCache().equals(Cache.USE)) {
     463                        if (getCache().equals(Cache.SKIP)) {
     464                               
     465                                sourceStream = getSourceStream();
     466                               
     467                        } else {
     468                                if (getCache().equals(Cache.USE)) {
     469                                                sourceStream = Cache.getCache().getFromCache(req_key);
     470                                }
     471                                if (sourceStream == null) { // either not in cache or cache_flag=refresh
     472                                        //sourceStream = getTargetRequest().openStream();
     473                                        long startMillis = System.currentTimeMillis();
     474                                        sourceStream = getSourceStream();
     475                                        duration = System.currentTimeMillis() - startMillis;
     476                                        req_key = addDurationKey();
     477                                       
     478                                        long now = System.currentTimeMillis();
     479                                        xcid = Cache.getCache().putInCache(req_key,sourceStream);                       
     480                                        //Admin.notifyUser("putting in cache: " + req_key);                     
    468481                                        sourceStream = Cache.getCache().getFromCache(req_key);
    469                         }
    470                         if (sourceStream == null) { // either not in cache or cache_flag=refresh
    471                                 //sourceStream = getTargetRequest().openStream();
    472                                 long startMillis = System.currentTimeMillis();
    473                                 sourceStream = getSourceStream();
    474                                 duration = System.currentTimeMillis() - startMillis;
    475                                 req_key = addDurationKey();
     482                                } /* else {
     483                                        Admin.notifyUser("reading from cache: " + req_key);
     484                                } */
     485                        }
    476486                               
    477                                 long now = System.currentTimeMillis();
    478                                 xcid = Cache.getCache().putInCache(req_key,sourceStream);                       
    479                                 //Admin.notifyUser("putting in cache: " + req_key);                     
    480                                 sourceStream = Cache.getCache().getFromCache(req_key);
    481                         } /* else {
    482                                 Admin.notifyUser("reading from cache: " + req_key);
    483                         } */
    484                 }
     487                        if (format.equals("xml")) {                     
     488                                resultStream = sourceStream;   
     489                        }else {
     490                                MDTransformer transformer = new MDTransformer();
     491                                // set URL as srcFile (for MDTransformer to pass to xsl-scripts)
     492                                // TODO: WHY??
     493                                transformer.setSrcFile(getTargetRequest());
     494                                //transformer.setParams(createTransformerParams());
     495                                // here the transformation is invoked
     496                                resultStream = transformer.transformXML(sourceStream);
     497                        }
     498                               
     499                        log.debug(getProxyKey() + " success:" + (resultStream!=null));
     500       
     501                } catch (Exception e){
    485502                       
    486                 if (format.equals("xml")) {                     
    487                         resultStream = sourceStream;   
    488                 }else {
    489                         MDTransformer transformer = new MDTransformer();
    490                         // set URL as srcFile (for MDTransformer to pass to xsl-scripts)
    491                         // TODO: WHY??
    492                         transformer.setSrcFile(getTargetRequest());
    493                         //transformer.setParams(createTransformerParams());
    494                         // here the transformation is invoked
    495                         resultStream = transformer.transformXML(sourceStream);
    496                 }
    497                        
    498                 log.debug(getProxyKey() + " success:" + (resultStream!=null));
     503                }
    499504        }
    500505
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/action/RepoAction.java

    r1528 r1532  
    9191                public void setTargetProxy(){
    9292                                               
    93                         //if (getRepository()==null) setRepository("clarin.at-mirror");
     93                        if (getRepository()==null) {
     94                                getDiagnostics().Add(Diagnostic.MANDATORY_NOTSUPPLIED, "repository", "");
     95                                return;
     96                        }
    9497                       
     98                        if (!WorkspaceProfile.repositoryExists(getRepository())){
     99                                getDiagnostics().Add(Diagnostic.UNSUPPORTED_PARAMETERVALUE, "repository", "repository=" + getRepository() );
     100                                return;
     101                        }
    95102                        switch (WorkspaceProfile.RepositoryType.toRepositoryType(WorkspaceProfile.getRepositoryType(getRepository())))
    96103                        {               
     
    105112                                return;
    106113                            default:
    107                                 getDiagnostics().Add(Diagnostic.MANDATORY_NOTSUPPLIED, "repository", "repository=" + getRepository() );
     114                                //TODO error  = bad workspaceProfile configuration
     115                                getDiagnostics().Add(Diagnostic.SYSTEM_ERROR, "error in workspaceprofile configuration", "repository=" + getRepository() );
    108116                        }
    109117                       
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/action/WorkspaceAction.java

    r1530 r1532  
    956956       
    957957        @Override
    958         public void prepare() throws Exception {               
    959                
    960                 loadParams();
    961                
     958        public void prepare()  {               
     959               
     960                try{
     961                        loadParams();
     962                       
    962963                NodeList list = (NodeList) getWorkspaceData();//result;
    963964                if (list.getLength() < 1) {
     
    985986                       
    986987                log.debug(getProxyKey() + " success:" + (getResultStream()!=null));
     988
     989                } catch (Exception e){
     990                       
     991                }
    987992        }
    988993
  • MDService2/branches/MDService_simple3/src/eu/clarin/cmdi/mdservice/model/WorkspaceProfile.java

    r1526 r1532  
    178178        }
    179179       
     180        public static Boolean repositoryExists(String repository_name){
     181                       
     182                        // static repositories
     183                        net.sf.json.JSONArray json = WorkspaceProfile.getRepositories();
     184                        for(int i=0;i<json.size();i++){
     185                                if (json.getJSONObject(i).getString("name").equals(repository_name)){
     186                                        return true;
     187                                }
     188                        }
     189                       
     190                        return false;
     191
     192                }
     193       
    180194        public static String getRepositoryPath(String repository_name){
    181195                String repository_path = null;
  • MDService2/branches/MDService_simple3/src/struts.xml

    r1531 r1532  
    2121                              <param name="location">/Error.jsp</param>                     
    2222                            </result> -->
    23                             <result name="error">/Error.jsp</result>
     23                            <result name="error" type="stream">
     24                                <param name="contentType">text/xml</param>
     25                                <param name="inputName">resultStream</param>
     26                            </result>
    2427                            <!-- <result name="error" type="redirectAction"></result>
    2528                             -->
Note: See TracChangeset for help on using the changeset viewer.