You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2018/06/29 10:55:03 UTC
[16/27] incubator-taverna-plugin-component git commit: package rename
folders
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserComponentEntryPanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserComponentEntryPanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserComponentEntryPanel.java
deleted file mode 100644
index 1d393c5..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserComponentEntryPanel.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.panel;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-
-import io.github.taverna_extras.component.api.Family;
-import io.github.taverna_extras.component.api.Registry;
-import io.github.taverna_extras.component.api.Version;
-import io.github.taverna_extras.component.ui.preference.ComponentPreference;
-
-/**
- * @author alanrw
- */
-public class RegistryAndFamilyChooserComponentEntryPanel extends JPanel {
- private static final long serialVersionUID = -6675545311458594678L;
- private static final String T2FLOW = ".t2flow";
- private static final String WFBUNDLE = ".wfbundle";
-
- private JTextField componentNameField = new JTextField(20);
- private RegistryAndFamilyChooserPanel registryAndFamilyChooserPanel;
-
- public RegistryAndFamilyChooserComponentEntryPanel(ComponentPreference prefs) {
- super(new GridBagLayout());
- registryAndFamilyChooserPanel = new RegistryAndFamilyChooserPanel(prefs);
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.gridwidth = 2;
- gbc.weightx = 1;
- this.add(registryAndFamilyChooserPanel, gbc);
- gbc.gridy = 1;
-
- gbc.gridwidth = 1;
- gbc.gridx = 0;
- gbc.weightx = 0;
- gbc.fill = GridBagConstraints.NONE;
- this.add(new JLabel("Component name:"), gbc);
- gbc.gridx = 1;
- gbc.weightx = 1;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- this.add(componentNameField, gbc);
- }
-
- public String getComponentName() {
- return componentNameField.getText();
- }
-
- public void setComponentName(String name) {
- componentNameField.setText(name);
- }
-
- public Version.ID getComponentVersionIdentification() {
- String componentName = getComponentName();
- Family familyChoice = registryAndFamilyChooserPanel.getChosenFamily();
- Registry registry = registryAndFamilyChooserPanel.getChosenRegistry();
-
- if (familyChoice == null || registry == null || componentName == null
- || componentName.isEmpty())
- return null;
-
- return new Version.Identifier(registry.getRegistryBase(),
- familyChoice.getName(), trim(componentName), -1);
- }
-
- private static String trim(String name) {
- if (name.endsWith(WFBUNDLE))
- return name.substring(0, name.length() - WFBUNDLE.length());
- else if (name.endsWith(T2FLOW))
- return name.substring(0, name.length() - T2FLOW.length());
- return name;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserPanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserPanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserPanel.java
deleted file mode 100644
index bc24dca..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryAndFamilyChooserPanel.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.panel;
-
-import static java.awt.GridBagConstraints.BOTH;
-import static java.awt.GridBagConstraints.WEST;
-import static org.apache.log4j.Logger.getLogger;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.util.List;
-
-import javax.swing.JPanel;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.Family;
-import io.github.taverna_extras.component.api.Registry;
-import io.github.taverna_extras.component.ui.preference.ComponentPreference;
-import org.apache.taverna.lang.observer.Observable;
-import org.apache.taverna.lang.observer.Observer;
-
-/**
- * @author alanrw
- */
-public class RegistryAndFamilyChooserPanel extends JPanel implements
- Observer<ProfileChoiceMessage>, Observable<FamilyChoiceMessage> {
- private static Logger logger = getLogger(RegistryAndFamilyChooserPanel.class);
- private static final long serialVersionUID = -535518473593617735L;
- final RegistryChooserPanel registryPanel;
- final FamilyChooserPanel familyPanel;
-
- public RegistryAndFamilyChooserPanel(ComponentPreference prefs) {
- super(new GridBagLayout());
- registryPanel = new RegistryChooserPanel(prefs);
- familyPanel = new FamilyChooserPanel(registryPanel);
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.anchor = WEST;
- gbc.fill = BOTH;
- gbc.gridwidth = 2;
- gbc.weightx = 1;
- add(registryPanel, gbc);
-
- gbc.gridx = 0;
- gbc.gridy = 1;
- gbc.weighty = 1;
- add(familyPanel, gbc);
- }
-
- public Registry getChosenRegistry() {
- return registryPanel.getChosenRegistry();
- }
-
- public Family getChosenFamily() {
- return familyPanel.getChosenFamily();
- }
-
- @Override
- public void addObserver(Observer<FamilyChoiceMessage> observer) {
- familyPanel.addObserver(observer);
- }
-
- @Override
- public List<Observer<FamilyChoiceMessage>> getObservers() {
- return familyPanel.getObservers();
- }
-
- @Override
- public void removeObserver(Observer<FamilyChoiceMessage> observer) {
- familyPanel.removeObserver(observer);
- }
-
- @Override
- public void notify(Observable<ProfileChoiceMessage> sender,
- ProfileChoiceMessage message) {
- try {
- familyPanel.notify(sender, message);
- } catch (Exception e) {
- logger.error("problem handling notification about profile choice",
- e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChoiceMessage.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChoiceMessage.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChoiceMessage.java
deleted file mode 100644
index 85249ca..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChoiceMessage.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.panel;
-
-import io.github.taverna_extras.component.api.Registry;
-
-/**
- * @author alanrw
- */
-public class RegistryChoiceMessage {
- private final Registry chosenRegistry;
-
- public RegistryChoiceMessage(Registry chosenRegistry) {
- this.chosenRegistry = chosenRegistry;
- }
-
- /**
- * @return the chosenRegistry
- */
- public Registry getChosenRegistry() {
- return chosenRegistry;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChooserPanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChooserPanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChooserPanel.java
deleted file mode 100644
index 1e2bf78..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/RegistryChooserPanel.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.panel;
-
-import static java.awt.GridBagConstraints.BOTH;
-import static java.awt.GridBagConstraints.WEST;
-import static java.awt.event.ItemEvent.SELECTED;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.ui.util.Utils.LONG_STRING;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.SortedMap;
-import java.util.Vector;
-
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.Registry;
-import io.github.taverna_extras.component.ui.preference.ComponentPreference;
-import org.apache.taverna.lang.observer.Observable;
-import org.apache.taverna.lang.observer.Observer;
-
-/**
- * @author alanrw
- */
-public class RegistryChooserPanel extends JPanel implements
- Observable<RegistryChoiceMessage> {
- private static final String REGISTRY_LABEL = "Component registry:";
- private static final long serialVersionUID = 8390860727800654604L;
- private static final Logger logger = getLogger(RegistryChooserPanel.class);
-
- private final List<Observer<RegistryChoiceMessage>> observers = new ArrayList<>();
- private final JComboBox<String> registryBox;
- private final SortedMap<String, Registry> registryMap;
-
- public RegistryChooserPanel(ComponentPreference pref) {
- setLayout(new GridBagLayout());
-
- GridBagConstraints gbc = new GridBagConstraints();
-
- registryMap = pref.getRegistryMap();
- registryBox = new JComboBox<>(new Vector<>(registryMap.keySet()));
- registryBox.setPrototypeDisplayValue(LONG_STRING);
- registryBox.setEditable(false);
-
- gbc.gridx = 0;
- gbc.anchor = WEST;
- this.add(new JLabel(REGISTRY_LABEL), gbc);
- gbc.gridx = 1;
- gbc.weightx = 1;
- gbc.fill = BOTH;
- this.add(registryBox, gbc);
-
- registryBox.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent event) {
- if (event.getStateChange() == SELECTED)
- dealWithSelection();
- }
- });
-
- String firstKey = registryMap.firstKey();
- registryBox.setSelectedItem(firstKey);
- dealWithSelection();
- }
-
- private void updateToolTipText() {
- String key = (String) registryBox.getSelectedItem();
- Registry registry = registryMap.get(key);
- registryBox.setToolTipText(registry.getRegistryBase().toString());
- }
-
- private void dealWithSelection() {
- updateToolTipText();
- Registry chosenRegistry = getChosenRegistry();
- RegistryChoiceMessage message = new RegistryChoiceMessage(
- chosenRegistry);
- for (Observer<RegistryChoiceMessage> o : getObservers())
- try {
- o.notify(this, message);
- } catch (Exception e) {
- logger.error("problem handling selection update", e);
- }
- }
-
- @Override
- public void addObserver(Observer<RegistryChoiceMessage> observer) {
- observers.add(observer);
- Registry chosenRegistry = getChosenRegistry();
- RegistryChoiceMessage message = new RegistryChoiceMessage(
- chosenRegistry);
- try {
- observer.notify(this, message);
- } catch (Exception e) {
- logger.error("problem handling addition of observer", e);
- }
- }
-
- @Override
- public List<Observer<RegistryChoiceMessage>> getObservers() {
- return observers;
- }
-
- @Override
- public void removeObserver(Observer<RegistryChoiceMessage> observer) {
- observers.remove(observer);
- }
-
- public Registry getChosenRegistry() {
- if (registryBox.getSelectedIndex() < 0)
- return null;
- return registryMap.get(registryBox.getSelectedItem());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SearchChoicePanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SearchChoicePanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SearchChoicePanel.java
deleted file mode 100644
index f26cf6b..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SearchChoicePanel.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.panel;
-
-import static java.awt.GridBagConstraints.BOTH;
-import static java.awt.GridBagConstraints.WEST;
-import static java.awt.event.ItemEvent.SELECTED;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.ui.util.Utils.LONG_STRING;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.concurrent.ExecutionException;
-
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.SwingWorker;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.ComponentFactory;
-import io.github.taverna_extras.component.api.Registry;
-import io.github.taverna_extras.component.api.Version;
-import io.github.taverna_extras.component.ui.preference.ComponentPreference;
-
-/**
- * @author alanrw
- */
-@SuppressWarnings("serial")
-public class SearchChoicePanel extends JPanel {
- private static final Logger logger = getLogger(SearchChoicePanel.class);
- private static final String SEARCHING = "Searching...";
- private static final String[] SEARCHING_ARRAY = new String[] { SEARCHING };
- private static final String NO_MATCHES = "No matches";
- private static final String SEARCH_FAILED = "Search failed";
- private static final List<String> RESERVED_WORDS = Arrays.asList(SEARCHING,
- NO_MATCHES, SEARCH_FAILED);
-
- private ComponentPreference preference;//FIXME beaninject from constructor
- private ComponentFactory factory;//FIXME beaninject from constructor
- private Registry registry;
- private String prefixes;
- private String queryText;
- private JLabel registryURLLabel;
- private JComboBox<String> familyBox;
- private JComboBox<String> componentBox;
- private JComboBox<Object> versionBox;
-
- public SearchChoicePanel(Registry registry, String prefixes,
- String queryText) {
- super(new GridBagLayout());
- this.registry = registry;
- this.prefixes = prefixes;
- this.queryText = queryText;
-
- componentBox = new JComboBox<>(SEARCHING_ARRAY);
- componentBox.setPrototypeDisplayValue(LONG_STRING);
- familyBox = new JComboBox<>(SEARCHING_ARRAY);
- familyBox.setPrototypeDisplayValue(LONG_STRING);
- versionBox = new JComboBox<Object>(SEARCHING_ARRAY);
- versionBox.setPrototypeDisplayValue(LONG_STRING);
-
- GridBagConstraints gbc = new GridBagConstraints();
-
- JLabel registryLabel = new JLabel("Component registry:");
-
- gbc.insets.left = 5;
- gbc.insets.right = 5;
- gbc.gridx = 0;
- gbc.anchor = WEST;
- gbc.fill = BOTH;
- gbc.gridwidth = 1;
- gbc.weightx = 1;
- gbc.gridy++;
- this.add(registryLabel, gbc);
- gbc.gridx = 1;
- registryURLLabel = new JLabel(SEARCHING);
- this.add(registryURLLabel, gbc);
- gbc.gridx = 0;
- gbc.gridy++;
- this.add(new JLabel("Component family:"), gbc);
- gbc.gridx = 1;
-
- this.add(familyBox, gbc);
- gbc.gridx = 0;
- gbc.gridy++;
- this.add(new JLabel("Component:"), gbc);
- gbc.gridx = 1;
- this.add(componentBox, gbc);
-
- gbc.gridx = 0;
- gbc.gridy++;
-
- this.add(new JLabel("Component version:"), gbc);
- gbc.gridx = 1;
- this.add(versionBox, gbc);
-
- new Searcher().execute();
- }
-
- private class Searcher extends SwingWorker<Set<Version.ID>, Object> {
- @Override
- protected Set<Version.ID> doInBackground() throws Exception {
- return registry.searchForComponents(prefixes, queryText);
- }
-
- @Override
- protected void done() {
- clearAll();
- try {
- Set<Version.ID> matches = get();
- if (matches.isEmpty())
- setAll(NO_MATCHES);
- else
- searchCompletedSuccessfully(matches);
- } catch (InterruptedException e) {
- logger.error("search was interrupted", e);
- setAll(SEARCH_FAILED);
- } catch (ExecutionException e) {
- logger.error("problem in execution", e.getCause());
- setAll(SEARCH_FAILED);
- }
- }
- }
-
- private void clearAll() {
- familyBox.removeAllItems();
- componentBox.removeAllItems();
- versionBox.removeAllItems();
- }
-
- private void setAll(String text) {
- registryURLLabel.setText(text);
- familyBox.addItem(text);
- componentBox.addItem(text);
- versionBox.addItem(text);
- }
-
- private String[] calculateMatchingFamilyNames(
- Set<Version.ID> matchingComponents) {
- Set<String> result = new TreeSet<>();
- for (Version.ID v : matchingComponents)
- result.add(v.getFamilyName());
- return result.toArray(new String[0]);
- }
-
- private void updateComponentBox(Set<Version.ID> matchingComponents,
- JComboBox<String> componentBox, String selectedItem) {
- componentBox.removeAllItems();
- String[] matchingComponentNames = calculateMatchingComponentNames(
- matchingComponents, selectedItem);
- for (String componentName : matchingComponentNames)
- componentBox.addItem(componentName);
- componentBox.setSelectedIndex(0);
- }
-
- private String[] calculateMatchingComponentNames(
- Set<Version.ID> matchingComponents, String familyName) {
- Set<String> result = new TreeSet<>();
- for (Version.ID v : matchingComponents)
- if (v.getFamilyName().equals(familyName))
- result.add(v.getComponentName());
- return result.toArray(new String[0]);
- }
-
- private void updateVersionBox(Set<Version.ID> matchingComponents,
- JComboBox<Object> versionBox, String componentName,
- String familyName) {
- versionBox.removeAllItems();
- for (Integer v : calculateMatchingVersionNumbers(matchingComponents,
- componentName, familyName))
- versionBox.addItem(v);
- versionBox.setSelectedIndex(0);
- }
-
- private Integer[] calculateMatchingVersionNumbers(
- Set<Version.ID> matchingComponents, String componentName,
- String familyName) {
- Set<Integer> result = new TreeSet<>();
- for (Version.ID v : matchingComponents)
- if (v.getFamilyName().equals(familyName)
- && v.getComponentName().equals(componentName))
- result.add(v.getComponentVersion());
- return result.toArray(new Integer[0]);
- }
-
- public Version.ID getVersionIdentification() {
- String registryString = registryURLLabel.getText();
- if (RESERVED_WORDS.contains(registryString))
- return null;
-
- try {
- return factory.getVersion(registry.getRegistryBase(),
- (String) familyBox.getSelectedItem(),
- (String) componentBox.getSelectedItem(),
- (Integer) versionBox.getSelectedItem()).getID();
- } catch (ComponentException e) {
- logger.warn(
- "unexpected failure to construct component version token",
- e);
- return null;
- }
- }
-
- private void searchCompletedSuccessfully(final Set<Version.ID> matches) {
- Version.ID one = (Version.ID) matches.toArray()[0];
- registryURLLabel.setText(preference.getRegistryName(one
- .getRegistryBase()));
- for (String familyName : calculateMatchingFamilyNames(matches))
- familyBox.addItem(familyName);
- familyBox.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- if (e.getStateChange() == SELECTED)
- updateComponentBox(matches, componentBox,
- (String) familyBox.getSelectedItem());
- }
- });
- componentBox.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- if (e.getStateChange() == SELECTED)
- updateVersionBox(matches, versionBox,
- (String) componentBox.getSelectedItem(),
- (String) familyBox.getSelectedItem());
- }
- });
- familyBox.setSelectedIndex(0);
- updateComponentBox(matches, componentBox,
- (String) familyBox.getSelectedItem());
- updateVersionBox(matches, versionBox,
- (String) componentBox.getSelectedItem(),
- (String) familyBox.getSelectedItem());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SharingPolicyChooserPanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SharingPolicyChooserPanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SharingPolicyChooserPanel.java
deleted file mode 100644
index 3625a84..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/panel/SharingPolicyChooserPanel.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.panel;
-
-import static java.awt.GridBagConstraints.BOTH;
-import static java.awt.GridBagConstraints.NONE;
-import static java.awt.GridBagConstraints.WEST;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.ui.util.Utils.LONG_STRING;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.util.List;
-import java.util.SortedMap;
-import java.util.TreeMap;
-import java.util.concurrent.ExecutionException;
-
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.SwingWorker;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.Registry;
-import io.github.taverna_extras.component.api.SharingPolicy;
-import org.apache.taverna.lang.observer.Observable;
-import org.apache.taverna.lang.observer.Observer;
-
-/**
- * @author alanrw
- */
-public class SharingPolicyChooserPanel extends JPanel {
- private static final String SHARING_LABEL = "Sharing policy:";
- private static final String READING_MSG = "Reading sharing policies";
- private static final String NO_PERMISSIONS_MSG = "No permissions available";
- private static final long serialVersionUID = 2175274929391537032L;
- private static final Logger logger = getLogger(SharingPolicyChooserPanel.class);
-
- private final JComboBox<String> permissionBox = new JComboBox<>();
- private final SortedMap<String, SharingPolicy> permissionMap = new TreeMap<>();
- private Registry registry;
-
- public SharingPolicyChooserPanel(RegistryChooserPanel registryPanel) {
- this();
- registryPanel.addObserver(new Observer<RegistryChoiceMessage>(){
- @Override
- public void notify(Observable<RegistryChoiceMessage> sender,
- RegistryChoiceMessage message) throws Exception {
- try {
- registry = message.getChosenRegistry();
- updateProfileModel();
- } catch (Exception e) {
- logger.error("problem when handling notification of registry", e);
- }
- }
- });
- }
- public SharingPolicyChooserPanel() {
- super();
- permissionBox.setPrototypeDisplayValue(LONG_STRING);
- this.setLayout(new GridBagLayout());
-
- GridBagConstraints gbc = new GridBagConstraints();
-
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.anchor = WEST;
- gbc.fill = NONE;
- this.add(new JLabel(SHARING_LABEL), gbc);
- gbc.gridx = 1;
- gbc.weightx = 1;
- gbc.fill = BOTH;
- this.add(permissionBox, gbc);
-
- permissionBox.setEditable(false);
- }
-
- private void updateProfileModel() {
- permissionMap.clear();
- permissionBox.removeAllItems();
- permissionBox.addItem(READING_MSG);
- permissionBox.setEnabled(false);
- new SharingPolicyUpdater().execute();
- }
-
- public SharingPolicy getChosenPermission() {
- if (permissionBox.getSelectedIndex() < 0)
- return null;
- return permissionMap.get(permissionBox.getSelectedItem());
- }
-
- private class SharingPolicyUpdater extends SwingWorker<String, Object> {
- @Override
- protected String doInBackground() throws Exception {
- List<SharingPolicy> sharingPolicies;
- if (registry == null)
- return null;
- try {
- sharingPolicies = registry.getPermissions();
- if (sharingPolicies == null)
- return null;
- } catch (ComponentException e) {
- logger.error("problem getting permissions", e);
- throw e;
- } catch (NullPointerException e) {
- logger.error("null pointer getting permissions", e);
- throw e;
- }
-
- for (SharingPolicy policy : sharingPolicies)
- try {
- permissionMap.put(policy.getName(), policy);
- } catch (NullPointerException e) {
- logger.error("problem getting name of policy", e);
- }
- return null;
- }
-
- @Override
- protected void done() {
- permissionBox.removeAllItems();
- try {
- get();
- for (String name : permissionMap.keySet())
- permissionBox.addItem(name);
- if (!permissionMap.isEmpty()) {
- String firstKey = permissionMap.firstKey();
- permissionBox.setSelectedItem(firstKey);
- } else {
- permissionBox.addItem(NO_PERMISSIONS_MSG);
- }
- } catch (InterruptedException | ExecutionException e) {
- logger.error(e);
- permissionBox.addItem("Unable to read permissions");
- }
- permissionBox.setEnabled(!permissionMap.isEmpty());
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentDefaults.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentDefaults.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentDefaults.java
deleted file mode 100644
index faad899..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentDefaults.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import java.io.File;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import org.apache.taverna.configuration.app.ApplicationConfiguration;
-
-/**
- * Factored out defaults location system.
- *
- * @author Donal Fellows
- */
-public class ComponentDefaults {
- public static final String REGISTRY_LIST = "REGISTRY_NAMES";
- private static final String LOCAL_NAME = "local registry";
- private static final String MYEXPERIMENT_NAME = "myExperiment";
- private static final String MYEXPERIMENT_SITE = "http://www.myexperiment.org";
- public static final String DEFAULT_REGISTRY_LIST = LOCAL_NAME + "," + MYEXPERIMENT_NAME;
-
- public static Map<String, String> getDefaultProperties() {
- // Capacity = 3; we know that this is going to have 3 entries
- Map<String, String> defaults = new LinkedHashMap<>(3);
- defaults.put(LOCAL_NAME, calculateComponentsDirectoryPath());
- defaults.put(MYEXPERIMENT_NAME, MYEXPERIMENT_SITE);
- defaults.put(REGISTRY_LIST, DEFAULT_REGISTRY_LIST);
- return defaults;
- }
-
- static ApplicationConfiguration config;//FIXME beaninject (and beanify!)
-
- public static String calculateComponentsDirectoryPath() {
- return new File(config.getApplicationHomeDir(), "components").toURI()
- .toASCIIString();
- }
-
- private ComponentDefaults() {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreference.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreference.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreference.java
deleted file mode 100644
index b7ff333..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreference.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import static org.apache.commons.lang.StringUtils.join;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.ui.preference.ComponentDefaults.REGISTRY_LIST;
-import static io.github.taverna_extras.component.ui.preference.ComponentDefaults.getDefaultProperties;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.ComponentFactory;
-import io.github.taverna_extras.component.api.Registry;
-import org.apache.taverna.configuration.AbstractConfigurable;
-import org.apache.taverna.configuration.ConfigurationManager;
-
-/**
- * @author alanrw
- */
-public class ComponentPreference extends AbstractConfigurable {
- public static final String DISPLAY_NAME = "Components";
- private final Logger logger = getLogger(ComponentPreference.class);
-
- private SortedMap<String, Registry> registryMap = new TreeMap<>();
- private ComponentFactory factory;
-
- public ComponentPreference(ConfigurationManager cm, ComponentFactory factory) {
- super(cm);
- this.factory = factory;
- updateRegistryMap();
- }
-
- private void updateRegistryMap() {
- registryMap.clear();
-
- for (String key : getRegistryKeys()) {
- String value = super.getProperty(key);
- try {
- registryMap.put(key, factory.getRegistry(new URL(
- value)));
- } catch (MalformedURLException e) {
- logger.error("bogus url (" + value
- + ") in configuration file", e);
- } catch (ComponentException e) {
- logger.error("failed to construct registry handle for "
- + value, e);
- }
- }
- }
-
- private String[] getRegistryKeys() {
- String registryNamesConcatenated = super.getProperty(REGISTRY_LIST);
- if (registryNamesConcatenated == null)
- return getDefaultPropertyMap().keySet().toArray(new String[]{});
- return registryNamesConcatenated.split(",");
- }
-
- @Override
- public String getFilePrefix() {
- return "Component";
- }
-
- @Override
- public String getUUID() {
- return "2317A297-2AE0-42B5-86DC-99C9B7C0524A";
- }
-
- /**
- * @return the registryMap
- */
- public SortedMap<String, Registry> getRegistryMap() {
- return registryMap;
- }
-
- public String getRegistryName(URL registryBase) {
- // Trim trailing '/' characters to ensure match.
- String base = registryBase.toString();
- while (base.endsWith("/"))
- base = base.substring(0, base.length() - 1);
-
- for (Entry<String, Registry> entry : registryMap.entrySet())
- if (entry.getValue().getRegistryBaseString().equals(base))
- return entry.getKey();
- return base;
- }
-
- public void setRegistryMap(SortedMap<String, Registry> registries) {
- registryMap.clear();
- registryMap.putAll(registries);
- super.clear();
- List<String> keyList = new ArrayList<>();
- for (Entry<String, Registry> entry : registryMap.entrySet()) {
- String key = entry.getKey();
- keyList.add(key);
- super.setProperty(key, entry.getValue().getRegistryBaseString());
- }
- Collections.sort(keyList);
- String registryNamesConcatenated = join(keyList, ",");
- super.setProperty(REGISTRY_LIST, registryNamesConcatenated);
- }
-
- @Override
- public Map<String, String> getDefaultPropertyMap() {
- return getDefaultProperties();
- }
-
- @Override
- public String getDisplayName() {
- return DISPLAY_NAME;
- }
-
- @Override
- public String getCategory() {
- return "general";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferencePanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferencePanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferencePanel.java
deleted file mode 100644
index 4677c0c..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferencePanel.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import static java.awt.GridBagConstraints.BOTH;
-import static java.awt.GridBagConstraints.CENTER;
-import static java.awt.GridBagConstraints.HORIZONTAL;
-import static java.awt.GridBagConstraints.WEST;
-import static javax.swing.JOptionPane.ERROR_MESSAGE;
-import static javax.swing.JOptionPane.showMessageDialog;
-import static javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN;
-import static javax.swing.ListSelectionModel.SINGLE_SELECTION;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.ui.util.Utils.URL_PATTERN;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.io.File;
-import java.awt.event.MouseEvent;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import javax.swing.AbstractAction;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.border.EmptyBorder;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.ComponentFactory;
-import io.github.taverna_extras.component.api.Registry;
-import org.apache.taverna.lang.ui.DeselectingButton;
-import org.apache.taverna.lang.ui.ValidatingUserInputDialog;
-import org.apache.taverna.workbench.helper.Helper;
-
-public class ComponentPreferencePanel extends JPanel {
- private static final String BAD_URL_MESSAGE = "Invalid URL";
- private static final String SET_URL_MESSAGE = "Set the URL of the profile";
- private static final String HELP_LABEL = "Help";
- private static final String RESET_LABEL = "Reset";
- private static final String APPLY_LABEL = "Apply";
- private static final String ADD_REMOTE_TITLE = "Add Remote Component Registry";
- private static final String ADD_LOCAL_TITLE = "Add Local Component Registry";
- private static final String ADD_REMOTE_LABEL = "Add remote registry";
- private static final String ADD_LOCAL_LABEL = "Add local registry";
- private static final String REMOVE_LABEL = "Remove registry";
- private static final String TITLE = "Component registry management";
- private static final String VALIDATION_MESSAGE = "Set the registry name";
- private static final String EXCEPTION_MESSAGE = "Unable to access registry at ";
- private static final String EXCEPTION_TITLE = "Component registry problem";
- private static final String INVALID_NAME = "Invalid registry name";
- private static final String DUPLICATE = "Duplicate registry name";
- private static final long serialVersionUID = 1310173658718093383L;
-
- private final Logger logger = getLogger(ComponentPreferencePanel.class);
-
- private ComponentFactory factory;
- private ComponentPreference prefs;
- private RegistryTableModel tableModel = new RegistryTableModel();
-
- @SuppressWarnings("serial")
- private JTable registryTable = new JTable(tableModel) {
- @Override
- public String getToolTipText(MouseEvent me) {
- int row = rowAtPoint(me.getPoint());
- if (row >= 0)
- return tableModel.getRowTooltipText(row);
- return super.getToolTipText(me);
- }
- };
-
- public ComponentPreferencePanel(ComponentFactory componentFactory,
- ComponentPreference preferences) {
- super(new GridBagLayout());
- factory = componentFactory;
- prefs = preferences;
-
- GridBagConstraints gbc = new GridBagConstraints();
-
- // Title describing what kind of settings we are configuring here
- JTextArea descriptionText = new JTextArea(TITLE);
- descriptionText.setLineWrap(true);
- descriptionText.setWrapStyleWord(true);
- descriptionText.setEditable(false);
- descriptionText.setFocusable(false);
- descriptionText.setBorder(new EmptyBorder(10, 10, 10, 10));
- gbc.anchor = WEST;
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.gridwidth = 1;
- gbc.weightx = 1.0;
- gbc.weighty = 0.0;
- gbc.fill = HORIZONTAL;
- add(descriptionText, gbc);
-
- gbc.gridy++;
- gbc.insets = new Insets(10, 0, 0, 0);
-
- registryTable.getColumnModel().getColumn(0).setPreferredWidth(20);
- registryTable.setAutoResizeMode(AUTO_RESIZE_LAST_COLUMN);
- registryTable.setSelectionMode(SINGLE_SELECTION);
- JScrollPane scrollPane = new JScrollPane(registryTable);
- // registryTable.setFillsViewportHeight(true);
-
- gbc.weighty = 1.0;
- gbc.fill = BOTH;
-
- add(scrollPane, gbc);
-
- // Add buttons panel
- gbc.gridx = 0;
- gbc.gridy++;
- gbc.weightx = 0.0;
- gbc.weighty = 0.0;
- gbc.gridwidth = 1;
- gbc.fill = HORIZONTAL;
- gbc.anchor = CENTER;
- gbc.insets = new Insets(10, 0, 0, 0);
- add(createRegistryButtonPanel(), gbc);
-
- // Add buttons panel
- gbc.gridx = 0;
- gbc.gridy++;
- gbc.weightx = 0.0;
- gbc.weighty = 0.0;
- gbc.gridwidth = 1;
- gbc.fill = HORIZONTAL;
- gbc.anchor = CENTER;
- gbc.insets = new Insets(10, 0, 0, 0);
- add(createButtonPanel(), gbc);
-
- setFields();
- }
-
- /**
- * Create the buttons for managing the list of registries.
- * @return
- */
- @SuppressWarnings("serial")
- private Component createRegistryButtonPanel() {
- JPanel panel = new JPanel();
- panel.add(new DeselectingButton(new AbstractAction(REMOVE_LABEL) {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- remove();
- }
- }));
- panel.add(new DeselectingButton(new AbstractAction(ADD_LOCAL_LABEL) {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- addLocal();
- }
- }));
- panel.add(new DeselectingButton(new AbstractAction(ADD_REMOTE_LABEL) {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- addRemote();
- }
- }));
- return panel;
- }
-
- /**
- * Create the panel to contain the buttons
- *
- * @return
- */
- @SuppressWarnings("serial")
- private JPanel createButtonPanel() {
- final JPanel panel = new JPanel();
- panel.add(new DeselectingButton(new AbstractAction(HELP_LABEL) {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- Helper.showHelp(panel);
- }
- }));
- panel.add(new DeselectingButton(new AbstractAction(RESET_LABEL) {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- setFields();
- }
- }));
- panel.add(new DeselectingButton(new AbstractAction(APPLY_LABEL) {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- applySettings();
- setFields();
- }
- }));
- return panel;
- }
-
- void remove() {
- int selectedRow = registryTable.getSelectedRow();
- if (selectedRow != -1)
- tableModel.removeRow(selectedRow);
- }
-
- void addLocal() {
- // Run the GUI
- LocalRegistryPanel inputPanel = new LocalRegistryPanel();
- ValidatingUserInputDialog vuid = new ValidatingUserInputDialog(
- ADD_LOCAL_TITLE, inputPanel);
- vuid.addTextComponentValidation(inputPanel.getRegistryNameField(),
- VALIDATION_MESSAGE, tableModel.getRegistryMap().keySet(),
- DUPLICATE, "[\\p{L}\\p{Digit}_.]+", INVALID_NAME);
- vuid.setSize(new Dimension(400, 250));
- if (!vuid.show(ComponentPreferencePanel.this))
- return;
-
- // Add the local registry
- String location = inputPanel.getLocationField().getText();
- File newDir = new File(location);
- try {
- tableModel.insertRegistry(inputPanel.getRegistryNameField()
- .getText(), getLocalRegistry(newDir));
- } catch (MalformedURLException e) {
- logger.error("bad url provided by user", e);
- showMessageDialog(null, EXCEPTION_MESSAGE + location,
- EXCEPTION_TITLE, ERROR_MESSAGE);
- } catch (ComponentException e) {
- logger.error("problem creating local registry", e);
- showMessageDialog(null, EXCEPTION_MESSAGE + location,
- EXCEPTION_TITLE, ERROR_MESSAGE);
- }
- }
-
- void addRemote() {
- RemoteRegistryPanel inputPanel = new RemoteRegistryPanel();
- ValidatingUserInputDialog vuid = new ValidatingUserInputDialog(
- ADD_REMOTE_TITLE, inputPanel);
- vuid.addTextComponentValidation(inputPanel.getRegistryNameField(),
- VALIDATION_MESSAGE, tableModel.getRegistryMap().keySet(),
- DUPLICATE, "[\\p{L}\\p{Digit}_.]+", INVALID_NAME);
- vuid.addTextComponentValidation(inputPanel.getLocationField(),
- SET_URL_MESSAGE, null, "", URL_PATTERN, BAD_URL_MESSAGE);
- vuid.setSize(new Dimension(400, 250));
- if (!vuid.show(ComponentPreferencePanel.this))
- return;
-
- String location = inputPanel.getLocationField().getText();
- try {
- tableModel.insertRegistry(inputPanel.getRegistryNameField()
- .getText(), getRemoteRegistry(location));
- } catch (MalformedURLException e) {
- logger.error("bad url provided by user", e);
- showMessageDialog(null, EXCEPTION_MESSAGE + location,
- EXCEPTION_TITLE, ERROR_MESSAGE);
- } catch (ComponentException e) {
- showMessageDialog(null, EXCEPTION_MESSAGE + location,
- EXCEPTION_TITLE, ERROR_MESSAGE);
- logger.error("problem creating remote registry", e);
- }
- }
-
- Registry getLocalRegistry(File location) throws ComponentException,
- MalformedURLException {
- return factory.getRegistry(location.toURI().toURL());
- }
-
- Registry getRemoteRegistry(String location) throws MalformedURLException,
- ComponentException {
- URL url = new URL(location);
- if (url.getProtocol() == null || url.getProtocol().equals("file"))
- throw new MalformedURLException(
- "may not use relative or local URLs for locating registry");
- return factory.getRegistry(url);
- }
-
- private void applySettings() {
- prefs.setRegistryMap(tableModel.getRegistryMap());
- }
-
- private void setFields() {
- tableModel.setRegistryMap(prefs.getRegistryMap());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferenceUIFactory.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferenceUIFactory.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferenceUIFactory.java
deleted file mode 100644
index 03ae030..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/ComponentPreferenceUIFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import javax.swing.JPanel;
-import org.apache.taverna.configuration.Configurable;
-import org.apache.taverna.configuration.ConfigurationUIFactory;
-
-/**
- * @author alanrw
- */
-public class ComponentPreferenceUIFactory implements ConfigurationUIFactory {
- public static final String DISPLAY_NAME = "Components";
-
- private JPanel configPanel;//FIXME beaninject
- private ComponentPreference prefs;// FIXME beaninject
-
- public ComponentPreferenceUIFactory() {
- super();
- }
-
- public void setConfigPanel(JPanel configPanel) {
- this.configPanel = configPanel;
- }
-
- public void setPreferences(ComponentPreference pref) {
- this.prefs = pref;
- }
-
- @Override
- public boolean canHandle(String uuid) {
- return uuid.equals(prefs.getUUID());
- }
-
- @Override
- public Configurable getConfigurable() {
- return prefs;
- }
-
- @Override
- public JPanel getConfigurationPanel() {
- return configPanel;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/LocalRegistryPanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/LocalRegistryPanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/LocalRegistryPanel.java
deleted file mode 100644
index b9ba05e..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/LocalRegistryPanel.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import static java.awt.GridBagConstraints.HORIZONTAL;
-import static java.awt.GridBagConstraints.NONE;
-import static java.awt.GridBagConstraints.WEST;
-import static javax.swing.JFileChooser.APPROVE_OPTION;
-import static javax.swing.JFileChooser.DIRECTORIES_ONLY;
-import static org.apache.log4j.Logger.getLogger;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.io.IOException;
-
-import javax.swing.AbstractAction;
-import javax.swing.JFileChooser;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-import javax.swing.border.EmptyBorder;
-
-import org.apache.log4j.Logger;
-import org.apache.taverna.lang.ui.DeselectingButton;
-
-/**
- * @author alanrw
- *
- */
-public class LocalRegistryPanel extends JPanel {
- private static final String BROWSE_LABEL = "Browse";
- private static final String LOCATION_LABEL = "Location:";
- private static final String NAME_LABEL = "Name:";
- private static final long serialVersionUID = 732945735813617327L;
-
- private final Logger logger = getLogger(LocalRegistryPanel.class);
-
- private JTextField registryNameField = new JTextField(20);
- private JTextField locationField = new JTextField(20);
-
- public LocalRegistryPanel() {
- super(new GridBagLayout());
-
- setBorder(new EmptyBorder(10, 10, 10, 10));
-
- GridBagConstraints constraints = new GridBagConstraints();
-
- constraints.anchor = WEST;
- constraints.gridx = 0;
- constraints.gridy = 0;
- constraints.ipadx = 20;
- add(new JLabel(NAME_LABEL), constraints);
-
- constraints.gridx = 1;
- constraints.gridwidth = 2;
- constraints.ipadx = 0;
- constraints.weightx = 1d;
- constraints.fill = HORIZONTAL;
- add(registryNameField, constraints);
-
- constraints.gridy++;
- constraints.gridx = 0;
- constraints.ipadx = 20;
- constraints.fill = NONE;
- add(new JLabel(LOCATION_LABEL), constraints);
-
- constraints.gridx = 1;
- constraints.gridwidth = 2;
- constraints.ipadx = 0;
- constraints.weightx = 1d;
- constraints.fill = HORIZONTAL;
- add(locationField, constraints);
-
- constraints.gridy++;
- constraints.gridx = 0;
- constraints.ipadx = 20;
- constraints.fill = NONE;
- add(new DeselectingButton(new AbstractAction(BROWSE_LABEL) {
- private static final long serialVersionUID = -8676803966947261009L;
-
- @Override
- public void actionPerformed(ActionEvent arg0) {
- pickDirectory();
- }
- }), constraints);
- }
-
- private void pickDirectory() {
- JFileChooser chooser = new JFileChooser();
- chooser.setFileSelectionMode(DIRECTORIES_ONLY);
- int returnVal = chooser.showOpenDialog(LocalRegistryPanel.this);
- try {
- if (returnVal == APPROVE_OPTION)
- locationField.setText(chooser.getSelectedFile()
- .getCanonicalPath());
- } catch (IOException e) {
- logger.error("unexpected filesystem problem", e);
- }
- }
-
- /**
- * @return the registryNameField
- */
- public JTextField getRegistryNameField() {
- return registryNameField;
- }
-
- /**
- * @return the locationField
- */
- public JTextField getLocationField() {
- return locationField;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RegistryTableModel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RegistryTableModel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RegistryTableModel.java
deleted file mode 100644
index c3b5f04..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RegistryTableModel.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import static java.lang.String.format;
-
-import java.util.Map.Entry;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import javax.swing.table.DefaultTableModel;
-
-import io.github.taverna_extras.component.api.Registry;
-
-/**
- * @author alanrw
- *
- */
-public class RegistryTableModel extends DefaultTableModel {
- private static final long serialVersionUID = -7789666945764974370L;
- private SortedMap<String, Registry> registryMap = new TreeMap<String, Registry>();
-
- public RegistryTableModel() {
- super(new String[] { "Registry name", "Registry location" }, 0);
- }
-
- public void setRegistryMap(SortedMap<String, Registry> registries) {
- registryMap.clear();
- registryMap.putAll(registries);
- updateRows();
- }
-
- public void updateRows() {
- super.setRowCount(0);
- for (Entry<String, Registry> entry : registryMap.entrySet())
- super.addRow(new Object[] { entry.getKey(),
- entry.getValue().getRegistryBaseString() });
- }
-
- @Override
- public boolean isCellEditable(int row, int column) {
- return false;
- }
-
- public String getRowTooltipText(int row) {
- Registry registry = registryMap.get(getValueAt(row, 0));
- return format("This is a %s registry.", registry.getRegistryTypeName());
- }
-
- @Override
- public void removeRow(int row) {
- String key = (String) getValueAt(row, 0);
- registryMap.remove(key);
- super.removeRow(row);
- }
-
- public void insertRegistry(String name, Registry newRegistry) {
- registryMap.put(name, newRegistry);
- updateRows();
- }
-
- /**
- * @return the registryMap
- */
- public SortedMap<String, Registry> getRegistryMap() {
- return registryMap;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RemoteRegistryPanel.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RemoteRegistryPanel.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RemoteRegistryPanel.java
deleted file mode 100644
index 1f98933..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/preference/RemoteRegistryPanel.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.preference;
-
-import static java.awt.GridBagConstraints.HORIZONTAL;
-import static java.awt.GridBagConstraints.NONE;
-import static java.awt.GridBagConstraints.WEST;
-
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-import javax.swing.border.EmptyBorder;
-
-/**
- * @author alanrw
- *
- */
-public class RemoteRegistryPanel extends JPanel {
- private static final String LOCATION_LABEL = "Location:";
- private static final String NAME_LABEL = "Name:";
- private static final long serialVersionUID = 8833815753329010062L;
-
- private JTextField registryNameField = new JTextField(20);
- private JTextField locationField = new JTextField(20);
-
- public RemoteRegistryPanel() {
- super(new GridBagLayout());
-
- setBorder(new EmptyBorder(10, 10, 10, 10));
-
- GridBagConstraints constraints = new GridBagConstraints();
-
- constraints.anchor = WEST;
- constraints.gridx = 0;
- constraints.gridy = 0;
- constraints.ipadx = 20;
- add(new JLabel(NAME_LABEL), constraints);
-
- constraints.gridx = 1;
- constraints.gridwidth = 2;
- constraints.ipadx = 0;
- constraints.weightx = 1d;
- constraints.fill = HORIZONTAL;
- add(registryNameField, constraints);
-
- constraints.gridy++;
- constraints.gridx = 0;
- constraints.ipadx = 20;
- constraints.fill = NONE;
- add(new JLabel(LOCATION_LABEL), constraints);
-
- constraints.gridx = 1;
- constraints.gridwidth = 2;
- constraints.ipadx = 0;
- constraints.weightx = 1d;
- constraints.fill = HORIZONTAL;
- add(locationField, constraints);
- }
-
- /**
- * @return the registryNameField
- */
- public JTextField getRegistryNameField() {
- return registryNameField;
- }
-
- /**
- * @return the locationField
- */
- public JTextField getLocationField() {
- return locationField;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceDesc.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceDesc.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceDesc.java
deleted file mode 100644
index 03b2eda..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceDesc.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.serviceprovider;
-
-import static java.util.Arrays.asList;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.COMPONENT_NAME;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.COMPONENT_VERSION;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.FAMILY_NAME;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.REGISTRY_BASE;
-import static io.github.taverna_extras.component.ui.ComponentConstants.ACTIVITY_URI;
-
-import java.net.URI;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.swing.Icon;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.ComponentFactory;
-import io.github.taverna_extras.component.api.Version;
-import io.github.taverna_extras.component.api.Version.ID;
-import io.github.taverna_extras.component.ui.preference.ComponentPreference;
-
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.taverna.servicedescriptions.ServiceDescription;
-
-public class ComponentServiceDesc extends ServiceDescription {
- private static Logger logger = getLogger(ComponentServiceDesc.class);
-
- private Version.ID identification;
- private final ComponentPreference preference;
- private final ComponentFactory factory;
- private final ComponentServiceIcon iconProvider;
-
- public ComponentServiceDesc(ComponentPreference preference,
- ComponentFactory factory, ComponentServiceIcon iconProvider,
- Version.ID identification) {
- this.preference = preference;
- this.factory = factory;
- this.identification = identification;
- this.iconProvider = iconProvider;
- }
-
- /**
- * The configuration bean which is to be used for configuring the
- * instantiated activity. This is built from the component identifier.
- */
- @Override
- public Configuration getActivityConfiguration() {
- Configuration config = new Configuration();
- installActivityConfiguration(config);
- return config;
- }
-
- /**
- * Make the given activity be configured to be using the component that this
- * class identifies.
- */
- public void installActivityConfiguration(Activity activity) {
- installActivityConfiguration(activity.getConfiguration());
- }
-
- /**
- * Update the given configuration to have the fields for the component that
- * this class identifies.
- */
- public void installActivityConfiguration(Configuration config) {
- ObjectNode c = config.getJsonAsObjectNode();
- ID id = getIdentification();
- c.put(REGISTRY_BASE, id.getRegistryBase().toExternalForm());
- c.put(FAMILY_NAME, id.getFamilyName());
- c.put(COMPONENT_NAME, id.getComponentName());
- c.put(COMPONENT_VERSION, id.getComponentVersion());
- config.setJson(c);
- }
-
- /**
- * An icon to represent this service description in the service palette.
- */
- @Override
- public Icon getIcon() {
- return iconProvider.getIcon();
- }
-
- /**
- * The display name that will be shown in service palette and will be used
- * as a template for processor name when added to workflow.
- */
- @Override
- public String getName() {
- return getIdentification().getComponentName();
- }
-
- /**
- * The path to this service description in the service palette. Folders will
- * be created for each element of the returned path.
- */
- @Override
- public List<String> getPath() {
- return asList("Components",
- preference.getRegistryName(identification.getRegistryBase()),
- identification.getFamilyName());
- }
-
- /**
- * Returns a list of data values uniquely identifying this component
- * description (i.e., no duplicates).
- */
- @Override
- protected List<? extends Object> getIdentifyingData() {
- return Arrays.asList(identification.getRegistryBase(),
- identification.getFamilyName(),
- identification.getComponentName());
- }
-
- @Override
- public String toString() {
- return "Component " + getName();
- }
-
- /**
- * @return the identification
- */
- public Version.ID getIdentification() {
- return identification;
- }
-
- /**
- * @param identification
- * the identification to set
- */
- public void setIdentification(Version.ID identification) {
- this.identification = identification;
- }
-
- public URL getHelpURL() {
- try {
- return factory.getVersion(getIdentification()).getHelpURL();
- } catch (ComponentException e) {
- logger.error(
- "failed to get component in order to determine its help URL",
- e);
- return null;
- }
- }
-
- @Override
- public URI getActivityType() {
- return ACTIVITY_URI;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceIcon.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceIcon.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceIcon.java
deleted file mode 100644
index 16e0d5f..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceIcon.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.serviceprovider;
-
-import static io.github.taverna_extras.component.ui.serviceprovider.Service.COMPONENT_ACTIVITY_URI;
-
-import java.net.URI;
-
-import javax.swing.Icon;
-import javax.swing.ImageIcon;
-import org.apache.taverna.workbench.activityicons.ActivityIconSPI;
-
-public class ComponentServiceIcon implements ActivityIconSPI {
- private static class Init {
- private static Icon icon = new ImageIcon(
- ComponentServiceIcon.class.getResource("/brick.png"));
- }
-
- @Override
- public int canProvideIconScore(URI activityType) {
- if (activityType.equals(COMPONENT_ACTIVITY_URI))
- return DEFAULT_ICON + 1;
- return NO_ICON;
- }
-
- @Override
- public Icon getIcon(URI activityType) {
- return Init.icon;
- }
-
- public Icon getIcon() {
- return Init.icon;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProvider.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProvider.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProvider.java
deleted file mode 100644
index d5350d0..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProvider.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.serviceprovider;
-
-import static java.util.Arrays.asList;
-import static javax.swing.JOptionPane.OK_CANCEL_OPTION;
-import static javax.swing.JOptionPane.OK_OPTION;
-import static javax.swing.JOptionPane.showConfirmDialog;
-import static org.apache.log4j.Logger.getLogger;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.FAMILY_NAME;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.REGISTRY_BASE;
-import static io.github.taverna_extras.component.ui.ComponentConstants.ACTIVITY_URI;
-
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.SortedMap;
-
-import javax.swing.Icon;
-
-import org.apache.log4j.Logger;
-import io.github.taverna_extras.component.api.Component;
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.ComponentFactory;
-import io.github.taverna_extras.component.api.Family;
-import io.github.taverna_extras.component.api.Registry;
-import io.github.taverna_extras.component.api.Version;
-import io.github.taverna_extras.component.ui.panel.RegistryAndFamilyChooserPanel;
-import io.github.taverna_extras.component.ui.preference.ComponentPreference;
-import io.github.taverna_extras.component.ui.util.Utils;
-
-import org.apache.taverna.scufl2.api.common.Visitor;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.taverna.servicedescriptions.AbstractConfigurableServiceProvider;
-import org.apache.taverna.servicedescriptions.CustomizedConfigurePanelProvider;
-import org.apache.taverna.servicedescriptions.ServiceDescriptionProvider;
-
-public class ComponentServiceProvider extends
- AbstractConfigurableServiceProvider implements
- CustomizedConfigurePanelProvider {
- static final URI providerId = URI
- .create("http://taverna.sf.net/2012/service-provider/component");
- private static Logger logger = getLogger(ComponentServiceProvider.class);
-
- private final ComponentFactory factory;
- private final ComponentPreference prefs;
- private final ComponentServiceIcon iconProvider;
- private final Utils utils;
-
- public ComponentServiceProvider(ComponentFactory factory,
- ComponentPreference prefs, ComponentServiceIcon iconProvider,
- Utils utils) {
- super(makeConfig(null, null));
- this.factory = factory;
- this.prefs = prefs;
- this.iconProvider = iconProvider;
- this.utils = utils;
- }
-
- private static class Conf {
- URL registryBase;
- String familyName;
-
- Conf(Configuration config) throws MalformedURLException {
- ObjectNode node = config.getJsonAsObjectNode();
- JsonNode item = node.get(REGISTRY_BASE);
- if (item != null && !item.isNull())
- registryBase = URI.create(item.textValue()).toURL();
- item = node.get(FAMILY_NAME);
- if (item != null && !item.isNull())
- familyName = item.textValue();
- }
- }
-
- /**
- * Do the actual search for services. Return using the callBack parameter.
- */
- @Override
- public void findServiceDescriptionsAsync(
- FindServiceDescriptionsCallBack callBack) {
- Conf config;
-
- Registry registry;
- try {
- config = new Conf(getConfiguration());
- registry = factory.getRegistry(config.registryBase);
- } catch (ComponentException | MalformedURLException e) {
- logger.error("failed to get registry API", e);
- callBack.fail("Unable to read components", e);
- return;
- }
-
- try {
- List<ComponentServiceDesc> results = new ArrayList<>();
- for (Family family : registry.getComponentFamilies()) {
- // TODO get check on family name in there
- if (family.getName().equals(config.familyName))
- for (Component component : family.getComponents())
- try {
- SortedMap<Integer, Version> versions = component
- .getComponentVersionMap();
- ComponentServiceDesc newDesc = new ComponentServiceDesc(
- prefs, factory, iconProvider, versions.get(
- versions.lastKey()).getID());
- results.add(newDesc);
- } catch (Exception e) {
- logger.error("problem getting service descriptor",
- e);
- }
- callBack.partialResults(results);
- callBack.finished();
- }
- } catch (ComponentException e) {
- logger.error("problem querying registry", e);
- callBack.fail("Unable to read components", e);
- }
- }
-
- /**
- * Icon for service provider
- */
- @Override
- public Icon getIcon() {
- return iconProvider.getIcon();
- }
-
- /**
- * Name of service provider, appears in right click for 'Remove service
- * provider'
- */
- @Override
- public String getName() {
- return "Component service";
- }
-
- @Override
- public String toString() {
- return getName();
- }
-
- @Override
- public String getId() {
- return providerId.toASCIIString();
- }
-
- @Override
- protected List<? extends Object> getIdentifyingData() {
- try {
- Conf config = new Conf(getConfiguration());
- return asList(config.registryBase.toString(), config.familyName);
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public void createCustomizedConfigurePanel(
- CustomizedConfigureCallBack callBack) {
- RegistryAndFamilyChooserPanel panel = new RegistryAndFamilyChooserPanel(prefs);
-
- if (showConfirmDialog(null, panel, "Component family import",
- OK_CANCEL_OPTION) != OK_OPTION)
- return;
-
- Registry registry = panel.getChosenRegistry();
- Family family = panel.getChosenFamily();
- if (registry == null || family == null)
- return;
- callBack.newProviderConfiguration(makeConfig(
- registry.getRegistryBaseString(), family.getName()));
- }
-
- private static Configuration makeConfig(String registryUrl,
- String familyName) {
- ObjectNode cfg = JsonNodeFactory.instance.objectNode();
- cfg.put(REGISTRY_BASE, registryUrl);
- cfg.put(FAMILY_NAME, familyName);
- Configuration conf = new Configuration();
- conf.setJson(cfg);
- conf.setType(providerId);
- return conf;
- }
-
- @Override
- public ServiceDescriptionProvider newInstance() {
- return new ComponentServiceProvider(factory, prefs, iconProvider, utils);
- }
-
- @Override
- public URI getType() {
- return ACTIVITY_URI;
- }
-
- @Override
- public void setType(URI type) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean accept(Visitor visitor) {
- // TODO Auto-generated method stub
- return false;
- }
-
- public void refreshProvidedComponent(Version.ID ident) {
- try {
- utils.refreshComponentServiceProvider(new ComponentServiceProviderConfig(
- ident).getConfiguration());
- } catch (Exception e) {
- logger.error("Unable to refresh service panel", e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProviderConfig.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProviderConfig.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProviderConfig.java
deleted file mode 100644
index 72b7458..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/ComponentServiceProviderConfig.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.serviceprovider;
-
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.FAMILY_NAME;
-import static io.github.taverna_extras.component.api.config.ComponentPropertyNames.REGISTRY_BASE;
-import static io.github.taverna_extras.component.ui.serviceprovider.ComponentServiceProvider.providerId;
-
-import java.net.URL;
-
-import io.github.taverna_extras.component.api.Family;
-import io.github.taverna_extras.component.api.Version;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-
-public class ComponentServiceProviderConfig {
- private URL registryBase;
- private String familyName;
-
- public ComponentServiceProviderConfig() {
- }
-
- public ComponentServiceProviderConfig(Family family) {
- registryBase = family.getComponentRegistry().getRegistryBase();
- familyName = family.getName();
- }
-
- public ComponentServiceProviderConfig(Version.ID ident) {
- registryBase = ident.getRegistryBase();
- familyName = ident.getFamilyName();
- }
-
- /**
- * @return the registryBase
- */
- public URL getRegistryBase() {
- return registryBase;
- }
-
- /**
- * @param registryBase
- * the registryBase to set
- */
- public void setRegistryBase(URL registryBase) {
- this.registryBase = registryBase;
- }
-
- /**
- * @return the familyName
- */
- public String getFamilyName() {
- return familyName;
- }
-
- /**
- * @param familyName
- * the familyName to set
- */
- public void setFamilyName(String familyName) {
- this.familyName = familyName;
- }
-
- public Configuration getConfiguration() {
- Configuration c = new Configuration();
- c.getJsonAsObjectNode().put(REGISTRY_BASE,
- registryBase.toExternalForm());
- c.getJsonAsObjectNode().put(FAMILY_NAME, familyName);
- c.setType(providerId);
- return c;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/Service.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/Service.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/Service.java
deleted file mode 100644
index 32c606e..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/serviceprovider/Service.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.serviceprovider;
-
-import java.net.URI;
-
-public interface Service {
- URI COMPONENT_ACTIVITY_URI = URI
- .create("http://ns.taverna.org.uk/2010/activity/component");
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/util/ComponentFileType.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/util/ComponentFileType.java b/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/util/ComponentFileType.java
deleted file mode 100644
index ba4801e..0000000
--- a/taverna-component-activity-ui/src/main/java/org/apache/taverna/component/ui/util/ComponentFileType.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-* 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 io.github.taverna_extras.component.ui.util;
-
-import org.apache.taverna.workbench.file.FileType;
-
-/**
- * The type of components.
- *
- * @author alanrw
- */
-public class ComponentFileType extends FileType {
- // TODO Change mimetype for sculf2?
- static final String COMPONENT_MIMETYPE = "application/vnd.taverna.component";
-
- private ComponentFileType() {
- }
-
- @Override
- public String getDescription() {
- return "Taverna component";
- }
-
- // Not really used
- @Override
- public String getExtension() {
- return "component";
- }
-
- @Override
- public String getMimeType() {
- return COMPONENT_MIMETYPE;
- }
-}