Project

General

Profile

1
package edu.ucsb.nceas.metacat.index;
2

    
3
import static org.junit.Assert.assertEquals;
4
import static org.junit.Assert.assertTrue;
5

    
6
import java.io.File;
7
import java.io.FileInputStream;
8
import java.io.InputStream;
9
import java.util.List;
10

    
11

    
12

    
13
import org.apache.solr.client.solrj.SolrServer;
14
import org.apache.solr.client.solrj.SolrServerException;
15
import org.apache.solr.client.solrj.response.QueryResponse;
16
import org.apache.solr.common.SolrDocument;
17
import org.apache.solr.common.SolrDocumentList;
18
import org.apache.solr.common.params.SolrParams;
19
import org.apache.solr.servlet.SolrRequestParsers;
20
import org.dataone.configuration.Settings;
21
import org.dataone.service.types.v1.SystemMetadata;
22
import org.dataone.service.util.TypeMarshaller;
23
import org.junit.Test;
24

    
25
public class SolrIndexTest {
26
    
27
    private static final String SYSTEMMETAFILEPATH = "src/test/resources/eml-system-meta-example.xml";
28
    private static final String EMLFILEPATH = "src/test/resources/eml-example.xml";
29
    private static final String id = "urn:uuid:606a19dd-b531-4bf4-b5a5-6d06c3d39098";
30
   
31
    
32
    /**
33
     * Test building index for an insert.
34
     */
35
    @Test
36
    public void testInsert() throws Exception {
37
       SolrIndex solrIndex = generateSolrIndex();
38
       //InputStream systemInputStream = new FileInputStream(new File(SYSTEMMETAFILEPATH));
39
       SystemMetadata systemMetadata = TypeMarshaller.unmarshalTypeFromFile(SystemMetadata.class, SYSTEMMETAFILEPATH);
40
       InputStream emlInputStream = new FileInputStream(new File(EMLFILEPATH));    
41
       solrIndex.insert(id, systemMetadata, emlInputStream);
42
       doQuery(solrIndex.getSolrServer());
43
    }
44
    
45
    /**
46
     * Test building index for an insert.
47
     */
48
    @Test
49
    public void testDelete() throws Exception {
50
       //SolrIndex solrIndex = generateSolrIndex();
51
       //solrIndex.remove(id);
52
       
53
    }
54
    
55
    private SolrIndex generateSolrIndex() throws Exception {
56
        Settings.getConfiguration().setProperty("dataone.hazelcast.configFilePath", ApplicationControllerTest.pathToHazelcastFile);
57
        ApplicationController controller = new ApplicationController();
58
        List<SolrIndex> list = controller.getSolrIndexes();
59
        SolrIndex[] solrIndexesarray = list.toArray(new SolrIndex[list.size()]);
60
        SolrIndex index = solrIndexesarray[0];
61
        return index;
62
    }
63
    
64
    /*
65
     * Do query
66
     */
67
    private void doQuery(SolrServer server)
68
                    throws SolrServerException {
69
                StringBuffer request = new StringBuffer();
70
                request.append("q=" + "*:*");
71
                SolrParams solrParams = SolrRequestParsers.parseQueryString(request
72
                        .toString());
73
                QueryResponse reponse = server.query(solrParams);
74
                System.out.println(reponse.toString());
75
    }
76

    
77
    
78
    /*
79
     * Print out the QueryResponse
80
     */
81
    private void print(QueryResponse response) {
82
        SolrDocumentList docs = response.getResults();
83
        if (docs != null) {
84
            System.out.println(docs.getNumFound() + " documents found, "
85
                    + docs.size() + " returned : ");
86
            for (int i = 0; i < docs.size(); i++) {
87
                SolrDocument doc = docs.get(i);
88
                System.out.println("\t" + doc.toString());
89
            }
90
        }
91
    }
92
}
93

    
(2-2/2)