85
|
1
|
|
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3 <html xmlns="http://www.w3.org/1999/xhtml"
|
|
4 xmlns:h="http://java.sun.com/jsf/html"
|
|
5 xmlns:f="http://java.sun.com/jsf/core"
|
|
6 xmlns:ui="http://java.sun.com/jsf/facelets"
|
|
7 xmlns:a4j="http://richfaces.org/a4j"
|
|
8 xmlns:rich="http://richfaces.org/rich">
|
|
9
|
|
10 <body>
|
|
11 <ui:composition template="/templates/privateTemplate.xhtml">
|
|
12
|
|
13 <ui:define name="privateContent">
|
|
14
|
|
15 <div id="pageTitle">
|
|
16 <h:outputText value="Join References" />
|
|
17 </div>
|
|
18
|
|
19 <!-- TODO: fix this! -->
|
|
20 <script type="text/javascript" src="../imageServer/resources/js/diva4ismi.js"></script>
|
|
21
|
|
22 <h:panelGrid rendered="#{Session.user != null}"
|
|
23 styleClass="mainPanel" columns="1">
|
|
24
|
|
25
|
|
26
|
|
27 <h:panelGrid columns="2" styleClass="createPanel"
|
|
28 columnClasses="createPanelFirstColumn" id="loadingPanel">
|
|
29
|
|
30 <h:outputText value="Load Entities" />
|
|
31
|
|
32 <h:panelGrid columns="4">
|
|
33
|
|
34 <h:outputText value="Source Biblio ID"
|
|
35 styleClass="textBack"/>
|
|
36 <h:inputText value="#{Session.referenceMerge.firstId}" />
|
|
37 <a4j:commandButton value="Load"
|
|
38 actionListener="#{Session.referenceMerge.loadFirstEntity}"
|
|
39 render="loadingPanel,mergingPanel" />
|
|
40 <h:column>
|
|
41 <h:outputText
|
|
42 value="#{Session.referenceMerge.firstEntity.objectClass}= #{Session.referenceMerge.firstEntity.ownValue} [#{Session.referenceMerge.firstEntity.id}]"
|
|
43 rendered="#{!empty Session.referenceMerge.firstEntity}"
|
|
44 styleClass="textBack"/>
|
|
45 </h:column>
|
|
46
|
|
47 <h:outputText/>
|
|
48 <h:outputText/>
|
|
49 <h:outputText/>
|
|
50 <h:column rendered="#{Session.referenceMerge.firstBibId != null}">
|
|
51 <script>showBibliographyEntryFormatted("#{Session.referenceMerge.firstBibId}", null, "#bibl-entry-1")</script>
|
|
52 <span class="textBack" id="bibl-entry-1">(loading reference...)</span>
|
|
53 </h:column>
|
|
54 <h:outputText rendered="#{Session.referenceMerge.firstBibId == null}"/>
|
|
55
|
|
56 <h:outputText value="Target Biblio ID"
|
|
57 styleClass="textBack"/>
|
|
58 <h:inputText value="#{Session.referenceMerge.secondId}" />
|
|
59 <a4j:commandButton value="Load"
|
|
60 actionListener="#{Session.referenceMerge.loadSecondEntity}"
|
|
61 render="loadingPanel,mergingPanel" />
|
|
62 <h:column>
|
|
63 <h:outputText
|
|
64 value="#{Session.referenceMerge.secondEntity.objectClass}= #{Session.referenceMerge.secondEntity.ownValue} [#{Session.referenceMerge.secondEntity.id}]"
|
|
65 rendered="#{Session.referenceMerge.secondEntity != null}"
|
|
66 styleClass="textBack"/>
|
|
67 </h:column>
|
|
68
|
|
69 <h:outputText/>
|
|
70 <h:outputText/>
|
|
71 <h:outputText/>
|
|
72 <h:column rendered="#{Session.referenceMerge.secondBibId != null}">
|
|
73 <script>showBibliographyEntryFormatted("#{Session.referenceMerge.secondBibId}", null, "#bibl-entry-2")</script>
|
|
74 <span class="textBack" id="bibl-entry-2">(loading reference...)</span>
|
|
75 </h:column>
|
|
76 <h:outputText rendered="#{Session.referenceMerge.secondBibId == null}"/>
|
|
77
|
|
78 </h:panelGrid>
|
|
79
|
|
80 </h:panelGrid>
|
|
81
|
|
82 <h:panelGrid columns="1" id="mergingPanel">
|
|
83
|
|
84 <h:outputText value="Merge Mapping"
|
|
85 rendered="#{Session.referenceMerge.entitiesLoaded}"
|
|
86 styleClass="titlePanel"/>
|
|
87
|
|
88 <h:panelGrid columns="3" styleClass="createPanel"
|
|
89 columnClasses="createPanelFirstColumn,createPanelColumn02,createPanelColumn02"
|
|
90 rendered="#{Session.referenceMerge.entitiesLoaded}">
|
|
91
|
|
92
|
|
93 <h:outputText value="Attributes" />
|
|
94 <rich:dataTable var="attName"
|
|
95 value="#{Session.referenceMerge.attLabels}"
|
|
96 rendered="#{!empty Session.referenceMerge.attLabels}">
|
|
97 <h:column>
|
|
98 <f:facet name="header">
|
|
99 <h:outputText value="Attribute Name" />
|
|
100 </f:facet>
|
|
101 <h:outputText value="#{attName}" />
|
|
102 </h:column>
|
|
103 <h:column>
|
|
104 <f:facet name="header">
|
|
105 <h:outputText value="Value First Entity" />
|
|
106 </f:facet>
|
|
107 <h:outputText
|
|
108 value="#{Session.referenceMerge.firstAttMap[attName]}" />
|
|
109 </h:column>
|
|
110 <h:column>
|
|
111 <f:facet name="header">
|
|
112 <h:outputText value="Value Second Entity" />
|
|
113 </f:facet>
|
|
114 <h:outputText
|
|
115 value="#{Session.referenceMerge.secondAttMap[attName]}" />
|
|
116 </h:column>
|
|
117 <h:column style="width:300px;">
|
|
118 <f:facet name="header">
|
|
119 <h:outputText value="Select Value" />
|
|
120 </f:facet>
|
|
121 <h:selectOneRadio
|
|
122 value="#{Session.referenceMerge.selectedAtts[attName]}">
|
|
123 <f:selectItems value="#{Session.referenceMerge.attSelectItems}" />
|
|
124 </h:selectOneRadio>
|
|
125 </h:column>
|
|
126 </rich:dataTable>
|
|
127 <h:outputText />
|
|
128
|
|
129 <h:outputText value="Source Relations" />
|
|
130
|
|
131 <h:panelGrid columns="1">
|
|
132 <rich:dataTable var="srcRelation"
|
|
133 rendered="#{!empty Session.referenceMerge.firstEntity.sourceRelations}"
|
|
134 value="#{Session.referenceMerge.firstEntity.sourceRelations}">
|
|
135
|
|
136 <h:column>
|
|
137 <f:facet name="header">
|
|
138 <h:outputText value="Relation Name" />
|
|
139 </f:facet>
|
|
140 <h:outputText value="#{srcRelation.ownValue}" />
|
|
141 </h:column>
|
|
142 <h:column>
|
|
143 <f:facet name="header">
|
|
144 <h:outputText value="linked to this" />
|
|
145 </f:facet>
|
|
146 <h:outputText
|
|
147 value="#{srcRelation.target.ownValue} [#{srcRelation.target.objectClass}-#{srcRelation.targetId}]" />
|
|
148 </h:column>
|
|
149
|
|
150 <h:column>
|
|
151 <h:selectOneRadio
|
|
152 value="#{Session.referenceMerge.selectedFirstSrcRelations[srcRelation.id]}">
|
|
153 <f:selectItems value="#{Session.referenceMerge.relSelectItems}" />
|
|
154 </h:selectOneRadio>
|
|
155 </h:column>
|
|
156
|
|
157 </rich:dataTable>
|
|
158
|
|
159 <h:outputText
|
|
160 value="the first entity does not have source relations"
|
|
161 rendered="#{empty Session.referenceMerge.firstEntity.sourceRelations}" />
|
|
162 </h:panelGrid>
|
|
163
|
|
164 <h:panelGrid columns="1">
|
|
165
|
|
166 <rich:dataTable var="srcRelation"
|
|
167 rendered="#{!empty Session.referenceMerge.secondEntity.sourceRelations}"
|
|
168 value="#{Session.referenceMerge.secondEntity.sourceRelations}">
|
|
169 <h:column>
|
|
170 <f:facet name="header">
|
|
171 <h:outputText value="Relation Name" />
|
|
172 </f:facet>
|
|
173 <h:outputText value="#{srcRelation.ownValue}" />
|
|
174 </h:column>
|
|
175 <h:column>
|
|
176 <f:facet name="header">
|
|
177 <h:outputText value="linked to this" />
|
|
178 </f:facet>
|
|
179 <h:outputText
|
|
180 value="#{srcRelation.target.ownValue} [#{srcRelation.target.objectClass}-#{srcRelation.targetId}]" />
|
|
181 </h:column>
|
|
182 <h:column>
|
|
183 <h:selectOneRadio
|
|
184 value="#{Session.referenceMerge.selectedSecondSrcRelations[srcRelation.id]}">
|
|
185 <f:selectItems value="#{Session.referenceMerge.relSelectItems}" />
|
|
186 </h:selectOneRadio>
|
|
187 </h:column>
|
|
188 </rich:dataTable>
|
|
189
|
|
190 <h:outputText
|
|
191 value="The second entity does not have source relations"
|
|
192 rendered="#{empty Session.referenceMerge.secondEntity.sourceRelations}" />
|
|
193
|
|
194 </h:panelGrid>
|
|
195
|
|
196
|
|
197 <h:outputText value="Target Relations" />
|
|
198
|
|
199 <h:panelGrid columns="1">
|
|
200 <rich:dataTable var="tarRelation"
|
|
201 rendered="#{!empty Session.referenceMerge.firstEntity.targetRelations}"
|
|
202 value="#{Session.referenceMerge.firstEntity.targetRelations}"
|
|
203 style="width:60%;">
|
|
204
|
|
205 <h:column>
|
|
206 <f:facet name="header">
|
|
207 <h:outputText value="linked from this" />
|
|
208 </f:facet>
|
|
209 <h:outputText
|
|
210 value="#{tarRelation.source.ownValue} [#{tarRelation.source.objectClass}-#{tarRelation.sourceId}]" />
|
|
211 </h:column>
|
|
212
|
|
213 <h:column>
|
|
214 <f:facet name="header">
|
|
215 <h:outputText value="Relation Name" />
|
|
216 </f:facet>
|
|
217 <h:outputText value="#{tarRelation.ownValue}" />
|
|
218 </h:column>
|
|
219
|
|
220 <h:column>
|
|
221 <h:selectOneRadio
|
|
222 value="#{Session.referenceMerge.selectedFirstTarRelations[tarRelation.id]}">
|
|
223 <f:selectItems value="#{Session.referenceMerge.relSelectItems}" />
|
|
224 </h:selectOneRadio>
|
|
225 </h:column>
|
|
226 </rich:dataTable>
|
|
227 <h:outputText
|
|
228 value="the first entity does not have target relations."
|
|
229 rendered="#{empty Session.referenceMerge.firstEntity.targetRelations}" />
|
|
230 </h:panelGrid>
|
|
231
|
|
232 <h:panelGrid columns="1">
|
|
233
|
|
234 <rich:dataTable var="tarRelation"
|
|
235 rendered="#{!empty Session.referenceMerge.secondEntity.targetRelations}"
|
|
236 value="#{Session.referenceMerge.secondEntity.targetRelations}"
|
|
237 style="width:60%;">
|
|
238
|
|
239 <h:column>
|
|
240 <f:facet name="header">
|
|
241 <h:outputText value="linked from this" />
|
|
242 </f:facet>
|
|
243 <h:outputText
|
|
244 value="#{tarRelation.source.ownValue} [#{tarRelation.source.objectClass}-#{tarRelation.sourceId}]" />
|
|
245 </h:column>
|
|
246
|
|
247 <h:column>
|
|
248 <f:facet name="header">
|
|
249 <h:outputText value="Relation Name" />
|
|
250 </f:facet>
|
|
251 <h:outputText value="#{tarRelation.ownValue}" />
|
|
252 </h:column>
|
|
253
|
|
254 <h:column>
|
|
255 <h:selectOneRadio
|
|
256 value="#{Session.referenceMerge.selectedSecondTarRelations[tarRelation.id]}">
|
|
257 <f:selectItems value="#{Session.referenceMerge.relSelectItems}" />
|
|
258 </h:selectOneRadio>
|
|
259 </h:column>
|
|
260
|
|
261 </rich:dataTable>
|
|
262
|
|
263 <h:outputText
|
|
264 value="The second entity does not have target relations"
|
|
265 rendered="#{empty Session.referenceMerge.secondEntity.targetRelations}" />
|
|
266
|
|
267 </h:panelGrid>
|
|
268 </h:panelGrid>
|
|
269
|
|
270 <h:panelGrid columns="2" styleClass="controlPanel"
|
|
271 rendered="#{Session.referenceMerge.entitiesLoaded}">
|
|
272
|
|
273 <a4j:commandButton value="Preview"
|
|
274 actionListener="#{Session.referenceMerge.preview}"
|
|
275 rendered="#{Session.referenceMerge.entitiesLoaded}"
|
|
276 render="mergingPanel" />
|
|
277
|
|
278 <a4j:commandButton value="Execute Merge"
|
|
279 actionListener="#{Session.referenceMerge.listenerExecuteMerge }"
|
|
280 rendered="#{Session.referenceMerge.entitiesLoaded}"
|
|
281 onclick="#{ApplicationBean1.JSConfirmationMerge}"
|
|
282 render="mergingPanel" />
|
|
283
|
|
284 </h:panelGrid>
|
|
285
|
|
286
|
|
287 <h:outputText value="Entity Preview"
|
|
288 rendered="#{!empty Session.referenceMerge.entResult}"
|
|
289 styleClass="titlePanel"/>
|
|
290 <h:panelGrid columns="2" styleClass="createPanel"
|
|
291 columnClasses="createPanelFirstColumn"
|
|
292 rendered="#{!empty Session.referenceMerge.entResult}">
|
|
293
|
|
294
|
|
295 <h:outputText value="Attributes" />
|
|
296 <rich:dataTable
|
|
297 value="#{Session.referenceMerge.entResult.attributes}"
|
|
298 var="attribute" border="1">
|
|
299 <h:column>
|
|
300 <f:facet name="header">
|
|
301 <h:outputText value="Name" />
|
|
302 </f:facet>
|
|
303 <h:outputText value="#{attribute.objectClass}" />
|
|
304 </h:column>
|
|
305 <h:column>
|
|
306 <f:facet name="header">
|
|
307 <h:outputText value="Value" />
|
|
308 </f:facet>
|
|
309 <h:outputText value="#{attribute.ownValue}" />
|
|
310 </h:column>
|
|
311 </rich:dataTable>
|
|
312
|
|
313
|
|
314 <h:outputText value="Source Relations" />
|
|
315 <rich:dataTable
|
|
316 value="#{Session.referenceMerge.entResult.sourceRelations}"
|
|
317 var="srcRelation" border="1">
|
|
318
|
|
319 <h:column>
|
|
320 <f:facet name="header">
|
|
321 <h:outputText value="linked from this" />
|
|
322 </f:facet>
|
|
323 <h:outputText value="#{'x'}" />
|
|
324 </h:column>
|
|
325
|
|
326 <h:column>
|
|
327 <f:facet name="header">
|
|
328 <h:outputText value="Relation Name" />
|
|
329 </f:facet>
|
|
330 <h:outputText value="#{srcRelation.ownValue}" />
|
|
331 </h:column>
|
|
332 <h:column>
|
|
333 <f:facet name="header">
|
|
334 <h:outputText value="linked to this" />
|
|
335 </f:facet>
|
|
336 <h:outputText
|
|
337 value="#{srcRelation.target.ownValue} [#{srcRelation.target.objectClass}]" />
|
|
338 </h:column>
|
|
339 </rich:dataTable>
|
|
340
|
|
341 <h:outputText value="Target Relations" />
|
|
342 <rich:dataTable
|
|
343 value="#{Session.referenceMerge.entResult.targetRelations}"
|
|
344 var="tarRelation" border="1">
|
|
345 <h:column>
|
|
346 <f:facet name="header">
|
|
347 <h:outputText value="linked from this" />
|
|
348 </f:facet>
|
|
349 <h:outputText
|
|
350 value="#{tarRelation.source.ownValue} [#{tarRelation.source.objectClass}]" />
|
|
351 </h:column>
|
|
352 <h:column>
|
|
353 <f:facet name="header">
|
|
354 <h:outputText value="Relation Name" />
|
|
355 </f:facet>
|
|
356 <h:outputText value="#{tarRelation.ownValue}" />
|
|
357 </h:column>
|
|
358 <h:column>
|
|
359 <f:facet name="header">
|
|
360 <h:outputText value="linked to this" />
|
|
361 </f:facet>
|
|
362 <h:outputText value="#{'x'}" />
|
|
363 </h:column>
|
|
364 </rich:dataTable>
|
|
365
|
|
366
|
|
367 </h:panelGrid>
|
|
368
|
|
369
|
|
370
|
|
371 </h:panelGrid>
|
|
372
|
|
373
|
|
374
|
|
375 </h:panelGrid>
|
|
376 </ui:define>
|
|
377 </ui:composition>
|
|
378 </body>
|
|
379 </html> |