From a08c81f677247ec9eb7721a86250c663065e9930 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 22 Jun 2016 22:12:03 +0000
Subject: [PATCH] OPENDJ-2871 Add support for sub-resources and inheritance
---
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/JsonConstantPropertyMapper.java | 46 ++++++++++++++++++++++------------------------
1 files changed, 22 insertions(+), 24 deletions(-)
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/JsonConstantPropertyMapper.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/JsonConstantPropertyMapper.java
index 230d2b7..f171ad8 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/JsonConstantPropertyMapper.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/JsonConstantPropertyMapper.java
@@ -22,6 +22,7 @@
import static org.forgerock.opendj.rest2ldap.Utils.newBadRequestException;
import static org.forgerock.opendj.rest2ldap.Utils.toFilter;
import static org.forgerock.opendj.rest2ldap.Utils.toLowerCase;
+import static org.forgerock.util.promise.Promises.newResultPromise;
import java.util.Collections;
import java.util.List;
@@ -37,7 +38,6 @@
import org.forgerock.opendj.ldap.Filter;
import org.forgerock.opendj.ldap.Modification;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.Promises;
/**
* An property mapper which maps a single JSON attribute to a fixed value.
@@ -55,26 +55,26 @@
}
@Override
- Promise<List<Attribute>, ResourceException> create(final Connection connection, final JsonPointer path,
- final JsonValue v) {
+ Promise<List<Attribute>, ResourceException> create(final Connection connection,
+ final Resource resource, final JsonPointer path,
+ final JsonValue v) {
if (!isNullOrEmpty(v) && !v.getObject().equals(value.getObject())) {
- return Promises.<List<Attribute>, ResourceException> newExceptionPromise(
- newBadRequestException(ERR_CREATION_READ_ONLY_FIELD.get(path)));
+ return newBadRequestException(ERR_CREATION_READ_ONLY_FIELD.get(path)).asPromise();
} else {
- return Promises.newResultPromise(Collections.<Attribute> emptyList());
+ return newResultPromise(Collections.<Attribute> emptyList());
}
}
@Override
- void getLdapAttributes(final Connection connection, final JsonPointer path, final JsonPointer subPath,
- final Set<String> ldapAttributes) {
+ void getLdapAttributes(final JsonPointer path, final JsonPointer subPath, final Set<String> ldapAttributes) {
// Nothing to do.
}
@Override
- Promise<Filter, ResourceException> getLdapFilter(final Connection connection, final JsonPointer path,
- final JsonPointer subPath, final FilterType type,
- final String operator, final Object valueAssertion) {
+ Promise<Filter, ResourceException> getLdapFilter(final Connection connection, final Resource resource,
+ final JsonPointer path, final JsonPointer subPath,
+ final FilterType type, final String operator,
+ final Object valueAssertion) {
final Filter filter;
final JsonValue subValue = value.get(subPath);
if (subValue == null) {
@@ -107,29 +107,28 @@
// This property mapper is a candidate but it does not match.
filter = alwaysFalse();
}
- return Promises.newResultPromise(filter);
+ return newResultPromise(filter);
}
@Override
- Promise<List<Modification>, ResourceException> patch(final Connection connection, final JsonPointer path,
- final PatchOperation operation) {
- return Promises.<List<Modification>, ResourceException> newExceptionPromise(
- newBadRequestException(ERR_PATCH_READ_ONLY_FIELD.get(path)));
+ Promise<List<Modification>, ResourceException> patch(final Connection connection, final Resource resource,
+ final JsonPointer path, final PatchOperation operation) {
+ return newBadRequestException(ERR_PATCH_READ_ONLY_FIELD.get(path)).asPromise();
}
@Override
- Promise<JsonValue, ResourceException> read(final Connection connection, final JsonPointer path, final Entry e) {
- return Promises.newResultPromise(value.copy());
+ Promise<JsonValue, ResourceException> read(final Connection connection, final Resource resource,
+ final JsonPointer path, final Entry e) {
+ return newResultPromise(value.copy());
}
@Override
- Promise<List<Modification>, ResourceException> update(
- final Connection connection, final JsonPointer path, final Entry e, final JsonValue v) {
+ Promise<List<Modification>, ResourceException> update(final Connection connection, final Resource resource,
+ final JsonPointer path, final Entry e, final JsonValue v) {
if (!isNullOrEmpty(v) && !v.getObject().equals(value.getObject())) {
- return Promises.<List<Modification>, ResourceException> newExceptionPromise(
- newBadRequestException(ERR_MODIFY_READ_ONLY_FIELD.get("update", path)));
+ return newBadRequestException(ERR_MODIFY_READ_ONLY_FIELD.get("update", path)).asPromise();
} else {
- return Promises.newResultPromise(Collections.<Modification> emptyList());
+ return newResultPromise(Collections.<Modification>emptyList());
}
}
@@ -149,5 +148,4 @@
return alwaysFalse(); // Not supported.
}
}
-
}
--
Gitblit v1.10.0