You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2017/02/14 08:39:22 UTC
svn commit: r1782926 - in
/felix/trunk/osgi-r7/configurator/src/main/java/org/osgi: ./ service/
service/configurator/ service/configurator/ConfiguratorConstants.java
service/configurator/package-info.java
Author: cziegeler
Date: Tue Feb 14 08:39:22 2017
New Revision: 1782926
URL: http://svn.apache.org/viewvc?rev=1782926&view=rev
Log:
Add OSGi Configurator API (git commit c221eaa in OSGi repo)
Added:
felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/
felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/
felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/
felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java (with props)
felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java (with props)
Added: felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java?rev=1782926&view=auto
==============================================================================
--- felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java (added)
+++ felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java Tue Feb 14 08:39:22 2017
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) OSGi Alliance (2017). All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.service.configurator;
+
+/**
+ * Defines standard constants for the Configurator services.
+ *
+ * @author $Id$
+ */
+public final class ConfiguratorConstants {
+ private ConfiguratorConstants() {
+ // non-instantiable
+ }
+
+ /**
+ * Framework property specifying initial configurations to be applied by the
+ * Configurator on startup.
+ * <p>
+ * If the value of this property starts with a '{' (ignoring leading
+ * whitespace) it is interpreted as JSON and directly feed into the
+ * Configurator.
+ * <p>
+ * Otherwise the value is interpreted as a comma separated list of URLs
+ * pointing to JSON documents.
+ */
+ public static final String CONFIGURATOR_INITIAL = "configurator.initial";
+
+ /**
+ * Framework property specifying the directory to be used by the
+ * Configurator to store binary files.
+ * <p>
+ * If a value is specified, the Configurator will write all binaries to the
+ * given directory. Therefore the Configurator bundle needs read and write
+ * access to this directory.
+ * <p>
+ * If this property is not specified, the Configurator will store all binary
+ * files in its bundle private data area.
+ */
+ public static final String CONFIGURATOR_BINARIES = "configurator.binaries";
+
+ /**
+ * Prefix to mark properties as input for the Configurator when processing a
+ * configuration.
+ */
+ public static final String PROPERTY_PREFIX = ":configurator:";
+
+ /**
+ * Global property in the configuration JSON specifying the version of the
+ * JSON format.
+ * <p>
+ * Currently only version {@code 1} is defined for the JSON format and
+ * therefore the only allowed value is {@code 1} for this property. If this
+ * property is not specified, {@code 1} is assumed.
+ */
+ public static final String PROPERTY_JSON_VERSION = PROPERTY_PREFIX
+ + "json-version";
+
+ /**
+ * Configuration property holding the optional information about the
+ * environments where the configuration applies.
+ * <p>
+ * The value of this property must either be of type {@code String} or {code
+ * String[]}.
+ */
+ public static final String PROPERTY_ENVIRONMENTS = PROPERTY_PREFIX
+ + "environments";
+
+ /**
+ * Configuration property for the configuration ranking.
+ * <p>
+ * The value of this property must be convertible to a number.
+ */
+ public static final String PROPERTY_RANKING = PROPERTY_PREFIX
+ + "ranking";
+
+ /**
+ * Configuration property for the configuration policy.
+ * <p>
+ * Allowed values are {@link #POLICY_DEFAULT} and {@link #POLICY_FORCE}
+ *
+ * @see #POLICY_DEFAULT
+ * @see #POLICY_FORCE
+ */
+ public static final String PROPERTY_POLICY = PROPERTY_PREFIX
+ + "policy";
+
+ /**
+ * Value for defining the default policy.
+ *
+ * @see #PROPERTY_POLICY
+ */
+ public static final String POLICY_DEFAULT = "default";
+
+ /**
+ * Value for defining the force policy.
+ *
+ * @see #PROPERTY_POLICY
+ */
+ public static final String POLICY_FORCE = "force";
+
+ /**
+ * Key in the JSON that denotes the section containing all configurations.
+ */
+ public static final String KEY_CONFIGURATIONS = "configurations";
+}
Propchange: felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/ConfiguratorConstants.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Added: felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java?rev=1782926&view=auto
==============================================================================
--- felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java (added)
+++ felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java Tue Feb 14 08:39:22 2017
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) OSGi Alliance (2017). All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Configurator Package Version 1.1.
+ * <p>
+ * Bundles wishing to use this package must list the package in the
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
+ * <p>
+ * Example import for consumers using the API in this package:
+ * <p>
+ * {@code Import-Package: org.osgi.service.configurator; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code Import-Package: org.osgi.service.configurator; version="[1.0,1.1)"}
+ *
+ * @author $Id$
+ */
+
+@Version("1.0")
+package org.osgi.service.configurator;
+
+import org.osgi.annotation.versioning.Version;
+
Propchange: felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/osgi-r7/configurator/src/main/java/org/osgi/service/configurator/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url