[TASK] Allow toggling whether to shorten uris using prefixs.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user