private void processComponent(IConfigurationElement element) { if (!"component".equals(element.getName())) { // $NON-NLS-1$ Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_InvalidElementStatus + element.getName() + ", plugin=" + element.getContributor().getName())); // $NON-NLS-1$ return; } String id = element.getAttribute("id"); // $NON-NLS-1$ String name = element.getAttribute("name"); // $NON-NLS-1$ Category category = parseCategory(element); String description = parseDescription(element); String bundleId = parseBundleId(element); List<Dependency> dependencies = parseDependencies(element); if (id == null) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_InvalidIDStatus + element.getContributor().getName())); return; } else if (_extensions.containsKey(id)) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_DuplicateIDStatus + element.getContributor().getName())); return; } else if (name == null || name.length() == 0) { name = id; } ISwitchYardComponentExtension extension = new SwitchYardComponentExtension( id, name, category, element.getAttribute("scannerClass"), description, bundleId, dependencies); //$NON-NLS-1$ _extensions.put(id, extension); _extensionsByCategory.get(category).add(extension); }
private List<Dependency> parseDependencies(IConfigurationElement element) { IConfigurationElement[] dependencyElements = element.getChildren("dependency"); // $NON-NLS-1$ if (dependencyElements == null) { return Collections.emptyList(); } List<Dependency> dependencies = new ArrayList<Dependency>(dependencyElements.length); for (IConfigurationElement dependencyElement : dependencyElements) { String artifactId = parseArtifactId(dependencyElement); String groupId = parseGroupId(dependencyElement); String scope = parseScope(dependencyElement); if (artifactId == null || artifactId.length() == 0 || groupId == null || groupId.length() == 0) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_InvalidDependencyStatus + element.getContributor().getName())); continue; } dependencies.add(M2EUtils.createSwitchYardDependency(groupId, artifactId, scope)); } return dependencies; }
private void initControls() { _switchYardProject = SwitchYardProjectManager.instance().getSwitchYardProject(getProject()).createWorkingCopy(); if (_switchYardProject.needsLoading()) { BusyIndicator.showWhile( getShell().getDisplay(), new Runnable() { @Override public void run() { _switchYardProject.load(new NullProgressMonitor()); } }); } try { _ifp = ProjectFacetsManager.create(_switchYardProject.getProject()); _ifpwc = SharedWorkingCopyManager.getWorkingCopy(_ifp); _configuredRuntimes = _ifpwc.getTargetedRuntimes(); } catch (CoreException e) { Activator.getDefault().getLog().log(e.getStatus()); } _settingsGroup.setProject(_ifpwc); initTargetRuntime(); initRuntimeVersion(); initComponentsTable(); _useSwitchYardDependencyBOMCheckbox.setSelection(pomUsesSwitchYardBOM()); String errmsg = null; if (!pomDefinesSwitchYardVersion()) { _settingsGroup.setRuntimeControlEnablement(false); } else if (pomUsesSwitchYardBOM()) { if (!isSelectedRuntimeVersion2OrHigher()) { // only valid versions with BOM dependency support are 2.0+ errmsg = Messages.ProjectConfigurationWizardPage_errorMessage_bomRequiresVersion2; } } else if (!isSelectedConfigurationVersionOkForRuntime()) { String configVersion = getMajorMinorFromVersion(getRuntimeVersion().toString()); errmsg = "The Configuration Version must be " + configVersion + " or lower to work with Library Version " + getRuntimeVersion().toString() + "."; } setErrorMessage(errmsg); getContainer().updateMessage(); }
private String parseArtifactId(IConfigurationElement element) { IConfigurationElement[] artifactIds = element.getChildren("artifactId"); // $NON-NLS-1$ if (artifactIds.length != 1) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_MultipleArtifactIDsStatus + element.getContributor().getName())); return null; } return artifactIds[0].getValue().trim(); }
private String parseScope(IConfigurationElement element) { IConfigurationElement[] scopes = element.getChildren("scope"); // $NON-NLS-1$ if (scopes.length == 0) { return null; } else if (scopes.length != 1) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_MultipleScopesStatus + element.getContributor().getName())); // we'll fall through and return the first element's value } String scope = scopes[0].getValue().trim(); return scope.length() == 0 ? null : scope; }
private Category parseCategory(IConfigurationElement element) { String categoryString = element.getAttribute("category"); // $NON-NLS-1$ if (categoryString == null || categoryString.length() == 0) { return Category.UNKNOWN; } try { return Category.valueOf(categoryString.toUpperCase()); } catch (Exception e) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_InvalidCategoryStatus + element.getContributor().getName() + ", id=" + element.getAttribute("id"))); // $NON-NLS-1$ //$NON-NLS-2$ } return Category.UNKNOWN; }