You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/03/06 23:34:05 UTC
[09/50] [abbrv] incubator-taverna-workbench git commit: Document
filter for names
Document filter for names
git-svn-id: https://taverna.googlecode.com/svn/taverna/utils/net.sf.taverna.t2.lang/branches/maintenance@16489 bf327186-88b3-11dd-a302-d386e5130c1c
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/commit/e388ce29
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/e388ce29
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/e388ce29
Branch: refs/heads/master
Commit: e388ce29bae532569d5c7aca1316421cba02c9ea
Parents: ddfae3f
Author: alan@mygrid.org.uk <al...@bf327186-88b3-11dd-a302-d386e5130c1c>
Authored: Tue Jan 7 16:53:54 2014 +0000
Committer: alan@mygrid.org.uk <al...@bf327186-88b3-11dd-a302-d386e5130c1c>
Committed: Tue Jan 7 16:53:54 2014 +0000
----------------------------------------------------------------------
.../t2/lang/ui/SanitisingDocumentFilter.java | 43 ++++++++++++++++++++
1 file changed, 43 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/e388ce29/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java
----------------------------------------------------------------------
diff --git a/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java b/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java
new file mode 100644
index 0000000..04341d4
--- /dev/null
+++ b/ui/src/main/java/net/sf/taverna/t2/lang/ui/SanitisingDocumentFilter.java
@@ -0,0 +1,43 @@
+/**
+ *
+ */
+package net.sf.taverna.t2.lang.ui;
+
+import java.util.regex.Pattern;
+
+import javax.swing.text.AttributeSet;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.DocumentFilter;
+
+/**
+ * @author alanrw
+ *
+ */
+public class SanitisingDocumentFilter extends DocumentFilter {
+ public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
+
+ fb.insertString(offset, sanitiseString(string), attr);
+ }
+
+ public void replace(DocumentFilter.FilterBypass fb, int offset, int length,
+ String text, javax.swing.text.AttributeSet attr)
+
+ throws BadLocationException {
+ fb.insertString(offset, sanitiseString(text), attr);
+ }
+
+ private static String sanitiseString(String text) {
+ String result = text;
+ if (Pattern.matches("\\w++", text) == false) {
+ result = "";
+ for (char c : text.toCharArray()) {
+ if (Character.isLetterOrDigit(c) || c == '_') {
+ result += c;
+ } else {
+ result += "_";
+ }
+ }
+ }
+ return result;
+ }
+}