blob: 371d960b916bbe66708356d87bcb8bd97c6ec87d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Bosch Software Innovations GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
* The Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Bosch Software Innovations GmbH - Please refer to git log
*
*******************************************************************************/
package org.eclipse.vorto.api.common.project;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
public class WizardUtil {
public static IConfigurationElement getWizardConfigurationElement(
String wizardId) {
IExtensionRegistry er = Platform.getExtensionRegistry();
IConfigurationElement[] elems = er
.getConfigurationElementsFor("org.eclipse.ui.newWizards");
for (IConfigurationElement configurationElement : elems) {
IConfigurationElement config = getConfigFor(configurationElement,
wizardId);
if (config != null) {
return config;
}
}
return null;
}
private static IConfigurationElement getConfigFor(
IConfigurationElement elem, String wizardId) {
for (String attribute : elem.getAttributeNames()) {
String value = elem.getAttribute(attribute);
if ("id".equals(attribute) && wizardId.equals(value)) {
return elem;
}
}
IConfigurationElement[] elemsc = elem.getChildren();
for (IConfigurationElement childElem : elemsc) {
IConfigurationElement configurationElement = getConfigFor(
childElem, wizardId);
if (configurationElement != null) {
return configurationElement;
}
}
return null;
}
}