private void doMerge(Component sourceComponent, Component targetComponent) { if (sourceComponent == null) { showMessageDialog(null, "Unable to determine source component", "Component Merge Problem", ERROR_MESSAGE); return; } else if (targetComponent == null) { showMessageDialog(null, "Unable to determine target component", "Component Merge Problem", ERROR_MESSAGE); return; } else if (sourceComponent.equals(targetComponent)) { showMessageDialog(null, "Cannot merge a component with itself", "Component Merge Problem", ERROR_MESSAGE); return; } try { Version sourceVersion = sourceComponent.getComponentVersionMap() .get(sourceComponent.getComponentVersionMap().lastKey()); targetComponent.addVersionBasedOn(sourceVersion.getDataflow(), "Merge from " + sourceComponent.getFamily().getName() + ":" + sourceComponent.getName()); } catch (RegistryException e) { logger.error("failed to merge component", e); } }
@Override public ID getID() { Component c = getComponent(); return new ComponentVersionIdentification(c.getRegistry() .getRegistryBase(), c.getFamily().getName(), c.getName(), getVersionNumber()); } }
@Override public boolean mostlyEqualTo(net.sf.taverna.t2.component.api.Component c) { return mostlyEqualTo(new ComponentVersionIdentification(c.getRegistry(), c.getFamily(), c, 0)); } }
private Version.ID findComponentVersionWithWorkflow(Element wfElement) throws RegistryException { String resourceUri = wfElement.getAttributeValue("resource"); for (Family f : this.getComponentFamilies()) for (Component c : f.getComponents()) for (Version cv : c.getComponentVersionMap().values()) if (cv instanceof MyExperimentComponentVersion) if (((MyExperimentComponentVersion) cv) .hasWorkflowUri(resourceUri)) return new ComponentVersionIdentification( this.getRegistryBase(), f.getName(), c.getName(), cv.getVersionNumber()); return null; }
@Override protected final void internalRemoveComponent(Component component) throws RegistryException { File componentDir = new File(componentFamilyDir, component.getName()); try { deleteDirectory(componentDir); } catch (IOException e) { throw new RegistryException("Unable to delete component", e); } } }
String componentName = sourceComponent.getName(); boolean alreadyUsed = targetFamily.getComponent(componentName) != null; if (alreadyUsed) { } else { Version sourceVersion = sourceComponent .getComponentVersionMap().get( sourceComponent.getComponentVersionMap() .lastKey()); Version targetVersion = targetFamily.createComponentBasedOn(componentName, sourceComponent.getDescription(), sourceVersion.getDataflow()); try {
@Override protected String doInBackground() throws Exception { Component chosenComponent = componentChooserPanel .getChosenComponent(); if (chosenComponent != null) for (Version version : chosenComponent.getComponentVersionMap() .values()) { Integer versionNumber = version.getVersionNumber(); componentVersionMap.put(versionNumber, version); } return null; }
@Test public void testAddVersionBasedOn() throws Exception { assertNotNull(component.getComponentVersion(1)); assertNull(component.getComponentVersion(2)); Version componentVersion = component.addVersionBasedOn(dataflow, "Some description"); assertNotNull(componentVersion); assertEquals(component, componentVersion.getComponent()); assertEquals(2, componentVersion.getVersionNumber().intValue()); assertEquals(dataflow.getIdentifier(), componentVersion.getDataflow() .getIdentifier()); }
private Version getVersion(URL registryBase, String familyName, String componentName, Integer componentVersion) throws RegistryException { return getRegistry(registryBase).getComponentFamily(familyName) .getComponent(componentName) .getComponentVersion(componentVersion); }
if (answer != OK_OPTION) throw new SaveException("Saving cancelled"); newVersion = component.addVersionBasedOn(dataflow, descriptionArea.getText());
@Test public void testGetComponentURL() throws Exception { assertNotNull(component.getComponentURL()); }
private Version.ID findComponentVersionWithWorkflow(Element wfElement) throws RegistryException { String resourceUri = wfElement.getAttributeValue("resource"); for (Family f : this.getComponentFamilies()) for (Component c : f.getComponents()) for (Version cv : c.getComponentVersionMap().values()) if (cv instanceof MyExperimentComponentVersion) if (((MyExperimentComponentVersion) cv) .hasWorkflowUri(resourceUri)) return new ComponentVersionIdentification( this.getRegistryBase(), f.getName(), c.getName(), cv.getVersionNumber()); return null; }
@Override protected final void internalRemoveComponent(Component component) throws RegistryException { File componentDir = new File(componentFamilyDir, component.getName()); try { deleteDirectory(componentDir); } catch (IOException e) { throw new RegistryException("Unable to delete component", e); } } }
private void updateComponentVersionChoice() { Component component; componentVersionChoice.removeAllItems(); componentVersionChoice.setToolTipText(null); try { component = calculateComponent(configBean); } catch (RegistryException e) { logger.error("failed to get component", e); return; } SortedMap<Integer, Version> componentVersionMap = component .getComponentVersionMap(); for (Version v : componentVersionMap.values()) { componentVersionChoice.addItem(v); } componentVersionChoice.setSelectedItem(componentVersionMap .get(configBean.getComponentVersion())); updateToolTipText(); }
@Test public void testAddVersionBasedOn() throws Exception { assertNotNull(component.getComponentVersion(1)); assertNull(component.getComponentVersion(2)); Version componentVersion = component.addVersionBasedOn(dataflow, "Some description"); assertNotNull(componentVersion); assertEquals(component, componentVersion.getComponent()); assertEquals(2, componentVersion.getVersionNumber().intValue()); assertEquals(dataflow.getIdentifier(), componentVersion.getDataflow() .getIdentifier()); }
private Version getVersion(URL registryBase, String familyName, String componentName, Integer componentVersion) throws RegistryException { return getRegistry(registryBase).getComponentFamily(familyName) .getComponent(componentName) .getComponentVersion(componentVersion); }
@Override public boolean mostlyEqualTo(net.sf.taverna.t2.component.api.Component c) { return mostlyEqualTo(new ComponentVersionIdentification(c.getRegistry(), c.getFamily(), c, 0)); } }
@Test public void testGetComponentURL() throws Exception { assertNotNull(component.getComponentURL()); }
private void doReplace(Registry chosenRegistry, Family chosenFamily, boolean replaceAll, boolean rename, Component chosenComponent) { Version chosenVersion = chosenComponent.getComponentVersionMap().get( chosenComponent.getComponentVersionMap().lastKey()); Version.ID ident = new ComponentVersionIdentification( chosenRegistry.getRegistryBase(), chosenFamily.getName(), chosenComponent.getName(), chosenVersion.getVersionNumber()); ComponentActivityConfigurationBean cacb = new ComponentActivityConfigurationBean( ident); try { if (replaceAll) { Activity<?> baseActivity = selection.getActivityList().get(0); Class<?> activityClass = baseActivity.getClass(); String configString = getConfigString(baseActivity); replaceAllMatchingActivities(activityClass, cacb, configString, rename, fileManager.getCurrentDataflow()); } else replaceActivity(cacb, selection, rename, fileManager.getCurrentDataflow()); } catch (ActivityConfigurationException e) { showMessageDialog( null, "Failed to replace nested workflow with component: " + e.getMessage(), "Component Problem", ERROR_MESSAGE); } }