use of org.springsource.ide.eclipse.commons.configurator.WorkspaceConfiguratorParticipant in project eclipse-integration-commons by spring-projects.
the class ConfiguratorImporter method getInstalledBundles.
public Set<String> getInstalledBundles() {
final Set<String> installedBundles = new HashSet<String>();
Set<WorkspaceConfiguratorParticipant> participants = ParticipantExtensionPointReader.getParticipants();
for (final WorkspaceConfiguratorParticipant configurator : participants) {
SafeRunner.run(new ISafeRunnable() {
public void handleException(Throwable exception) {
// logged by super class
}
public void run() throws Exception {
List<ConfigurableExtension> extensions = configurator.detectExtensions(ConfiguratorImporter.this, new NullProgressMonitor());
for (ConfigurableExtension extension : extensions) {
if (extension.getBundleId() != null) {
installedBundles.add(extension.getBundleId() + ".feature.group");
}
}
}
});
}
return installedBundles;
}
use of org.springsource.ide.eclipse.commons.configurator.WorkspaceConfiguratorParticipant in project eclipse-integration-commons by spring-projects.
the class ConfiguratorImporter method detectExtensions.
public List<ConfigurableExtension> detectExtensions(final IProgressMonitor monitor) {
final List<ConfigurableExtension> result = new ArrayList<ConfigurableExtension>();
Set<WorkspaceConfiguratorParticipant> participants = ParticipantExtensionPointReader.getParticipants();
for (final WorkspaceConfiguratorParticipant participant : participants) {
SafeRunner.run(new ISafeRunnable() {
public void handleException(Throwable exception) {
// logged by super class
}
public void run() throws Exception {
List<ConfigurableExtension> extensions = participant.detectExtensions(ConfiguratorImporter.this, monitor);
result.addAll(extensions);
}
});
}
Set<InstallableItem> installableItems = ParticipantExtensionPointReader.getInstallableItems();
for (final InstallableItem item : installableItems) {
boolean found = false;
for (ConfigurableExtension extension : result) {
if (extension.getId().equals(item.getId())) {
extension.setInstallableItem(item);
found = true;
}
}
if (!found) {
for (final WorkspaceConfiguratorParticipant participant : participants) {
if (participant.getId().equals(item.getConfiguratorId())) {
final AtomicBoolean added = new AtomicBoolean(false);
SafeRunner.run(new ISafeRunnable() {
public void handleException(Throwable exception) {
// logged by super class
}
public void run() throws Exception {
ConfigurableExtension extension = participant.createExtension(item, monitor);
if (extension != null) {
result.add(extension);
added.set(true);
}
}
});
if (added.get()) {
break;
}
}
}
}
}
return result;
}
use of org.springsource.ide.eclipse.commons.configurator.WorkspaceConfiguratorParticipant in project eclipse-integration-commons by spring-projects.
the class ParticipantDescriptor method createConfigurator.
public WorkspaceConfiguratorParticipant createConfigurator() {
if (element != null) {
try {
Object object = WorkbenchPlugin.createExtension(element, ATTR_CLASS);
if (object instanceof WorkspaceConfiguratorParticipant) {
WorkspaceConfiguratorParticipant participant = (WorkspaceConfiguratorParticipant) object;
participant.setId(getId());
return participant;
}
} catch (CoreException e) {
// ignore extension
}
}
return null;
}
Aggregations