You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:47:32 UTC
[sling-org-apache-sling-jcr-contentloader] 29/36: SLING-1236 : Scala Scripting: Make all types of the script arguments visible on the Scala side. Apply patch from Michael Dürig
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.jcr.contentloader-2.0.6
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-contentloader.git
commit 49ef37198011f35bc45ae0eccaaae8574862c48c
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Dec 24 09:09:54 2009 +0000
SLING-1236 : Scala Scripting: Make all types of the script arguments visible on the Scala side. Apply patch from Michael Dürig
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader@893712 13f79535-47bb-0310-9956-ffa450edef68
---
.../internal/ContentLoaderService.java | 9 +++---
.../internal/DefaultContentCreator.java | 33 ++++++++++++++++++++--
2 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java b/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
index 0ce1039..24d6e35 100644
--- a/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
+++ b/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
@@ -35,7 +35,6 @@ import javax.jcr.Session;
import javax.jcr.Value;
import javax.jcr.lock.LockException;
-import org.apache.jackrabbit.util.Text;
import org.apache.sling.commons.mime.MimeTypeService;
import org.apache.sling.engine.SlingSettingsService;
import org.apache.sling.jcr.api.SlingRepository;
@@ -79,7 +78,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
private static final String PROP_PASSWORD_DIGEST_ALGORITHM = "password.digest.algorithm";
private static final String DEFAULT_PASSWORD_DIGEST_ALGORITHM = "sha1";
private String passwordDigestAlgoritm = null;
-
+
/** default log */
final Logger log = LoggerFactory.getLogger(getClass());
@@ -221,7 +220,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
try {
StringBuffer password = new StringBuffer();
password.append("{").append(passwordDigestAlgoritm).append("}");
- password.append(Text.digest(passwordDigestAlgoritm,
+ password.append(DefaultContentCreator.digest(passwordDigestAlgoritm,
pwd.getBytes("UTF-8")));
return password.toString();
} catch (NoSuchAlgorithmException e) {
@@ -230,7 +229,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
throw new IllegalArgumentException(e.toString());
}
}
-
+
// ---------- SCR Integration ---------------------------------------------
/** Activates this component, called by SCR before registering as a service */
@@ -247,7 +246,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
} else {
passwordDigestAlgoritm = DEFAULT_PASSWORD_DIGEST_ALGORITHM;
}
-
+
Session session = null;
try {
session = this.getSession();
diff --git a/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java b/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
index 18a483c..c4d7876 100644
--- a/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
+++ b/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
@@ -20,6 +20,7 @@ package org.apache.sling.jcr.contentloader.internal;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.Principal;
import java.text.ParseException;
@@ -57,7 +58,6 @@ import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.api.security.user.Group;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
-import org.apache.jackrabbit.util.Text;
import org.apache.sling.jcr.base.util.AccessControlUtil;
/**
@@ -780,7 +780,7 @@ public class DefaultContentCreator implements ContentCreator {
*/
protected String hashPath(String item) throws RepositoryException {
try {
- String hash = Text.digest("sha1", INSTANCE_SEED + item, "UTF-8");
+ String hash = digest("sha1", (INSTANCE_SEED + item).getBytes("UTF-8"));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < STORAGE_LEVELS; i++) {
sb.append(hash, i * 2, (i * 2) + 2).append("/");
@@ -906,4 +906,33 @@ public class DefaultContentCreator implements ContentCreator {
accessControlManager.setPolicy(resourcePath, updatedAcl);
}
+
+ /**
+ * used for the md5
+ */
+ private static final char[] hexTable = "0123456789abcdef".toCharArray();
+
+ /**
+ * Digest the plain string using the given algorithm.
+ *
+ * @param algorithm The alogrithm for the digest. This algorithm must be
+ * supported by the MessageDigest class.
+ * @param data the data to digest with the given algorithm
+ * @return The digested plain text String represented as Hex digits.
+ * @throws java.security.NoSuchAlgorithmException if the desired algorithm is not supported by
+ * the MessageDigest class.
+ */
+ public static String digest(String algorithm, byte[] data)
+ throws NoSuchAlgorithmException {
+
+ MessageDigest md = MessageDigest.getInstance(algorithm);
+ byte[] digest = md.digest(data);
+ StringBuffer res = new StringBuffer(digest.length * 2);
+ for (int i = 0; i < digest.length; i++) {
+ byte b = digest[i];
+ res.append(hexTable[(b >> 4) & 15]);
+ res.append(hexTable[b & 15]);
+ }
+ return res.toString();
+ }
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.