Changeset 1429 for MDService2


Ignore:
Timestamp:
06/21/11 19:30:01 (13 years ago)
Author:
gaba
Message:

logging <xsl:message> solution
options withSummary - changes

Location:
MDService2/trunk/MDService2
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • MDService2/trunk/MDService2/WebContent/index.jsp

    r1384 r1429  
    8787                                                <label>Complex query</label><span name='detail_index' class='cmd cmd_detail'></span><br/>
    8888                                                <div id="searchclauselist"></div>                                                       
    89                                                 <input type="checkbox" checked="false" id="input-withsummary" name="WS"/><label>with Summary</label>
     89                                                <!--<input type="checkbox" checked="false" id="input-withsummary" name="WS"/><label>with Summary</label>
     90                                                 -->
    9091                                        </td>
    9192                                        </tr>                                         
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_model.js

    r1417 r1429  
    3333        case 'bookmark':
    3434                return json["WorkspaceProfile"]["Bookmarksets"][id]["Bookmarks"];
     35        case 'customtermset':
     36                return json["WorkspaceProfile"].CustomTermsets;
    3537        }
    3638
     
    6567                } else {
    6668                        workspace.user_json["WorkspaceProfile"]["Bookmarksets"][id]["Bookmarks"] = data;
     69                }
     70                break;
     71        case 'customtermset':
     72                if (data == "[{}]"){
     73                        this.user_json["WorkspaceProfile"].CustomTermsets = [{}];
     74                } else {
     75                        this.user_json["WorkspaceProfile"].CustomTermsets = data;
    6776                }
    6877                break;
     
    803812       
    804813        this.container = $('#' + this.listid );
    805 
     814        $(this.container).data('query',this);
     815       
    806816        notifyUser("DEBUG: setting up removing query:" + $(this).closest('.query_wrapper').attr('id'));
    807817        $(this.container).children('.query_header').find('.cmd_del').click(function(event) {
     
    922932                                addDetailFunctionality(q_header, query);
    923933                        });
     934
     935};
     936
     937Query.prototype.summaryinfo = function () {
     938       
     939        var uri = link('recordset',this.format, this.query_uri());
     940        //columns-wrapper
     941        var temp = $('<div />');
     942        $(temp).data('qcontainer',$(this.container));
     943        $(temp).load(uri, function(response, status, xhr) {
     944                //detailcaller.getdetail("detail_query").close();
     945                /*
     946                var profiles = $(this).find('.used-profiles');
     947                var parent = $(this).data('qcontainer').find('.used-profiles').parent();
     948                $(parent).remove('.used-profiles').append(profiles);
     949               
     950                var summary = $(this).find('.result-summary');
     951                parent = $(this).data('qcontainer').find('.result-summary').parent();
     952                $(parent).remove('.result-summary').append(summary);
     953                */
     954                //detailcaller.calldetail($(this).data('qcontainer').find('.result-header').find('.cmd_detail'));
     955
     956                // direct replace detail data
     957                var detailcontent = detailcaller.getdetail("detail_query").content;
     958               
     959                var profiles = $(this).find('.used-profiles');
     960                var parent = detailcontent.find('.used-profiles').parent();
     961                $(parent).find('.used-profiles').remove();
     962                $(parent).append(profiles);
     963               
     964                var summary = $(this).find('.result-summary');
     965                $(summary).find('.terms-tree').treeTable({initialState:"collapsed"});
     966                var parent = detailcontent.find('.result-summary').parent();
     967                $(parent).find('.result-summary').remove();
     968                $(parent).append(summary);
     969                $(parent).find('.cmd_columns').click(function(){
     970                        query_wrapper_add_column($(this));
     971                });
     972        });
     973
    924974
    925975};
     
    12381288        //q_header.find('.cmd_add').click(function(){
    12391289        //q_header.find('.cmd_columns').data('query', query);
    1240         q_header.find('.cmd_columns').click(function(){
     1290        q_header.find('.cmd_columns').click( function(){
    12411291                query_wrapper_add_column($(this));
    12421292                //$(this).data('query').resubmit();
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui.js

    r1388 r1429  
    248248                var columns = "";//columns_widget.getColumnsListText();
    249249                var collections = collections_widget.widgets; //searchclauseset.sctext;
    250                 var ws  = $('#input-withsummary').attr("checked");
     250                //var ws  = $('#input-withsummary').attr("checked");
    251251               
    252252                notifyUser("processing query");
     
    261261                var q = new Query(collections, columns, query, squery); //actions.collections.current, query );
    262262                q.repository = getSelectedRepository();
    263                 if (ws) {
    264                         q.options = "withSummary";
    265                 }
     263                //if (ws) {
     264                //      q.options = "withSummary";
     265                //}
    266266                notifyUser("submit_query:" + q.query_uri(),'debug');
    267267                queryset.addquery(q);
     
    738738        });
    739739
     740        $('.detail-wrapper .cmd_withsummary').live('click',function(event){
     741                var detail = $(this).closest('.detail-wrapper').data('detail');
     742                var query = detail.query;
     743                // aaaload new query
     744                query.summaryinfo();
     745                // copy summary data
     746                //detailcaller.calldetail($(query.container).find('.result-header').find('.cmd_detail'));
     747        });
     748       
    740749        $('#bookmarks .cmd_load').live('click',function(event){
    741750                var q = $(this).closest('.cmds-elem-plus').data("query");//json");
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_detail.js

    r1350 r1429  
    2424        this.content = undefined;
    2525        this.temp_id = "";
     26        this.query = undefined;
    2627       
    2728        this.setData();
     
    3132        this.detailwidget = detailwidget;
    3233        this.temp_id = "";
     34        this.query = undefined;
    3335        this.url = url;
    3436        this.setData();
     
    4648                this.url  = undefined;
    4749                this.temp_id  = $(widget).closest('.query_wrapper').attr('id');
     50                this.query = $(widget).closest('.query_wrapper').data('query');
    4851                break;
    4952        case 'collections':
     
    100103        "</div>";
    101104        this.content_wrapper = $(cw);
     105        $(this.content_wrapper).data('detail', this);
    102106       
    103107};
     
    105109        if (this.name == 'query'){
    106110                if ($(this.content).find('.columns-selected').children('.widget-wrapper').length == 0){
    107                         var query = queryset.getQuery(this.temp_id);
     111                        var query = this.query;//queryset.getQuery(this.temp_id);
    108112                        //enrich link,xml
     113                        //options withSummary
     114                        //var options = "<input type='checkbox' checked='false' id='input-withsummary' name='WS'/><label>with Summary</label>";
     115                       
    109116                        var links = "<a class='cmd cmd_xml' target='_blank' href='" + query.link("xml") + "'>sru</a> " +
    110                                 "<a class='cmd cmd_link' target='_blank' href='" + query.link("fullpage") + "' >link</a>";
     117                                "<a class='cmd cmd_link' target='_blank' href='" + query.link("fullpage") + "' >link</a> " +
     118                                "<span class='cmd cmd_withsummary'></span>";
    111119                        $(this.content).find('.cmds').append($(links));
     120                       
     121                       
    112122                        //enrich with selectionlist
    113123                        var selectionlist  = new SelectionList($(this.content).find('.columns-selected'));
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_load.js

    r1389 r1429  
    655655
    656656function saveTermset(id, name, listwidget) {
     657       
     658
    657659        var terms = [{}];       
    658660       
     
    664666        var str_time = dateFormat(dt);//dt.toString("dd/mm/yyyy HH:mm:ss");
    665667        var jsont = {"name":name, "time" : str_time, "Terms" :terms};
     668
     669        workspace.addelement("customtermset",jsont);
     670        workspace.save("user");
     671/*
    666672        if (jsonw["WorkspaceProfile"]["CustomTermsets"] == "null") {
    667673                jsonw["WorkspaceProfile"]["CustomTermsets"] = [{}];
     
    673679        //saveWorkspace("USER");
    674680        Workspace.save("USER");
    675 
     681*/
    676682};
    677683function removeTermset(id){
     684        workspace.removeelement("customtermset",id);
     685        workspace.save("user");
     686        /*
    678687        var size = jsonw["WorkspaceProfile"]["CustomTermsets"].length;
    679688
     
    690699        //saveWorkspace("USER");
    691700        Workspace.save("USER");
     701        */
    692702}
    693703
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/Admin.java

    r1008 r1429  
    4545        public static String DEBUG = "debug";
    4646        public static String TRACE = "trace";
     47       
    4748       
    4849        public static void main(String[] args) {               
     
    234235        public static void notifyUser(String msg, String type ) {
    235236                //Logger log = Logger.getLogger("Admin.class");
     237                if (msg.length() == 0){
     238                        return;
     239                }
    236240                if (type.equals(Admin.FATAL)) {
    237241                        log.fatal(msg);
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/GenericProxyAction.java

    r1417 r1429  
    2121import net.sf.json.JSONObject;
    2222import net.sf.json.JSONSerializer;
     23//import net.sf.saxon.Controller;
     24//import net.sf.saxon.event.MessageEmitter;
    2325
    2426
     
    608610                //      Admin.notifyUser("GPA.getRepository, before xsl:" + getRepository());
    609611                        transformer.setParams(createTransformerParams());
     612                       
    610613                        resultStream = transformer.transformXML(sourceStream);//, getFullFormat(), getColumns(), getStartRecord(), getMaximumRecords(),getLang(),getQ(),String.valueOf(getRepository()));
    611614                }
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/MDTransformer.java

    r911 r1429  
    22
    33import java.io.BufferedInputStream;
     4import java.io.BufferedReader;
    45import java.io.ByteArrayInputStream;
    56import java.io.ByteArrayOutputStream;
     
    89import java.io.IOException;
    910import java.io.InputStream;
     11import java.io.InputStreamReader;
    1012import java.io.OutputStream;
    1113import java.io.Reader;
    1214import java.io.StringReader;
    1315import java.io.StringWriter;
     16import java.io.Writer;
    1417import java.net.URL;
    1518import java.util.HashMap;
     
    2124import javax.xml.parsers.DocumentBuilderFactory;
    2225import javax.xml.parsers.ParserConfigurationException;
     26//import javax.xml.transform.ErrorListener;
    2327import javax.xml.transform.OutputKeys;
    2428import javax.xml.transform.Transformer;
     
    3135import javax.xml.transform.stream.StreamSource;
    3236
    33 import ognl.IntHashMap.Entry;
     37//import ognl.IntHashMap.Entry;
     38
     39import net.sf.saxon.event.MessageEmitter;
     40import net.sf.saxon.event.MessageWarner;
    3441
    3542import org.w3c.dom.Document;
     
    3744import org.w3c.dom.Node;
    3845import org.w3c.dom.NodeList;
     46
     47//import com.icl.saxon.*;
     48//import com.icl.saxon.FeatureKeys;
     49//import com.icl.saxon.Loader;
     50//import com.icl.saxon.output.Emitter;
     51
    3952
    4053/**
     
    197210        //public void transformXML (InputStream in, String transkey, String cols, String startRecord, String maximumRecords, String lang, String q, String repositoryURI, OutputStream out ) throws TransformerException, IOException {
    198211       
     212                        System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
    199213                // Create a transform factory instance.
    200214                TransformerFactory tfactory = TransformerFactory.newInstance();
     
    207221                                                                        getXSLStreamSource(getTranskey()));
    208222                SetTransformerParameters(transformer);
     223               
     224                //MessageWarner gg = new net.sf.saxon.event.MessageWarner();
     225                MessageEmitter me = new net.sf.saxon.event.MessageEmitter();
     226                StringWriter w = new StringWriter();
     227                me.setWriter(w);
     228               ((net.sf.saxon.Controller)transformer).setMessageEmitter(me);//new net.sf.saxon.event.MessageWarner());
     229               
    209230/*              transformer.setParameter("q", q);
    210231                transformer.setParameter("lang", lang);
     
    258279                // Transform the source XML to out-stream
    259280                transformer.transform(src, stream );
     281               
     282                // Write <xsl:message>
     283                writeXslMessages(w);
     284                ///Admin.notifyUser(w.getBuffer().toString());         
    260285            }
    261286       
     287        private void writeXslMessages(StringWriter w){
     288       
     289        byte[] bytes = w.getBuffer().toString().getBytes();
     290        InputStream is =  new ByteArrayInputStream(bytes);
     291        BufferedReader br = new BufferedReader(new InputStreamReader(is));
     292        String s;
     293                try {
     294                        while ((s = br.readLine()) != null){
     295                        Admin.notifyUser(s);
     296                }
     297                } catch (IOException e) {
     298                        // TODO Auto-generated catch block
     299                        e.printStackTrace();
     300                }
     301
     302        }
    262303        /**
    263304         * just a wrapper for the main method translating the output-stream into a input-stream (expected by the Controller-Actions to return as response)
     
    323364         * @param transkey
    324365         * @return
     366         * @throws IOException
    325367         */
    326368        public String transformXML (String xml) {
     
    330372                // Create a transform factory instance.
    331373                        System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
     374                        //System.setProperty("javax.xml.transform.TransformerFactory", "com.icl.saxon.TransformerFactoryImpl");
    332375                TransformerFactory tfactory = TransformerFactory.newInstance();
    333376                OutputStream os = new ByteArrayOutputStream();
     
    343386                    tfactory.newTransformer(new StreamSource(xslIS));
    344387                    */
    345                 this.SetTransformerParameters(transformer);
    346                 //transformer.setParameter("format", transkey);
    347                
    348                 //Admin.notifyUser("transformer.parmformat" + transformer.getParameter("format"));
     388                ////////////////////
     389                MessageEmitter me = new net.sf.saxon.event.MessageEmitter();
     390                StringWriter w = new StringWriter();
     391                me.setWriter(w);
     392                ((net.sf.saxon.Controller)transformer).setMessageEmitter(me);//new net.sf.saxon.event.MessageWarner());
    349393
    350394                // Transform the source XML to System.out.
     
    355399                transformer.transform(src, stream );
    356400                                    //  new StreamResult(new File("Simple2.out")));
    357                
     401             // Write <xsl:message>
     402                writeXslMessages(w);
     403                 
    358404                result = os.toString();
    359405               
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/model/Query.java

    r1085 r1429  
    8383        public Query(String squeryString,String queryString, String type, String collection, String columns) {
    8484                this.type =type;
     85                if (squeryString == null)squeryString ="";
     86                if (queryString == null)queryString ="";
    8587                setFullQueryString(squeryString, queryString);
    8688                setCollection(collection);
     
    9698
    9799        public Query(String squeryString, String queryString, String type, String collection) {
    98                 this.type =type;
    99                 setFullQueryString(squeryString, queryString);
    100                 setCollection(collection);
     100                //this.type =type;
     101                //setFullQueryString(squeryString, queryString);
     102                //setCollection(collection);
     103                this(squeryString, queryString, type, collection, "Id,name");
    101104        }
    102105
     
    109112
    110113        public Query(String squeryString, String queryString, String type) {
    111                 this.type =type;
    112                 if (squeryString == null)squeryString ="";
    113                 setFullQueryString(squeryString, queryString);
     114                //this.type =type;
     115                //if (squeryString == null)squeryString ="";
     116                //setFullQueryString(squeryString, queryString);
     117                this(squeryString, queryString, type, "");
    114118        }
    115119
     
    225229        public void setStartItem(String startItem) {
    226230                if (startItem!=null) {
    227                         this.startItem = startItem;
     231                        if (startItem.equals("")){
     232                                // sets default startItem
     233                                this.startItem = "1";
     234                        }else {
     235                                this.startItem = startItem;
     236                        }
    228237                }
    229238        }
     
    235244        public void setMaximumItems(String maximumItems) {
    236245                if (maximumItems!=null) {
    237                         this.maximumItems = maximumItems;
     246                        if (maximumItems.equals("")){
     247                                this.maximumItems = "50";
     248                        } else {
     249                                this.maximumItems = maximumItems;       
     250                        }
    238251                }
    239252        }
     
    433446         * applying a stylesheet on the XCQL-version 
    434447         * @return XPath-query
     448         * @throws IOException
    435449         */
    436450        public String toXPath() {       
Note: See TracChangeset for help on using the changeset viewer.