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


Reply via email to