[TASK] Allow toggling whether to shorten uris using prefixs.

This commit is contained in:
JPT
2016-10-02 23:21:32 +02:00
parent 5371fa6aaa
commit 744b9c0dc2
4 changed files with 105 additions and 2 deletions
@@ -31,6 +31,7 @@ import eu.larkc.csparql.cep.api.RdfQuadruple;
import eu.larkc.csparql.common.RDFTable;
import eu.larkc.csparql.common.RDFTuple;
import eu.larkc.csparql.core.engine.CsparqlQueryResultProxy;
import lu.jpt.csparqlproject.Main;
/**
* Multi-purpose text window to allow for easy viewing of RdfStream quadruples,
@@ -44,7 +45,7 @@ public class TextObserverWindow extends JFrame implements Observer {
private JTextPane textPane;
private volatile boolean autoScrollToBottom = true;
private volatile boolean usePrefixManager = true;
/**
* Constructor
@@ -63,6 +64,15 @@ public class TextObserverWindow extends JFrame implements Observer {
this.autoScrollToBottom = autoScrollToBottom;
}
/**
* Set whether or not the PrefixManager shall be used to shorten
* uris in strings to prefixes.
* @param usePrefixManager
*/
public void setUsePrefixManager(boolean usePrefixManager) {
this.usePrefixManager = usePrefixManager;
}
/**
* Show the given text in the window
* @param text
@@ -111,7 +121,8 @@ public class TextObserverWindow extends JFrame implements Observer {
* @param color
*/
public void showQuadruple(RdfQuadruple quad, Color color) {
this.appendToTextPane(quad.toString(), true, color);
String quadruple = this.shortenUriToPrefix(quad.toString());
this.appendToTextPane(quadruple, true, color);
}
/**
@@ -182,6 +193,20 @@ public class TextObserverWindow extends JFrame implements Observer {
});
bottomPanel.add(autoscrollCheckbox);
// Add a checkbox to toggle uri shortening using PrefixManager
JCheckBox usePrefixManagerCheckbox = new JCheckBox();
usePrefixManagerCheckbox.setText("Shorten URIs to prefixes");
usePrefixManagerCheckbox.setEnabled(true);
usePrefixManagerCheckbox.setSelected(true);
usePrefixManagerCheckbox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JCheckBox checkBox = (JCheckBox) e.getSource();
textObserverWindow.setUsePrefixManager(checkBox.isSelected());
}
});
bottomPanel.add(usePrefixManagerCheckbox);
// Add buttons to increase/decrease font size
JButton increaseFontSizeButton = new JButton("+");
increaseFontSizeButton.addActionListener(new ActionListener() {
@@ -296,6 +321,7 @@ public class TextObserverWindow extends JFrame implements Observer {
int tokenIndex = 0;
while(tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
token = this.shortenUriToPrefix(token);
if(token == "") token = "[NO VALUE]";
if(tokenizer.hasMoreTokens()) {
token += "\t";
@@ -329,5 +355,19 @@ public class TextObserverWindow extends JFrame implements Observer {
return result;
}
/**
* Helper method to shorten strings using the PrefixManager if
* this window uses it
* @param str input string
* @return output string, shortened or not depending on usePrefixManager variable
*/
private String shortenUriToPrefix(String str) {
if(this.usePrefixManager) {
return Main.prefixManager.applyPrefix(str);
} else {
return str;
}
}
}