| /** |
| * |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| */ |
| package org.eclipse.osbp.preferences |
| |
| import org.eclipse.core.runtime.IBundleGroupProvider |
| import org.eclipse.core.runtime.Platform |
| |
| /** |
| * <plugins> dependencies for the OSBP product bundle <code>*.product</code> file. |
| */ |
| public class ProductFileFeatures extends ProductFileBase { |
| |
| new(ProductConfigurationPrefs prefs) { |
| super(prefs) |
| } |
| |
| new(ProductConfigurationPrefs prefs, String... jndiNames) { |
| super(prefs, jndiNames) |
| } |
| |
| override getDeprecatedAsString() { |
| } |
| |
| /** |
| * Creates the list of used plugins for the .product file in the product targetbundle. |
| */ |
| override getRequiredAsString() { |
| prepareSerialized( |
| ''' |
| ${{DATA_BASE_VENDOR_FEATURES}} |
| «runtimeSoftwareFeature» |
| ''') |
| } |
| |
| override getRecommendedAsString() { |
| } |
| |
| override prepareSerialized(String asString) { |
| removeDuplicates(asString |
| .replace( |
| "${{DATA_BASE_VENDOR_FEATURES}}", |
| EnumDatabaseVendor.getDatabaseFeatures(dataBaseVendors) |
| ) |
| ) |
| } |
| |
| |
| def private String getRuntimeSoftwareFeature(){ |
| var netOsbee = false |
| var orgOsbee = false |
| for (IBundleGroupProvider provider : Platform.getBundleGroupProviders()) { |
| for (feature : provider.getBundleGroups()) { |
| var featureId = feature.getIdentifier() |
| if (featureId !== null) { |
| if (featureId.startsWith("net.osbee")) { |
| netOsbee = true |
| } else if (featureId.startsWith("org.osbee")) { |
| orgOsbee = true |
| } |
| } |
| } |
| } |
| if (netOsbee){ |
| return "\t<feature id=\"net.osbee.softwarefactory.runtime.feature\"/>" |
| } else if (orgOsbee){ |
| return "\t<feature id=\"org.osbee.softwarefactory.runtime.feature\"/>" |
| } |
| return "\t<feature id=\"org.eclipse.osbp.softwarefactory.runtime.feature\"/>"; |
| } |
| } |
| |
| |