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