use of org.apache.jackrabbit.oak.spi.security.SecurityConfiguration in project jackrabbit-oak by apache.
the class ContentRepositoryImpl method createDescriptors.
@SuppressWarnings("deprecation")
@Nonnull
protected GenericDescriptors createDescriptors() {
final ValueFactory valueFactory = new SimpleValueFactory();
final Value trueValue = valueFactory.createValue(true);
final Value falseValue = valueFactory.createValue(false);
GenericDescriptors gd = new GenericDescriptors(baseDescriptors).put(IDENTIFIER_STABILITY, valueFactory.createValue(Repository.IDENTIFIER_STABILITY_METHOD_DURATION), true, true).put(LEVEL_1_SUPPORTED, trueValue, true, true).put(LEVEL_2_SUPPORTED, trueValue, true, true).put(OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_AUTOCREATED_DEFINITIONS_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_INHERITANCE, valueFactory.createValue(NODE_TYPE_MANAGEMENT_INHERITANCE_SINGLE), true, true).put(NODE_TYPE_MANAGEMENT_MULTIPLE_BINARY_PROPERTIES_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_MULTIVALUED_PROPERTIES_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_ORDERABLE_CHILD_NODES_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_OVERRIDES_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_PRIMARY_ITEM_NAME_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_PROPERTY_TYPES, new Value[] { valueFactory.createValue(PropertyType.TYPENAME_STRING), valueFactory.createValue(PropertyType.TYPENAME_BINARY), valueFactory.createValue(PropertyType.TYPENAME_LONG), valueFactory.createValue(PropertyType.TYPENAME_LONG), valueFactory.createValue(PropertyType.TYPENAME_DOUBLE), valueFactory.createValue(PropertyType.TYPENAME_DECIMAL), valueFactory.createValue(PropertyType.TYPENAME_DATE), valueFactory.createValue(PropertyType.TYPENAME_BOOLEAN), valueFactory.createValue(PropertyType.TYPENAME_NAME), valueFactory.createValue(PropertyType.TYPENAME_PATH), valueFactory.createValue(PropertyType.TYPENAME_REFERENCE), valueFactory.createValue(PropertyType.TYPENAME_WEAKREFERENCE), valueFactory.createValue(PropertyType.TYPENAME_URI), valueFactory.createValue(PropertyType.TYPENAME_UNDEFINED) }, false, true).put(NODE_TYPE_MANAGEMENT_RESIDUAL_DEFINITIONS_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, falseValue, true, true).put(NODE_TYPE_MANAGEMENT_VALUE_CONSTRAINTS_SUPPORTED, trueValue, true, true).put(NODE_TYPE_MANAGEMENT_UPDATE_IN_USE_SUPORTED, falseValue, true, true).put(OPTION_ACCESS_CONTROL_SUPPORTED, trueValue, true, true).put(OPTION_JOURNALED_OBSERVATION_SUPPORTED, falseValue, true, true).put(OPTION_LIFECYCLE_SUPPORTED, falseValue, true, true).put(OPTION_LOCKING_SUPPORTED, falseValue, true, true).put(OPTION_OBSERVATION_SUPPORTED, trueValue, true, true).put(OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED, trueValue, true, true).put(OPTION_QUERY_SQL_SUPPORTED, falseValue, true, true).put(OPTION_RETENTION_SUPPORTED, falseValue, true, true).put(OPTION_SHAREABLE_NODES_SUPPORTED, falseValue, true, true).put(OPTION_SIMPLE_VERSIONING_SUPPORTED, falseValue, true, true).put(OPTION_TRANSACTIONS_SUPPORTED, falseValue, true, true).put(OPTION_UNFILED_CONTENT_SUPPORTED, falseValue, true, true).put(OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, trueValue, true, true).put(OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, trueValue, true, true).put(OPTION_VERSIONING_SUPPORTED, trueValue, true, true).put(OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, falseValue, true, true).put(OPTION_XML_EXPORT_SUPPORTED, falseValue, true, true).put(OPTION_XML_IMPORT_SUPPORTED, falseValue, true, true).put(OPTION_ACTIVITIES_SUPPORTED, falseValue, true, true).put(OPTION_BASELINES_SUPPORTED, falseValue, true, true).put(QUERY_FULL_TEXT_SEARCH_SUPPORTED, falseValue, true, true).put(QUERY_JOINS, valueFactory.createValue(QUERY_JOINS_NONE), true, true).put(QUERY_LANGUAGES, new Value[0], false, true).put(QUERY_STORED_QUERIES_SUPPORTED, falseValue, true, true).put(QUERY_XPATH_DOC_ORDER, falseValue, true, true).put(QUERY_XPATH_POS_INDEX, falseValue, true, true).put(REP_NAME_DESC, valueFactory.createValue("Apache Jackrabbit Oak"), true, true).put(REP_VERSION_DESC, valueFactory.createValue(OakVersion.getVersion()), true, true).put(REP_VENDOR_DESC, valueFactory.createValue("The Apache Software Foundation"), true, true).put(REP_VENDOR_URL_DESC, valueFactory.createValue("http://www.apache.org/"), true, true).put(SPEC_NAME_DESC, valueFactory.createValue("Content Repository for Java Technology API"), true, true).put(SPEC_VERSION_DESC, valueFactory.createValue("2.0"), true, true).put(WRITE_SUPPORTED, trueValue, true, true);
// jackrabbit API specific descriptors
gd.put(JackrabbitRepository.OPTION_USER_MANAGEMENT_SUPPORTED, falseValue, true, false);
gd.put(JackrabbitRepository.OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED, falseValue, true, false);
gd.put(JackrabbitRepository.OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED, falseValue, true, false);
for (SecurityConfiguration sc : securityProvider.getConfigurations()) {
String name = sc.getName();
if (UserConfiguration.NAME.equals(name)) {
gd.put(JackrabbitRepository.OPTION_USER_MANAGEMENT_SUPPORTED, trueValue, true, false);
} else if (PrincipalConfiguration.NAME.equals(name)) {
gd.put(JackrabbitRepository.OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED, trueValue, true, false);
} else if (PrivilegeConfiguration.NAME.equals(name)) {
gd.put(JackrabbitRepository.OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED, trueValue, true, false);
}
}
return gd;
}
use of org.apache.jackrabbit.oak.spi.security.SecurityConfiguration in project jackrabbit-oak by apache.
the class ConfigurationInitializer method initializeConfigurations.
static void initializeConfigurations(@Nonnull SecurityProvider securityProvider, @Nonnull CompositeConfiguration configuration, @Nonnull ConfigurationParameters parameters) {
configuration.setSecurityProvider(securityProvider);
List<? extends SecurityConfiguration> configs = configuration.getConfigurations();
for (SecurityConfiguration config : configs) {
initializeConfiguration(securityProvider, config, parameters);
}
}
use of org.apache.jackrabbit.oak.spi.security.SecurityConfiguration in project jackrabbit-oak by apache.
the class SecurityProviderImplTest method testUnBindAuthenticationConfiguration.
@Test
public void testUnBindAuthenticationConfiguration() {
AuthenticationConfiguration ac = Mockito.mock(AuthenticationConfiguration.class);
securityProvider.bindAuthenticationConfiguration(ac);
securityProvider.unbindAuthenticationConfiguration(ac);
assertNull(securityProvider.getConfiguration(AuthenticationConfiguration.class));
for (SecurityConfiguration sc : securityProvider.getConfigurations()) {
if (sc instanceof AuthenticationConfiguration) {
fail();
}
}
}
use of org.apache.jackrabbit.oak.spi.security.SecurityConfiguration in project jackrabbit-oak by apache.
the class SecurityProviderImplTest method testBindAuthenticationConfiguration.
@Test
public void testBindAuthenticationConfiguration() {
AuthenticationConfiguration ac = Mockito.mock(AuthenticationConfiguration.class);
securityProvider.bindAuthenticationConfiguration(ac);
assertSame(ac, securityProvider.getConfiguration(AuthenticationConfiguration.class));
for (SecurityConfiguration sc : securityProvider.getConfigurations()) {
if (sc instanceof AuthenticationConfiguration) {
assertSame(ac, sc);
}
}
}
use of org.apache.jackrabbit.oak.spi.security.SecurityConfiguration in project jackrabbit-oak by apache.
the class SecurityProviderImplTest method testUnBindUserConfiguration.
@Test
public void testUnBindUserConfiguration() {
UserConfiguration uc = Mockito.mock(UserConfiguration.class);
securityProvider.bindUserConfiguration(uc);
securityProvider.unbindUserConfiguration(uc);
assertNull(securityProvider.getConfiguration(UserConfiguration.class));
for (SecurityConfiguration sc : securityProvider.getConfigurations()) {
if (sc instanceof UserConfiguration) {
fail();
}
}
}
Aggregations