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
+}