You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2016/04/19 10:49:24 UTC
svn commit: r1739867 - in /jackrabbit/oak/trunk/oak-auth-external/src:
main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/
test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/
Author: angela
Date: Tue Apr 19 08:49:24 2016
New Revision: 1739867
URL: http://svn.apache.org/viewvc?rev=1739867&view=rev
Log:
OAK-4231 : DefaultSyncContext creates Value of type String for Binary|Inputstream Object
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java
Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java?rev=1739867&r1=1739866&r2=1739867&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java Tue Apr 19 08:49:24 2016
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.spi.security.authentication.external.basic;
import java.io.ByteArrayInputStream;
+import java.io.InputStream;
import java.math.BigDecimal;
import java.security.Principal;
import java.util.ArrayList;
@@ -670,6 +671,10 @@ public class DefaultSyncContext implemen
} else if (v instanceof byte[]) {
Binary bin = valueFactory.createBinary(new ByteArrayInputStream((byte[])v));
return valueFactory.createValue(bin);
+ } else if (v instanceof Binary) {
+ return valueFactory.createValue((Binary) v);
+ } else if (v instanceof InputStream) {
+ return valueFactory.createValue((InputStream) v);
} else if (v instanceof char[]) {
return valueFactory.createValue(new String((char[]) v));
} else {
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java?rev=1739867&r1=1739866&r2=1739867&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java Tue Apr 19 08:49:24 2016
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authentication.external.basic;
+import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -24,7 +25,10 @@ import java.util.UUID;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import javax.jcr.Binary;
+import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.Value;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@@ -34,8 +38,6 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.AbstractSecurityTest;
-import org.apache.jackrabbit.oak.namepath.NamePathMapper;
-import org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef;
@@ -64,13 +66,14 @@ public class DefaultSyncContextTest exte
@Before
public void before() throws Exception {
super.before();
- syncCtx = new DefaultSyncContext(config, idp, getUserManager(root), new ValueFactoryImpl(root, NamePathMapper.DEFAULT));
+ syncCtx = new DefaultSyncContext(config, idp, getUserManager(root), getValueFactory());
}
@After
public void after() throws Exception {
try {
syncCtx.close();
+ root.refresh();
UserManager umgr = getUserManager(root);
Iterator<ExternalIdentity> ids = Iterators.concat(idp.listGroups(), idp.listUsers());
while (ids.hasNext()) {
@@ -342,6 +345,36 @@ public class DefaultSyncContextTest exte
}
/**
+ * @see <a href="https://issues.apache.org/jira/browse/OAK-4231">OAK-4231</a>
+ */
+ @Test
+ public void testCreateValueFromBinary() throws Exception {
+ byte[] bytes = new byte[]{'a', 'b'};
+ ByteArrayInputStream is = new ByteArrayInputStream(bytes);
+ Binary binary = getValueFactory().createBinary(is);
+
+ Value v = syncCtx.createValue(binary);
+ assertNotNull(v);
+ assertEquals(PropertyType.BINARY, v.getType());
+ assertEquals(binary, v.getBinary());
+ }
+
+ /**
+ * @see <a href="https://issues.apache.org/jira/browse/OAK-4231">OAK-4231</a>
+ */
+ @Test
+ public void testCreateValueFromInputStream() throws Exception {
+ byte[] bytes = new byte[]{'a', 'b'};
+ ByteArrayInputStream is = new ByteArrayInputStream(bytes);
+ Binary binary = getValueFactory().createBinary(is);
+
+ Value v = syncCtx.createValue(is);
+ assertNotNull(v);
+ assertEquals(PropertyType.BINARY, v.getType());
+ assertEquals(binary, v.getBinary());
+ }
+
+ /**
* ExternalIdentity implementation that is neither user nor group.
*/
private final class TestExternalIdentity implements ExternalIdentity {