1
|
1 package de.mpiwg.itgroup.ismi.search.beans;
|
|
2
|
|
3 import java.io.Serializable;
|
|
4 import java.util.ArrayList;
|
|
5 import java.util.List;
|
|
6 import java.util.Map.Entry;
|
|
7
|
|
8 import javax.faces.event.ActionEvent;
|
|
9 import javax.faces.event.ValueChangeEvent;
|
|
10 import javax.faces.model.SelectItem;
|
|
11
|
|
12 import org.apache.log4j.Logger;
|
|
13 import org.mpi.openmind.cache.WrapperService;
|
|
14 import org.mpi.openmind.search.utils.ResultEntry;
|
|
15
|
|
16 import de.mpiwg.itgroup.ismi.entry.beans.AbstractBean;
|
|
17 import de.mpiwg.itgroup.ismi.entry.beans.ApplicationBean;
|
|
18
|
|
19 public class AbstractQuery extends AbstractBean implements Serializable{
|
|
20
|
|
21 private static final long serialVersionUID = 8640487026954118233L;
|
|
22
|
|
23 private static Logger logger = Logger.getLogger(AbstractQuery.class);
|
|
24
|
|
25 protected ApplicationBean appBean;
|
|
26 private boolean searched = false;
|
|
27 private Long timeExecution;
|
|
28 private String exportType = "xml";
|
|
29
|
|
30 protected String exportUrlRoot;
|
|
31 private String modeExportDirk;
|
|
32 protected String exportDirkUrl;
|
|
33 protected String idList;
|
|
34
|
|
35 protected List<?> rs;
|
|
36
|
|
37 protected int MAX_RS = 20000;
|
|
38
|
|
39 private static List<SelectItem> modeExportDirkList;
|
|
40
|
|
41 static{
|
|
42 modeExportDirkList = new ArrayList<SelectItem>();
|
|
43 modeExportDirkList.add(new SelectItem("xml"));
|
|
44 modeExportDirkList.add(new SelectItem("tab"));
|
|
45 modeExportDirkList.add(new SelectItem("html"));
|
|
46 //modeExportDirkList.add(new SelectItem("doc"));
|
|
47 }
|
|
48
|
|
49 public void listenerChangeModeExportDirk(ValueChangeEvent event){
|
|
50 if(event != null && event.getNewValue() != null){
|
|
51 this.exportDirkUrl = ApplicationBean.generateExportURL(exportUrlRoot, idList, event.getNewValue().toString());
|
|
52 }
|
|
53 }
|
|
54
|
|
55 public AbstractQuery(ApplicationBean appBean){
|
|
56 this.appBean = appBean;
|
|
57 this.modeExportDirk = "xml";
|
|
58 }
|
|
59
|
|
60 public void listenerReset(ActionEvent event){
|
|
61 this.reset();
|
|
62 this.modeExportDirk = "xml";
|
|
63 }
|
|
64
|
|
65 public void listenerSearch(ActionEvent event){
|
|
66 try {
|
|
67 long start = System.currentTimeMillis();
|
|
68 this.search();
|
|
69 long end = System.currentTimeMillis();
|
|
70 this.searched = true;
|
|
71 this.timeExecution = end - start;
|
|
72 logger.info(toString() + " time execution=" + (timeExecution));
|
|
73 } catch (Exception e) {
|
|
74 logger.error(e.getMessage(), e);
|
|
75 printInternalError(e);
|
|
76 }
|
|
77
|
|
78 }
|
|
79
|
|
80 public void reset(){
|
|
81 this.timeExecution = null;
|
|
82 this.searched = false;
|
|
83 }
|
|
84
|
|
85 protected void search() throws Exception{}
|
|
86
|
|
87 protected void printRs(List<ResultEntry> rs, WrapperService ws){
|
|
88 StringBuilder sb = new StringBuilder();
|
|
89 sb.append("--------------\n");
|
|
90 for(ResultEntry entry : rs){
|
|
91 for(Entry<Integer, Long> ent : entry.getEntMap().entrySet()){
|
|
92 sb.append(ent.getKey() + ") " + ws.getEntityById(ent.getValue()).toSmallString());
|
|
93 }
|
|
94 sb.append("\n");
|
|
95 }
|
|
96 logger.info("--------------");
|
|
97
|
|
98 logger.info(sb.toString());
|
|
99
|
|
100 }
|
|
101
|
|
102 public boolean isSearched() {
|
|
103 return searched;
|
|
104 }
|
|
105
|
|
106 public Long getTimeExecution() {
|
|
107 return timeExecution;
|
|
108 }
|
|
109
|
|
110 public WrapperService getOm(){
|
|
111 return this.appBean.getWrapper();
|
|
112 }
|
|
113
|
|
114 public List<?> getRs() {
|
|
115 return rs;
|
|
116 }
|
|
117
|
|
118 public Integer getRsSize(){
|
|
119 if(rs != null){
|
|
120 return rs.size();
|
|
121 }
|
|
122 return 0;
|
|
123 }
|
|
124
|
|
125 public String getExportType() {
|
|
126 return exportType;
|
|
127 }
|
|
128
|
|
129 public void setExportType(String exportType) {
|
|
130 this.exportType = exportType;
|
|
131 }
|
|
132
|
|
133 public List<SelectItem> getModeExportDirkList() {
|
|
134 return modeExportDirkList;
|
|
135 }
|
|
136
|
|
137 public String getModeExportDirk() {
|
|
138 return modeExportDirk;
|
|
139 }
|
|
140
|
|
141 public void setModeExportDirk(String modeExportDirk) {
|
|
142 this.modeExportDirk = modeExportDirk;
|
|
143 }
|
|
144
|
|
145 public String getExportDirkUrl() {
|
|
146 return exportDirkUrl;
|
|
147 }
|
|
148
|
|
149 public void setExportDirkUrl(String exportDirkUrl) {
|
|
150 this.exportDirkUrl = exportDirkUrl;
|
|
151 }
|
|
152 }
|