Author: samindaw
Date: Wed Aug 14 17:50:36 2013
New Revision: 1513975
URL: http://svn.apache.org/r1513975
Log:
updating parameter window to have the content as url clickable
Modified:
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/AbstractAiravataTreeNode.java
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java
Modified:
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/AbstractAiravataTreeNode.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/AbstractAiravataTreeNode.java?rev=1513975&r1=1513974&r2=1513975&view=diff
==============================================================================
---
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/AbstractAiravataTreeNode.java
(original)
+++
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/AbstractAiravataTreeNode.java
Wed Aug 14 17:50:36 2013
@@ -226,4 +226,30 @@ public abstract class AbstractAiravataTr
result+="</html>";
return result;
}
+
+ public String createHTMLUrlTaggedString(String value) {
+ String urledString = "";
+ int lastIndex=0,index=0;
+ while(index!=-1){
+ index=value.toLowerCase().indexOf("://",lastIndex);
+ if (index!=-1){
+ int beginIndex=value.lastIndexOf(" ",index);
+
urledString+=value.substring(lastIndex,beginIndex+1);
+ int endIndex=value.indexOf(" ",index);
+ if (beginIndex==-1){
+ beginIndex=0;
+ }else{
+ beginIndex++;
+ }
+ if (endIndex==-1){
+ endIndex=value.length();
+ }
+ String url=value.substring(beginIndex,
endIndex);
+ urledString+="<a href='"+url+"'>"+url+"</a>";
+ lastIndex=endIndex;
+ }
+ }
+ urledString+=value.substring(lastIndex, value.length());
+ return urledString;
+ }
}
Modified:
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java?rev=1513975&r1=1513974&r2=1513975&view=diff
==============================================================================
---
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java
(original)
+++
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java
Wed Aug 14 17:50:36 2013
@@ -90,11 +90,12 @@ public class ParameterNode extends Abstr
}
public boolean triggerAction(JTree tree,String action) throws Exception{
+ String value = getParameter().getValue().toString();
if (action.equals(ViewAction.ID)) {
- TextWindow textWindow = new
TextWindow(getXBayaEngine(), getParameter().getName(),
getParameter().getValue().toString(),"Parameter Content");
+ TextWindow textWindow = new
TextWindow(getXBayaEngine(), getParameter().getName(), value,"Parameter
Content");
textWindow.show();
} else if (action.equals(CopyAction.ID)) {
-
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new
StringSelection(getParameter().getValue().toString()), null);
+
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new
StringSelection(value), null);
}
return super.triggerAction(tree, action);
}
@@ -117,3 +118,4 @@ public class ParameterNode extends Abstr
this.parameter = parameter;
}
}
+
Modified:
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java?rev=1513975&r1=1513974&r2=1513975&view=diff
==============================================================================
---
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java
(original)
+++
airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java
Wed Aug 14 17:50:36 2013
@@ -83,12 +83,35 @@ public class TextWindow {
this.dialog.hide();
}
+ public String createHTMLUrlTaggedString(String value) {
+ String urledString = "";
+ int lastIndex=0,index=0;
+ while(index!=-1){
+ index=value.toLowerCase().indexOf("://",lastIndex);
+ if (index!=-1){
+ int beginIndex=value.lastIndexOf(" ",index);
+
urledString+=value.substring(lastIndex,beginIndex+1);
+ int endIndex=value.indexOf(" ",index);
+ if (beginIndex==-1){
+ beginIndex=0;
+ }else{
+ beginIndex++;
+ }
+ if (endIndex==-1){
+ endIndex=value.length();
+ }
+ String url=value.substring(beginIndex,
endIndex);
+ urledString+="<a href='"+url+"'>"+url+"</a>";
+ lastIndex=endIndex;
+ }
+ }
+ urledString+=value.substring(lastIndex, value.length());
+ return urledString;
+ }
+
@SuppressWarnings("serial")
private void init() {
-// value=value+" http://localhost/";
-// value = value.replaceAll("(?:https?|http?)://[\\w/%.-]+",
"<html><body><a href='$0'>$0</a></body></html>");
-
- final JEditorPane editorPane = new
JEditorPane(XmlConstants.CONTENT_TYPE_XHTML, value);
+ final JEditorPane editorPane = new
JEditorPane(XmlConstants.CONTENT_TYPE_HTML, createHTMLUrlTaggedString(value));
editorPane.setEditable(false);
editorPane.setBackground(Color.WHITE);
editorPane.addHyperlinkListener(new HyperlinkListener() {
@@ -126,7 +149,7 @@ public class TextWindow {
btnCopy.addActionListener(new AbstractAction(){
@Override
public void actionPerformed(ActionEvent arg0) {
-
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new
StringSelection(editorPane.getText()), null);
+
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new
StringSelection(value), null);
}
});
@@ -138,4 +161,4 @@ public class TextWindow {
dialog.getDialog().setMinimumSize(new Dimension(400, 400));
this.dialog.setDefaultButton(okButton);
}
-}
\ No newline at end of file
+}