blob: 2b08a06ef4c59d50a085a292511c3a0d3cfd5fdb [file] [log] [blame]
/*******************************************************************************
* <copyright>
*
* Copyright (c) 2013, 2013 SAP AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial API, implementation and documentation
*
* </copyright>
*
*******************************************************************************/
package org.eclipse.fmc.blockdiagram.editor.meta.property;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.eclipse.fmc.blockdiagram.editor.meta.profile.ISectionProvider;
import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.ui.platform.AbstractPropertySectionFilter;
/**
* Extends the AbstractPropertySectionFilter Class for Stereotype Extension
* specific subjects.
*
* @author Patrick Jahnke
*
*/
public class ProfileFilter extends AbstractPropertySectionFilter {
/**
* Check if the given PictogramElement has the possibility to add Stereotype
* Values. This will be checked in the Stereotype Extension.
*/
@Override
protected boolean accept(PictogramElement pictogramElement) {
IExtensionRegistry reg = Platform.getExtensionRegistry();
IConfigurationElement[] extensions = reg
.getConfigurationElementsFor("org.eclipse.fmc.blockdiagram.editor.meta.profile");
if (extensions.length == 1) {
ISectionProvider entry;
try {
entry = (ISectionProvider) extensions[0]
.createExecutableExtension("profileSection");
return entry.accept(pictogramElement);
} catch (CoreException e) {
e.printStackTrace();
}
}
return false;
}
}