You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2013/08/14 19:50:36 UTC
svn commit: r1513975 - in
/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya:
registrybrowser/nodes/AbstractAiravataTreeNode.java
registrybrowser/nodes/ParameterNode.java ui/dialogs/TextWindow.java
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
+}