Total Complexity | 42 |
Total Lines | 471 |
Duplicated Lines | 22.08 % |
Changes | 1 | ||
Bugs | 0 | Features | 1 |
Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
Complex classes like br.ufrj.ppgi.greco.kettle.LinkDiscoveryToolStepDialog often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
1 | package br.ufrj.ppgi.greco.kettle; |
||
45 | public class LinkDiscoveryToolStepDialog extends BaseStepDialog implements StepDialogInterface { |
||
46 | |||
47 | // private static Class<?> PKG = LinkDiscoveryToolStepMeta.class; |
||
48 | |||
49 | private LinkDiscoveryToolStepMeta input; |
||
50 | private SwtHelper swthlp; |
||
51 | private String dialogTitle; |
||
52 | |||
53 | private TextVar wConfigFile; |
||
54 | |||
55 | /* tab DataSources */ |
||
56 | private Group wSourceEndpointGroup; |
||
57 | private TextVar wSourceEndpointURL; |
||
58 | private TextVar wSourceGraph; |
||
59 | private TextVar wSourceRestriction; |
||
60 | |||
61 | private Group wTargetEndpointGroup; |
||
62 | private TextVar wTargetEndpointURL; |
||
63 | private TextVar wTargetGraph; |
||
64 | private TextVar wTargetRestriction; |
||
65 | |||
66 | /* tab Prefixes */ |
||
67 | private TableView wPrefixes; |
||
68 | |||
69 | /* tab Linkage Rules */ |
||
70 | private TextVar wLinkageType; |
||
71 | private ComboVar wAggregationType; |
||
72 | private TableView wMetrics; |
||
73 | |||
74 | /* tab Output */ |
||
75 | private Group wOutputGroup; |
||
76 | private TextVar wOutputFolder; |
||
77 | private Button wOutputSparql; |
||
78 | private TextVar wOutputEndpoint; |
||
79 | private TextVar wOutputGraph; |
||
80 | |||
81 | /* constants */ |
||
82 | protected String[][] defaultPrefixes = { { "xsd", "http://www.w3.org/2001/XMLSchema#" }, |
||
83 | { "rdfs", "http://www.w3.org/2000/01/rdf-schema#" }, |
||
84 | { "rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#" }, { "owl", "http://www.w3.org/2002/07/owl#" }, |
||
85 | { "dbpedia", "http://dbpedia.org/ontology/" }, { "dbpprop", "http://dbpedia.org/property/" }, |
||
86 | { "dc", "http://purl.org/dc/elements/1.1/" }, { "foaf", "http://xmlns.com/foaf/0.1/" }, |
||
87 | { "vcard", "http://www.w3.org/2006/vcard/ns#" }, { "cc", "http://creativecommons.org/ns#" }, |
||
88 | { "skos", "http://www.w3.org/2004/02/skos/core#" }, { "gn", "http://www.geonames.org/ontology#" } }; |
||
89 | private String[] aggregationTypes = { "average", "min", "max", "quadraticMean", "geometricMean" }; |
||
90 | |||
91 | public LinkDiscoveryToolStepDialog(Shell parent, Object stepMeta, TransMeta transMeta, String stepname) { |
||
92 | super(parent, (BaseStepMeta) stepMeta, transMeta, stepname); |
||
93 | |||
94 | input = (LinkDiscoveryToolStepMeta) baseStepMeta; |
||
95 | swthlp = new SwtHelper(transMeta, this.props); |
||
96 | |||
97 | dialogTitle = "Link Discovery Tool"; |
||
98 | } |
||
99 | |||
100 | private void fileDialogFunction(int type, String[] fileExtensions, TextVar receptor, String[] filterNames) { |
||
101 | FileDialog dialog = new FileDialog(shell, type); |
||
102 | dialog.setFilterExtensions(fileExtensions); |
||
103 | if (receptor.getText() != null) { |
||
104 | dialog.setFileName(receptor.getText()); |
||
105 | } |
||
106 | |||
107 | dialog.setFilterNames(filterNames); |
||
108 | |||
109 | if (dialog.open() != null) { |
||
110 | String str = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName(); |
||
111 | receptor.setText(str); |
||
112 | } |
||
113 | } |
||
114 | |||
115 | private Control buildContents(Control lastControl, ModifyListener defModListener) { |
||
116 | |||
117 | CTabFolder wTabFolder = swthlp.appendTabFolder(shell, lastControl, 90); |
||
118 | |||
119 | CTabItem item = new CTabItem(wTabFolder, SWT.NONE); |
||
120 | item.setText("Data Sources"); |
||
121 | Composite cpt = swthlp.appendComposite(wTabFolder, lastControl); |
||
122 | |||
123 | wConfigFile = textVarWithButton(cpt, null, "Config file", defModListener, "...", new SelectionAdapter() { |
||
124 | public void widgetSelected(SelectionEvent e) { |
||
125 | fileDialogFunction(SWT.OPEN, new String[] { "*.xml" }, wConfigFile, new String[] { "XML files" }); |
||
126 | } |
||
127 | }); |
||
128 | wConfigFile.setToolTipText("If a config file is set, all other fields are not going to be used!"); |
||
129 | |||
130 | wSourceEndpointGroup = swthlp.appendGroup(cpt, wConfigFile, "Source"); |
||
131 | wSourceEndpointURL = textVarWithButton(wSourceEndpointGroup, wSourceEndpointGroup, "Endpoint URL", |
||
132 | defModListener, "...", new SelectionAdapter() { |
||
133 | public void widgetSelected(SelectionEvent e) { |
||
134 | fileDialogFunction(SWT.OPEN, new String[] { "*.csv; *.rdf; *.ttl; *.nt; *.xml" }, |
||
135 | wSourceEndpointURL, new String[] { ".(csv, rdf, ttl, nt, xml) files" }); |
||
136 | } |
||
137 | }); |
||
138 | wSourceGraph = swthlp.appendTextVarRow(wSourceEndpointGroup, wSourceEndpointURL, "Graph", defModListener); |
||
139 | wSourceRestriction = swthlp.appendTextVarRow(wSourceEndpointGroup, wSourceGraph, "Restriction", defModListener); |
||
140 | |||
141 | wTargetEndpointGroup = swthlp.appendGroup(cpt, wSourceEndpointGroup, "Target"); |
||
142 | wTargetEndpointURL = textVarWithButton(wTargetEndpointGroup, wTargetEndpointGroup, "Endpoint URL", |
||
143 | defModListener, "...", new SelectionAdapter() { |
||
144 | public void widgetSelected(SelectionEvent e) { |
||
145 | fileDialogFunction(SWT.OPEN, new String[] { "*.csv; *.rdf; *.ttl; *.nt; *.xml" }, |
||
146 | wTargetEndpointURL, new String[] { ".(csv, rdf, ttl, nt, xml) files" }); |
||
147 | } |
||
148 | }); |
||
149 | wTargetGraph = swthlp.appendTextVarRow(wTargetEndpointGroup, wTargetEndpointURL, "Graph", defModListener); |
||
150 | wTargetRestriction = swthlp.appendTextVarRow(wTargetEndpointGroup, wTargetGraph, "Restriction", defModListener); |
||
151 | |||
152 | item.setControl(cpt); |
||
153 | |||
154 | item = new CTabItem(wTabFolder, SWT.NONE); |
||
155 | item.setText("Prefixes"); |
||
156 | |||
157 | ColumnInfo[] columns = new ColumnInfo[] { new ColumnInfo("Prefix", ColumnInfo.COLUMN_TYPE_TEXT), |
||
158 | new ColumnInfo("Namespace \u00A0", ColumnInfo.COLUMN_TYPE_TEXT) }; |
||
159 | cpt = swthlp.appendComposite(wTabFolder, null); |
||
160 | wPrefixes = swthlp.appendTableView(cpt, null, columns, defModListener, 90); |
||
161 | |||
162 | swthlp.appendButtonsRow(cpt, wPrefixes, new String[] { "Clear", "Defaults" }, |
||
163 | new SelectionListener[] { new SelectionListener() { |
||
164 | |||
165 | public void widgetSelected(SelectionEvent arg0) { |
||
166 | wPrefixes.removeAll(); |
||
167 | input.setChanged(); |
||
168 | } |
||
169 | |||
170 | public void widgetDefaultSelected(SelectionEvent arg0) { |
||
171 | input.setChanged(); |
||
172 | } |
||
173 | }, new SelectionListener() { |
||
174 | |||
175 | public void widgetSelected(SelectionEvent arg0) { |
||
176 | for (String[] row : defaultPrefixes) |
||
177 | insertRow(wPrefixes, row); |
||
178 | } |
||
179 | |||
180 | public void widgetDefaultSelected(SelectionEvent arg0) { |
||
181 | input.setChanged(); |
||
182 | } |
||
183 | } }); |
||
184 | item.setControl(cpt); |
||
185 | |||
186 | item = new CTabItem(wTabFolder, SWT.NONE); |
||
187 | item.setText("Linkage Rules"); |
||
188 | cpt = swthlp.appendComposite(wTabFolder, null); |
||
189 | |||
190 | wLinkageType = swthlp.appendTextVarRow(cpt, null, "Linkage Type", defModListener); |
||
191 | wAggregationType = swthlp.appendComboVarRow(cpt, wLinkageType, "Aggregation Type", defModListener); |
||
192 | wAggregationType.setItems(aggregationTypes); |
||
193 | |||
194 | columns = new ColumnInfo[] { new ColumnInfo("Source Path", ColumnInfo.COLUMN_TYPE_TEXT), |
||
195 | new ColumnInfo("Target Path", ColumnInfo.COLUMN_TYPE_TEXT), |
||
196 | new ColumnInfo("Metric", ColumnInfo.COLUMN_TYPE_CCOMBO, Metric.getMetricsNames()) }; |
||
197 | |||
198 | wMetrics = swthlp.appendTableView(cpt, wAggregationType, columns, defModListener, 90); |
||
199 | |||
200 | item.setControl(cpt); |
||
201 | |||
202 | item = new CTabItem(wTabFolder, SWT.NONE); |
||
203 | item.setText("Output"); |
||
204 | cpt = swthlp.appendComposite(wTabFolder, lastControl); |
||
205 | |||
206 | wOutputGroup = swthlp.appendGroup(cpt, null, "Output Config"); |
||
207 | |||
208 | wOutputFolder = textVarWithButton(wOutputGroup, wOutputGroup, "Output File", defModListener, "...", |
||
209 | new SelectionAdapter() { |
||
210 | public void widgetSelected(SelectionEvent e) { |
||
211 | fileDialogFunction(SWT.SAVE, new String[] { "*.nt" }, wOutputFolder, |
||
212 | new String[] { "RDF/N-TRIPLES files" }); |
||
213 | } |
||
214 | }); |
||
215 | |||
216 | wOutputSparql = swthlp.appendCheckboxRow(wOutputGroup, wOutputFolder, |
||
217 | "Output to a Sparql Endpoint?", new SelectionListener() { |
||
218 | |||
219 | public void widgetDefaultSelected(SelectionEvent arg0) { |
||
220 | widgetSelected(arg0); |
||
221 | } |
||
222 | |||
223 | public void widgetSelected(SelectionEvent e) { |
||
224 | enableSparqlGraph(wOutputSparql.getSelection()); |
||
225 | input.setChanged(true); |
||
226 | } |
||
227 | }); |
||
228 | |||
229 | wOutputEndpoint = swthlp.appendTextVarRow(wOutputGroup, wOutputSparql, "Endpoint URL", defModListener); |
||
230 | wOutputGraph = swthlp.appendTextVarRow(wOutputGroup, wOutputEndpoint, "Graph", defModListener); |
||
231 | |||
232 | item.setControl(cpt); |
||
233 | |||
234 | wTabFolder.setSelection(0); |
||
235 | |||
236 | return wTabFolder; |
||
237 | } |
||
238 | |||
239 | private void enableSparqlGraph(boolean enable) { |
||
240 | wOutputFolder.setEnabled(!enable); |
||
241 | wOutputGraph.setEnabled(enable); |
||
242 | wOutputEndpoint.setEnabled(enable); |
||
243 | } |
||
244 | |||
245 | private TextVar textVarWithButton(Composite parent, Control lastControl, String label, ModifyListener lsMod, |
||
246 | String btnLabel, SelectionListener listener) { |
||
247 | int middle = props.getMiddlePct(); |
||
248 | int margin = Const.MARGIN; |
||
249 | Label wLabel = new Label(parent, SWT.RIGHT); |
||
250 | wLabel.setText(label); |
||
251 | props.setLook(wLabel); |
||
252 | FormData fdLabel = new FormData(); |
||
253 | fdLabel.left = new FormAttachment(0, 0); |
||
254 | fdLabel.top = new FormAttachment(lastControl, margin); |
||
255 | fdLabel.right = new FormAttachment(middle, -margin); |
||
256 | wLabel.setLayoutData(fdLabel); |
||
257 | |||
258 | Button button = new Button(parent, SWT.PUSH | SWT.CENTER); |
||
259 | props.setLook(button); |
||
260 | button.setText(btnLabel); |
||
261 | FormData fdButton = new FormData(); |
||
262 | fdButton.right = new FormAttachment(100, 0); |
||
263 | fdButton.top = new FormAttachment(lastControl, margin); |
||
264 | button.setLayoutData(fdButton); |
||
265 | |||
266 | TextVar text = new TextVar(transMeta, parent, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
||
267 | props.setLook(text); |
||
268 | text.addModifyListener(lsMod); |
||
269 | FormData fdText = new FormData(); |
||
270 | fdText.left = new FormAttachment(middle, 0); |
||
271 | fdText.right = new FormAttachment(button, -margin); |
||
272 | fdText.top = new FormAttachment(lastControl, margin); |
||
273 | text.setLayoutData(fdText); |
||
274 | |||
275 | button.addSelectionListener(listener); |
||
276 | return text; |
||
277 | } |
||
278 | |||
279 | private void addSelectionListenerToControls(SelectionAdapter lsDef) { |
||
280 | wSourceEndpointURL.addSelectionListener(lsDef); |
||
281 | wSourceGraph.addSelectionListener(lsDef); |
||
282 | wSourceRestriction.addSelectionListener(lsDef); |
||
283 | wTargetEndpointURL.addSelectionListener(lsDef); |
||
284 | wTargetGraph.addSelectionListener(lsDef); |
||
285 | wTargetRestriction.addSelectionListener(lsDef); |
||
286 | wLinkageType.addSelectionListener(lsDef); |
||
287 | wAggregationType.addSelectionListener(lsDef); |
||
288 | wOutputFolder.addSelectionListener(lsDef); |
||
289 | wConfigFile.addSelectionListener(lsDef); |
||
290 | wOutputGraph.addSelectionListener(lsDef); |
||
291 | } |
||
292 | |||
293 | View Code Duplication | public String open() { |
|
|
|||
294 | |||
295 | Shell parent = getParent(); |
||
296 | Display display = parent.getDisplay(); |
||
297 | |||
298 | shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MIN | SWT.MAX); |
||
299 | props.setLook(shell); |
||
300 | setShellImage(shell, input); |
||
301 | |||
302 | ModifyListener lsMod = new ModifyListener() { |
||
303 | |||
304 | public void modifyText(ModifyEvent e) { |
||
305 | input.setChanged(); |
||
306 | } |
||
307 | }; |
||
308 | boolean changed = input.hasChanged(); |
||
309 | |||
310 | FormLayout formLayout = new FormLayout(); |
||
311 | formLayout.marginWidth = Const.FORM_MARGIN; |
||
312 | formLayout.marginHeight = Const.FORM_MARGIN; |
||
313 | |||
314 | shell.setLayout(formLayout); |
||
315 | |||
316 | shell.setText(dialogTitle); |
||
317 | |||
318 | int middle = props.getMiddlePct(); |
||
319 | int margin = Const.MARGIN; |
||
320 | |||
321 | // Adiciona um label e um input text no topo do dialog shell |
||
322 | wlStepname = new Label(shell, SWT.RIGHT); |
||
323 | wlStepname.setText("Step Name"); |
||
324 | props.setLook(wlStepname); |
||
325 | |||
326 | fdlStepname = new FormData(); |
||
327 | fdlStepname.left = new FormAttachment(0, 0); |
||
328 | fdlStepname.right = new FormAttachment(middle, -margin); |
||
329 | fdlStepname.top = new FormAttachment(0, margin); |
||
330 | wlStepname.setLayoutData(fdlStepname); |
||
331 | |||
332 | wStepname = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER); |
||
333 | wStepname.setText(stepname); |
||
334 | props.setLook(wStepname); |
||
335 | |||
336 | wStepname.addModifyListener(lsMod); |
||
337 | fdStepname = new FormData(); |
||
338 | fdStepname.left = new FormAttachment(middle, 0); |
||
339 | fdStepname.top = new FormAttachment(0, margin); |
||
340 | fdStepname.right = new FormAttachment(100, 0); |
||
341 | wStepname.setLayoutData(fdStepname); |
||
342 | Control lastControl = wStepname; |
||
343 | |||
344 | lastControl = buildContents(lastControl, lsMod); |
||
345 | |||
346 | // Bottom buttons |
||
347 | wOK = new Button(shell, SWT.PUSH); |
||
348 | wOK.setText("OK"); //$NON-NLS-1$ |
||
349 | wCancel = new Button(shell, SWT.PUSH); |
||
350 | wCancel.setText("Cancel"); //$NON-NLS-1$ |
||
351 | setButtonPositions(new Button[] { wOK, wCancel }, margin, lastControl); |
||
352 | |||
353 | // Add listeners |
||
354 | lsCancel = new Listener() { |
||
355 | public void handleEvent(Event e) { |
||
356 | cancel(); |
||
357 | } |
||
358 | }; |
||
359 | lsOK = new Listener() { |
||
360 | public void handleEvent(Event e) { |
||
361 | ok(); |
||
362 | } |
||
363 | }; |
||
364 | |||
365 | wCancel.addListener(SWT.Selection, lsCancel); |
||
366 | wOK.addListener(SWT.Selection, lsOK); |
||
367 | |||
368 | lsDef = new SelectionAdapter() { |
||
369 | public void widgetDefaultSelected(SelectionEvent e) { |
||
370 | ok(); |
||
371 | } |
||
372 | }; |
||
373 | wStepname.addSelectionListener(lsDef); |
||
374 | addSelectionListenerToControls(lsDef); |
||
375 | |||
376 | // Detect X or ALT-F4 or something that kills this window... |
||
377 | shell.addShellListener(new ShellAdapter() { |
||
378 | public void shellClosed(ShellEvent e) { |
||
379 | cancel(); |
||
380 | } |
||
381 | }); |
||
382 | |||
383 | // Populate the data of the controls |
||
384 | getData(); |
||
385 | |||
386 | // Set the shell size, based upon previous time... |
||
387 | setSize(); |
||
388 | |||
389 | input.setChanged(changed); |
||
390 | |||
391 | shell.open(); |
||
392 | while (!shell.isDisposed()) { |
||
393 | if (!display.readAndDispatch()) |
||
394 | display.sleep(); |
||
395 | } |
||
396 | return stepname; |
||
397 | } |
||
398 | |||
399 | private void getData() { |
||
400 | wStepname.selectAll(); |
||
401 | |||
402 | try { |
||
403 | DataTable<String> table = input.getMetrics(); |
||
404 | DataTable<String>.RowFactory rf = this.getRowFactoryRead(table); |
||
405 | |||
406 | for (int i = 0; i < table.size(); i++) { |
||
407 | wMetrics.add(table.getRowRange(i, rf).getRow()); |
||
408 | } |
||
409 | wMetrics.remove(0); |
||
410 | |||
411 | table = input.getPrefixes(); |
||
412 | rf = this.getRowFactoryRead(table); |
||
413 | |||
414 | for (int i = 0; i < table.size(); i++) { |
||
415 | wPrefixes.add(table.getRowRange(i, rf).getRow()); |
||
416 | } |
||
417 | wPrefixes.remove(0); |
||
418 | |||
419 | this.wConfigFile.setText(Const.NVL(input.getConfigFile(), "")); |
||
420 | |||
421 | this.wSourceEndpointURL.setText(Const.NVL(input.getSourceEndpoint(), "")); |
||
422 | this.wSourceGraph.setText(Const.NVL(input.getSourceGraph(), "")); |
||
423 | this.wSourceRestriction.setText(Const.NVL(input.getSourceRestriction(), "")); |
||
424 | this.wTargetEndpointURL.setText(Const.NVL(input.getTargetEndpoint(), "")); |
||
425 | this.wTargetGraph.setText(Const.NVL(input.getTargetGraph(), "")); |
||
426 | this.wTargetRestriction.setText(Const.NVL(input.getTargetRestriction(), "")); |
||
427 | |||
428 | this.wLinkageType.setText(Const.NVL(input.getLinkageType(), "")); |
||
429 | this.wAggregationType.setText(Const.NVL(input.getAggregationType(), "")); |
||
430 | |||
431 | this.wOutputFolder.setText(Const.NVL(input.getFilePath(), "")); |
||
432 | wOutputSparql.setSelection(input.isSparqlOutput()); |
||
433 | this.enableSparqlGraph(wOutputSparql.getSelection()); |
||
434 | this.wOutputEndpoint.setText(Const.NVL(input.getOutputEndpoint(), "")); |
||
435 | this.wOutputGraph.setText(Const.NVL(input.getOutputGraph(), "")); |
||
436 | |||
437 | } catch (NullPointerException e) { |
||
438 | |||
439 | } |
||
440 | } |
||
441 | |||
442 | protected void cancel() { |
||
443 | stepname = null; |
||
444 | input.setChanged(changed); |
||
445 | dispose(); |
||
446 | } |
||
447 | |||
448 | protected void ok() { |
||
449 | if (StringUtil.isEmpty(wStepname.getText())) |
||
450 | return; |
||
451 | |||
452 | stepname = wStepname.getText(); |
||
453 | |||
454 | DataTable<String> table = new DataTable<String>(LinkDiscoveryToolStepMeta.Field.METRICS_TABLE.name(), |
||
455 | LinkDiscoveryToolStepMeta.Field.METRICS_TABLE_SOURCE.name(), |
||
456 | LinkDiscoveryToolStepMeta.Field.METRICS_TABLE_TARGET.name(), |
||
457 | LinkDiscoveryToolStepMeta.Field.METRICS_TABLE_METRIC.name()); |
||
458 | DataTable<String>.RowFactory rf = getRowFactoryMetrics(table); |
||
459 | for (int i = 0; i < wMetrics.getItemCount(); i++) { |
||
460 | table.add(rf.newRow(wMetrics.getItem(i)).getFullRow()); |
||
461 | } |
||
462 | input.setMetrics(table); |
||
463 | |||
464 | table = new DataTable<String>(LinkDiscoveryToolStepMeta.Field.PREFIXES_TABLE.name(), |
||
465 | LinkDiscoveryToolStepMeta.Field.PREFIXES_TABLE_PREFIX.name(), |
||
466 | LinkDiscoveryToolStepMeta.Field.PREFIXES_TABLE_NAMESPACE.name()); |
||
467 | rf = getRowFactoryPrefixes(table); |
||
468 | for (int i = 0; i < wPrefixes.getItemCount(); i++) { |
||
469 | table.add(rf.newRow(wPrefixes.getItem(i)).getFullRow()); |
||
470 | } |
||
471 | input.setPrefixes(table); |
||
472 | |||
473 | input.setConfigFile(this.wConfigFile.getText()); |
||
474 | |||
475 | input.setSourceEndpoint(this.wSourceEndpointURL.getText()); |
||
476 | input.setSourceGraph(this.wSourceGraph.getText()); |
||
477 | input.setSourceRestriction(this.wSourceRestriction.getText()); |
||
478 | input.setTargetEndpoint(this.wTargetEndpointURL.getText()); |
||
479 | input.setTargetGraph(this.wTargetGraph.getText()); |
||
480 | input.setTargetRestriction(this.wTargetRestriction.getText()); |
||
481 | |||
482 | input.setLinkageType(this.wLinkageType.getText()); |
||
483 | input.setAggregationType(this.wAggregationType.getText()); |
||
484 | |||
485 | input.setSparqlOutput(this.wOutputSparql.getSelection()); |
||
486 | input.setOutputFolder(this.wOutputFolder.getText()); |
||
487 | input.setOutputEndpoint(this.wOutputEndpoint.getText()); |
||
488 | input.setOutputGraph(this.wOutputGraph.getText()); |
||
489 | |||
490 | dispose(); |
||
491 | } |
||
492 | |||
493 | private DataTable<String>.RowFactory getRowFactoryMetrics(DataTable<String> table) { |
||
494 | return table.newRowFactory(LinkDiscoveryToolStepMeta.Field.METRICS_TABLE_SOURCE.name(), |
||
495 | LinkDiscoveryToolStepMeta.Field.METRICS_TABLE_TARGET.name(), |
||
496 | LinkDiscoveryToolStepMeta.Field.METRICS_TABLE_METRIC.name()); |
||
497 | } |
||
498 | |||
499 | private DataTable<String>.RowFactory getRowFactoryPrefixes(DataTable<String> table) { |
||
500 | return table.newRowFactory(LinkDiscoveryToolStepMeta.Field.PREFIXES_TABLE_PREFIX.name(), |
||
501 | LinkDiscoveryToolStepMeta.Field.PREFIXES_TABLE_NAMESPACE.name()); |
||
502 | } |
||
503 | |||
504 | private DataTable<String>.RowFactory getRowFactoryRead(DataTable<String> table) { |
||
505 | List<String> header = new ArrayList<String>(); |
||
506 | header.addAll(table.getHeader()); |
||
507 | return table.newRowFactory(header.toArray(new String[0])); |
||
508 | } |
||
509 | |||
510 | private void insertRow(TableView tvTable, String[] row) { |
||
511 | if (tvTable.table.getItem(0).getText(1).equals("")) { |
||
512 | for (int i = 0; i < row.length; i++) |
||
513 | tvTable.table.getItem(0).setText(i + 1, row[i]); |
||
514 | } else { |
||
515 | tvTable.add(row); |
||
516 | } |
||
519 |