Changeset 2382


Ignore:
Timestamp:
12/04/12 15:41:37 (12 years ago)
Author:
zastrow
Message:
 
Location:
SRUAggregator/trunk/src/java/clarind/fcs
Files:
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • SRUAggregator/trunk/src/java/clarind/fcs/SRUSearch.java

    r2211 r2382  
    33import eu.clarin.sru.client.*;
    44
    5 import eu.clarin.sru.fcs.ClarinFederatedContentSearchRecordData;
    6 import eu.clarin.sru.fcs.ClarinFederatedContentSearchRecordParser;
     5//import eu.clarin.sru.fcs.ClarinFederatedContentSearchRecordData;
     6//import eu.clarin.sru.fcs.ClarinFederatedContentSearchRecordParser;
    77//import org.xml.sax.helpers.DefaultHandler;
    88
     
    1717
    1818    public ArrayList<Row> execute(String query, String endpointURL, String corpus, int maximumRecords) throws Exception {
    19         zeilen  = new ArrayList<Row>();
    20 
    21         SRUSimpleClient client = new SRUSimpleClient();
    22         client.registerRecordParser(new ClarinFederatedContentSearchRecordParser());
    23 
    24         SRUSearchRetrieveRequest request = new SRUSearchRetrieveRequest(endpointURL);
    25         request.setQuery(query);
    26         request.setRecordSchema(ClarinFederatedContentSearchRecordData.RECORD_SCHEMA);
    27         request.setMaximumRecords(maximumRecords);
    28 
    29         if (corpus != null) {
    30             request.setExtraRequestData("x-context", corpus);
    31         }
    32        
    33         try {
    34            
    35         client.searchRetrieve(request, new SRUDefaultHandlerAdapter() {
    36             @Override
    37             public void onRecord(String identifier, int position, SRURecordData data) throws SRUClientException {
    38                // if (ClarinFederatedContentSearchRecordParser.FCS_NS.equals(data.getRecordSchema())) {
    39                     ClarinFederatedContentSearchRecordData record = (ClarinFederatedContentSearchRecordData) data;
    40                     String left = record.getLeft();
    41                     String hit = record.getKeyword();
    42                     String right = record.getRight();
    43 
    44                     Row r = new Row();
    45                     r.appendChild(new Label(left));
    46                     Label l = new Label(hit);
    47                     l.setStyle("color:#8f3337;");
    48                     r.appendChild(l);
    49                     r.appendChild(new Label(right));
    50 
    51                     zeilen.add(r);
    52                 //}
    53             }
    54         });
    55         } catch (Exception ex){
    56             System.out.println(ex.getMessage());
    57         }
     19//        zeilen  = new ArrayList<Row>();
     20//
     21//        SRUSimpleClient client = new SRUSimpleClient();
     22//        client.registerRecordParser(new ClarinFederatedContentSearchRecordParser());
     23//
     24//        SRUSearchRetrieveRequest request = new SRUSearchRetrieveRequest(endpointURL);
     25//        request.setQuery(query);
     26//        request.setRecordSchema(ClarinFederatedContentSearchRecordData.RECORD_SCHEMA);
     27//        request.setMaximumRecords(maximumRecords);
     28//
     29//        if (corpus != null) {
     30//            request.setExtraRequestData("x-context", corpus);
     31//        }
     32//       
     33//        try {
     34//           
     35//        client.searchRetrieve(request, new SRUDefaultHandlerAdapter() {
     36//            @Override
     37//            public void onRecord(String identifier, int position, SRURecordData data) throws SRUClientException {
     38//               // if (ClarinFederatedContentSearchRecordParser.FCS_NS.equals(data.getRecordSchema())) {
     39//                    ClarinFederatedContentSearchRecordData record = (ClarinFederatedContentSearchRecordData) data;
     40//                    String left = record.getLeft();
     41//                    String hit = record.getKeyword();
     42//                    String right = record.getRight();
     43//
     44//                    Row r = new Row();
     45//                    r.appendChild(new Label(left));
     46//                    Label l = new Label(hit);
     47//                    l.setStyle("color:#8f3337;");
     48//                    r.appendChild(l);
     49//                    r.appendChild(new Label(right));
     50//
     51//                    zeilen.add(r);
     52//                //}
     53//            }
     54//        });
     55//        } catch (Exception ex){
     56//            System.out.println(ex.getMessage());
     57//        }
    5858       
    5959        return zeilen;
  • SRUAggregator/trunk/src/java/clarind/fcs/SRUSearchThreaded.java

    r2380 r2382  
    99import eu.clarin.sru.fcs.ClarinFCSRecordData;
    1010import eu.clarin.sru.fcs.ClarinFCSRecordParser;
     11import eu.clarin.sru.fcs.DataView;
     12import eu.clarin.sru.fcs.KWICDataView;
     13import eu.clarin.sru.fcs.Resource;
    1114import java.util.ArrayList;
     15import java.util.List;
    1216import java.util.concurrent.CountDownLatch;
    1317import java.util.concurrent.Future;
     
    4044                org.apache.log4j.Level.DEBUG);
    4145
    42 
    43 
    44 
    4546        this.client = new SRUThreadedClient();
    4647        System.out.println("GOT A CLIENT");
     
    7071        zeilen = new ArrayList<Row>();
    7172        System.out.println("EXECUTING SEARCH");
    72    
     73
    7374        SRUSearchRetrieveRequest request = new SRUSearchRetrieveRequest(endpointURL);
    7475        request.setMaximumRecords(maximumRecords);
     
    8283        Future<SRUSearchRetrieveResponse> result = client.searchRetrieve(request);
    8384
    84         for (SRURecord record : result.get().getRecords()) {
    85             if (record.isRecordSchema(ClarinFCSRecordData.RECORD_SCHEMA)) {
    86                 ClarinFCSRecordData r =
    87                         (ClarinFCSRecordData) record.getRecordData();
     85        //  printSearchResponse(result.get());
     86
     87        if (result.get().hasRecords()) {
     88            for (SRURecord record : result.get().getRecords()) {
     89                logger.info("schema = {}, identifier = {}, position = {}",
     90                        new Object[]{record.getRecordSchema(),
     91                            record.getRecordIdentifier(),
     92                            record.getRecordPosition()});
     93                if (record.isRecordSchema(ClarinFCSRecordData.RECORD_SCHEMA)) {
     94                    ClarinFCSRecordData rd =
     95                            (ClarinFCSRecordData) record.getRecordData();
     96                    // dumpResource(rd.getResource());
     97                    Resource resource = rd.getResource();
     98                    if (resource.hasDataViews()) {
     99                        zeilen = dataViews2Rows(resource.getDataViews());
     100                        //dumpDataView("CLARIN-FCS: ", resource.getDataViews());
     101                    }
     102                    if (resource.hasResourceFragments()) {
     103                        for (Resource.ResourceFragment fragment : resource.getResourceFragments()) {
     104                            logger.debug("CLARIN-FCS: ResourceFragment: pid={}, ref={}",
     105                                    fragment.getPid(), fragment.getRef());
     106                            if (fragment.hasDataViews()) {
     107                                zeilen.addAll(dataViews2Rows(fragment.getDataViews()));
     108                                //dumpDataView("CLARIN-FCS: ResourceFragment/", fragment.getDataViews());
     109                            }
     110                        }
     111                    }
     112
     113                } else if (record.isRecordSchema(SRUSurrogateRecordData.RECORD_SCHEMA)) {
     114                    SRUSurrogateRecordData r =
     115                            (SRUSurrogateRecordData) record.getRecordData();
     116                    logger.info("SURROGATE DIAGNOSTIC: uri={}, message={}, detail={}",
     117                            new Object[]{r.getURI(), r.getMessage(),
     118                                r.getDetails()});
     119                } else {
     120                    logger.info("UNSUPPORTED SCHEMA: {}",
     121                            record.getRecordSchema());
     122                }
     123            }
     124        } else {
     125            logger.info("no results");
     126        }
     127
     128
     129//        for (SRURecord record : result.get().getRecords()) {
     130//            if (record.isRecordSchema(ClarinFCSRecordData.RECORD_SCHEMA)) {
     131//                ClarinFCSRecordData r =
     132//                        (ClarinFCSRecordData) record.getRecordData();
     133//                Row row = new Row();
     134//               
     135//                Label toTheLeft = new Label();
     136//                toTheLeft.setMultiline(true);               
     137//               // toTheLeft.setValue(r.getLeft());
     138//                toTheLeft.setSclass("word-wrap");
     139//               
     140//                row.appendChild(toTheLeft);
     141//                //Label l = new Label(r.getKeyword());
     142//                //l.setStyle("color:#8f3337;");
     143//                //l.setMultiline(true);
     144//               // l.setSclass("word-wrap");
     145//                //row.appendChild(l);
     146//               
     147//                 Label toTheRight = new Label();
     148//                toTheRight.setMultiline(true);
     149//                toTheRight.setSclass("word-wrap");
     150//              //  toTheRight.setValue(r.getRight());
     151//               
     152//                row.appendChild(toTheRight);
     153//
     154//                zeilen.add(row);
     155//
     156//            } else if (record.isRecordSchema(SRUSurrogateRecordData.RECORD_SCHEMA)) {
     157//                SRUSurrogateRecordData r =
     158//                        (SRUSurrogateRecordData) record.getRecordData();
     159//
     160//            } else {
     161//                System.out.println("Unknown record schema");
     162//            }
     163//        } // for record
     164        return zeilen;
     165    }
     166
     167    private static ArrayList<Row> dataViews2Rows(List<DataView> dataviews) {
     168        ArrayList arrayOfRows = new ArrayList<Row>();
     169        for (DataView dataview : dataviews) {
     170            if (dataview.isMimeType(KWICDataView.MIMETYPE)) {
     171                KWICDataView kw = (KWICDataView) dataview;
     172
    88173                Row row = new Row();
    89                
     174
    90175                Label toTheLeft = new Label();
    91                 toTheLeft.setMultiline(true);               
    92                 toTheLeft.setValue(r.getLeft());
     176                toTheLeft.setMultiline(true);
     177                toTheLeft.setValue(kw.getLeft());
    93178                toTheLeft.setSclass("word-wrap");
    94                
     179
    95180                row.appendChild(toTheLeft);
    96                 Label l = new Label(r.getKeyword());
     181                Label l = new Label(kw.getKeyword());
    97182                l.setStyle("color:#8f3337;");
    98183                l.setMultiline(true);
    99                // l.setSclass("word-wrap");
     184                l.setSclass("word-wrap");
    100185                row.appendChild(l);
    101                
    102                  Label toTheRight = new Label();
     186
     187                Label toTheRight = new Label();
    103188                toTheRight.setMultiline(true);
    104189                toTheRight.setSclass("word-wrap");
    105                 toTheRight.setValue(r.getRight());
    106                
     190                toTheRight.setValue(kw.getRight());
     191
    107192                row.appendChild(toTheRight);
    108193
    109                 zeilen.add(row);
    110 
    111             } else if (record.isRecordSchema(SRUSurrogateRecordData.RECORD_SCHEMA)) {
    112                 SRUSurrogateRecordData r =
    113                         (SRUSurrogateRecordData) record.getRecordData();
    114 
    115             } else {
    116                 System.out.println("Unknown record schema");
     194                arrayOfRows.add(row);
     195
    117196            }
    118         } // for record
    119         return zeilen;
     197        } // for
     198        return arrayOfRows;
    120199    }
    121200}
  • SRUAggregator/trunk/src/java/clarind/fcs/SRUSearchThreadedSAVED.java

    r2380 r2382  
    2020import org.slf4j.LoggerFactory;
    2121
    22 public class SRUSearchThreaded {
     22public class SRUSearchThreadedSAVED {
    2323
    24     private static volatile SRUSearchThreaded instance = null;
     24    private static volatile SRUSearchThreadedSAVED instance = null;
    2525    private SRUThreadedClient client;
    2626    private ArrayList<Row> zeilen;
    2727    private static final Logger logger = LoggerFactory.getLogger("FCS-SRUSEARCH");
    2828
    29     private SRUSearchThreaded() {
     29    private SRUSearchThreadedSAVED() {
    3030
    3131
     
    5656    }
    5757
    58     public static SRUSearchThreaded getInstance() {
     58    public static SRUSearchThreadedSAVED getInstance() {
    5959        if (instance == null) {
    60             synchronized (SRUSearchThreaded.class) {
     60            synchronized (SRUSearchThreadedSAVED.class) {
    6161                if (instance == null) {
    62                     instance = new SRUSearchThreaded();
     62                    instance = new SRUSearchThreadedSAVED();
    6363                }
    6464            }
     
    9090                Label toTheLeft = new Label();
    9191                toTheLeft.setMultiline(true);               
    92                 toTheLeft.setValue(r.getLeft());
     92               // toTheLeft.setValue(r.getLeft());
    9393                toTheLeft.setSclass("word-wrap");
    9494               
    9595                row.appendChild(toTheLeft);
    96                 Label l = new Label(r.getKeyword());
    97                 l.setStyle("color:#8f3337;");
    98                 l.setMultiline(true);
     96                //Label l = new Label(r.getKeyword());
     97                //l.setStyle("color:#8f3337;");
     98                //l.setMultiline(true);
    9999               // l.setSclass("word-wrap");
    100                 row.appendChild(l);
     100                //row.appendChild(l);
    101101               
    102102                 Label toTheRight = new Label();
    103103                toTheRight.setMultiline(true);
    104104                toTheRight.setSclass("word-wrap");
    105                 toTheRight.setValue(r.getRight());
     105              //  toTheRight.setValue(r.getRight());
    106106               
    107107                row.appendChild(toTheRight);
Note: See TracChangeset for help on using the changeset viewer.