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 2012/07/12 23:13:26 UTC
svn commit: r1360948 - in
/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya:
registrybrowser/nodes/ParameterNode.java
ui/actions/registry/browser/ViewAction.java ui/dialogs/TextWindow.java
ui/views/JCRBrowserPanel.java
Author: samindaw
Date: Thu Jul 12 21:13:25 2012
New Revision: 1360948
URL: http://svn.apache.org/viewvc?rev=1360948&view=rev
Log:
parameter view action
Added:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/actions/registry/browser/ViewAction.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java
Modified:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/views/JCRBrowserPanel.java
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java?rev=1360948&r1=1360947&r2=1360948&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/nodes/ParameterNode.java Thu Jul 12 21:13:25 2012
@@ -33,6 +33,8 @@ import javax.swing.tree.TreeNode;
import org.apache.airavata.xbaya.model.registrybrowser.ServiceParameter;
import org.apache.airavata.xbaya.ui.actions.AbstractBrowserActionItem;
import org.apache.airavata.xbaya.ui.actions.registry.browser.CopyAction;
+import org.apache.airavata.xbaya.ui.actions.registry.browser.ViewAction;
+import org.apache.airavata.xbaya.ui.dialogs.TextWindow;
public class ParameterNode extends AbstractAiravataTreeNode {
private ServiceParameter parameter;
@@ -63,21 +65,31 @@ public class ParameterNode extends Abstr
return JCRBrowserIcons.PARAMETER_ICON;
}
+ @Override
+ public String getDefaultAction() {
+ return ViewAction.ID;
+ }
+
@Override
public List<String> getSupportedActions() {
- return Arrays.asList(CopyAction.ID);
+ return Arrays.asList(ViewAction.ID,CopyAction.ID);
}
@Override
public String getActionCaption(AbstractBrowserActionItem action) {
- if (action.getID().equals(CopyAction.ID)) {
- return "Copy contents";
+ if (action.getID().equals(ViewAction.ID)) {
+ return "View";
+ } else if (action.getID().equals(CopyAction.ID)) {
+ return "Copy to clipboard";
}
return null;
}
public boolean triggerAction(JTree tree,String action) throws Exception{
- if (action.equals(CopyAction.ID)) {
+ if (action.equals(ViewAction.ID)) {
+ TextWindow textWindow = new TextWindow(getXBayaEngine(), getParameter().getName(), getParameter().getValue().toString(),"Parameter Content");
+ textWindow.show();
+ } else if (action.equals(CopyAction.ID)) {
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(getParameter().getValue().toString()), null);
}
return super.triggerAction(tree, action);
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/actions/registry/browser/ViewAction.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/actions/registry/browser/ViewAction.java?rev=1360948&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/actions/registry/browser/ViewAction.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/actions/registry/browser/ViewAction.java Thu Jul 12 21:13:25 2012
@@ -0,0 +1,39 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.xbaya.ui.actions.registry.browser;
+
+import org.apache.airavata.xbaya.ui.actions.AbstractBrowserActionItem;
+
+public class ViewAction extends AbstractBrowserActionItem {
+ public static final String ID = "action.view";
+
+ @Override
+ public String getID() {
+ return ID;
+ }
+
+ @Override
+ public String getDefaultCaption() {
+ return "View";
+ }
+
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java?rev=1360948&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/TextWindow.java Thu Jul 12 21:13:25 2012
@@ -0,0 +1,141 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.xbaya.ui.dialogs;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.datatransfer.StringSelection;
+import java.awt.event.ActionEvent;
+import java.net.URL;
+
+import javax.swing.AbstractAction;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JEditorPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkEvent.EventType;
+import javax.swing.event.HyperlinkListener;
+
+import org.apache.airavata.common.utils.BrowserLauncher;
+import org.apache.airavata.xbaya.XBayaEngine;
+import org.apache.airavata.xbaya.ui.widgets.GridPanel;
+import org.apache.airavata.xbaya.ui.widgets.XBayaTextField;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import xsul5.XmlConstants;
+
+public class TextWindow {
+
+ private static final Logger logger = LoggerFactory.getLogger(TextWindow.class);
+
+ private XBayaEngine engine;
+
+ private XBayaDialog dialog;
+
+ private String key;
+ private String value;
+ private String title;
+
+ /**
+ * Creates the AboutWindow.
+ *
+ * @param engine
+ */
+ public TextWindow(XBayaEngine engine, String key, String value, String title) {
+ this.engine = engine;
+ this.key=key;
+ this.value=value;
+ this.title=title;
+ init();
+ }
+
+ /**
+ * Shows the dialog.
+ */
+ public void show() {
+ this.dialog.show();
+ }
+
+ private void hide() {
+ this.dialog.hide();
+ }
+
+ @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);
+ editorPane.setEditable(false);
+ editorPane.setBackground(Color.WHITE);
+ editorPane.addHyperlinkListener(new HyperlinkListener() {
+ public void hyperlinkUpdate(HyperlinkEvent event) {
+ logger.debug("Event:" + event);
+ if (event.getEventType() == EventType.ACTIVATED) {
+ URL url = event.getURL();
+ try {
+ BrowserLauncher.openURL(url.toString());
+ } catch (Exception e) {
+ TextWindow.this.engine.getGUI().getErrorWindow().error(TextWindow.this.dialog.getDialog(),
+ e.getMessage(), e);
+ }
+ }
+ }
+ });
+ JScrollPane pane = new JScrollPane(editorPane);
+ GridPanel gridPanel = new GridPanel();
+ XBayaTextField txtKey=new XBayaTextField(key);
+ txtKey.getTextField().setEditable(false);
+ gridPanel.add(txtKey);
+ gridPanel.add(pane);
+ gridPanel.getContentPanel().setBorder(BorderFactory.createEtchedBorder());
+ gridPanel.layout(2, 1, 1, 0);
+
+ JPanel buttonPanel = new JPanel();
+ JButton okButton = new JButton("Close");
+ okButton.setDefaultCapable(true);
+ okButton.addActionListener(new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+ hide();
+ }
+ });
+ JButton btnCopy = new JButton("Copy to clipboard");
+ btnCopy.addActionListener(new AbstractAction(){
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(editorPane.getText()), null);
+ }
+
+ });
+ buttonPanel.add(btnCopy);
+ buttonPanel.add(okButton);
+ buttonPanel.setBorder(BorderFactory.createEtchedBorder());
+
+ this.dialog = new XBayaDialog(this.engine.getGUI(), title, gridPanel, buttonPanel);
+ dialog.getDialog().setMinimumSize(new Dimension(400, 400));
+ this.dialog.setDefaultButton(okButton);
+ }
+}
\ No newline at end of file
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/views/JCRBrowserPanel.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/views/JCRBrowserPanel.java?rev=1360948&r1=1360947&r2=1360948&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/views/JCRBrowserPanel.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/views/JCRBrowserPanel.java Thu Jul 12 21:13:25 2012
@@ -55,6 +55,7 @@ import org.apache.airavata.xbaya.ui.acti
import org.apache.airavata.xbaya.ui.actions.registry.browser.EditAction;
import org.apache.airavata.xbaya.ui.actions.registry.browser.ImportAction;
import org.apache.airavata.xbaya.ui.actions.registry.browser.RefreshAction;
+import org.apache.airavata.xbaya.ui.actions.registry.browser.ViewAction;
public class JCRBrowserPanel extends JPanel implements Observer {
private List<AbstractBrowserActionItem> browserActions = new ArrayList<AbstractBrowserActionItem>();
@@ -139,6 +140,12 @@ public class JCRBrowserPanel extends JPa
triggerNodeAction(CopyAction.ID);
}
});
+ ViewAction actionView = new ViewAction();
+ actionView.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ triggerNodeAction(ViewAction.ID);
+ }
+ });
tree.addMouseListener(new MouseAdapter(){
@Override
@@ -149,6 +156,7 @@ public class JCRBrowserPanel extends JPa
}
});
browserActions.add(actionAdd);
+ browserActions.add(actionView);
browserActions.add(actionImport);
browserActions.add(actionEdit);
browserActions.add(actionRefresh);