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:49:07 UTC
[sling-org-apache-sling-jcr-jackrabbit-usermanager] 13/24: cleanup
metatype labels
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.jcr.jackrabbit.usermanager-2.2.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-jackrabbit-usermanager.git
commit 02e241e792479076377143eadf54057337944d8f
Author: Eric Norman <en...@apache.org>
AuthorDate: Sat May 21 19:51:21 2011 +0000
cleanup metatype labels
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/jackrabbit-usermanager@1125779 13f79535-47bb-0310-9956-ffa450edef68
---
.../impl/post/AbstractAuthorizablePostServlet.java | 257 +-----------------
.../usermanager/impl/post/AbstractPostServlet.java | 293 +++++++++++++++++++++
.../impl/post/ChangeUserPasswordServlet.java | 3 +-
.../usermanager/impl/post/CreateGroupServlet.java | 3 +-
.../impl/post/DeleteAuthorizableServlet.java | 5 +-
.../usermanager/impl/post/UpdateGroupServlet.java | 3 +-
.../usermanager/impl/post/UpdateUserServlet.java | 3 +-
.../resource/AuthorizableResourceProvider.java | 2 +-
.../OSGI-INF/metatype/metatype.properties | 28 +-
9 files changed, 331 insertions(+), 266 deletions(-)
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java
index d6d743a..40f6a96 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java
@@ -17,10 +17,8 @@
package org.apache.sling.jackrabbit.usermanager.impl.post;
import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
import java.util.Calendar;
import java.util.Dictionary;
import java.util.HashMap;
@@ -34,43 +32,26 @@ import javax.jcr.Session;
import javax.jcr.Value;
import javax.jcr.ValueFactory;
import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.jackrabbit.api.security.user.Authorizable;
-import org.apache.sling.api.SlingHttpServletRequest;
-import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.SlingIOException;
import org.apache.sling.api.request.RequestParameter;
-import org.apache.sling.api.resource.ResourceNotFoundException;
-import org.apache.sling.api.resource.ResourceUtil;
-import org.apache.sling.api.servlets.HtmlResponse;
-import org.apache.sling.api.servlets.SlingAllMethodsServlet;
-import org.apache.sling.api.wrappers.SlingRequestPaths;
import org.apache.sling.commons.osgi.OsgiUtil;
import org.apache.sling.jackrabbit.usermanager.impl.resource.AuthorizableResourceProvider;
import org.apache.sling.servlets.post.Modification;
import org.apache.sling.servlets.post.SlingPostConstants;
import org.apache.sling.servlets.post.impl.helper.DateParser;
-import org.apache.sling.servlets.post.impl.helper.JSONResponse;
import org.apache.sling.servlets.post.impl.helper.RequestProperty;
import org.osgi.service.component.ComponentContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Base class for all the POST servlets for the UserManager operations
*/
public abstract class AbstractAuthorizablePostServlet extends
- SlingAllMethodsServlet {
+ AbstractPostServlet {
private static final long serialVersionUID = -5918670409789895333L;
/**
- * default log
- */
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- /**
* @scr.property values.0="EEE MMM dd yyyy HH:mm:ss 'GMT'Z"
* values.1="yyyy-MM-dd'T'HH:mm:ss.SSSZ"
* values.2="yyyy-MM-dd'T'HH:mm:ss" values.3="yyyy-MM-dd"
@@ -96,207 +77,6 @@ public abstract class AbstractAuthorizablePostServlet extends
dateParser = null;
}
- /*
- * (non-Javadoc)
- * @see
- * org.apache.sling.api.servlets.SlingAllMethodsServlet#doPost(org.apache
- * .sling.api.SlingHttpServletRequest,
- * org.apache.sling.api.SlingHttpServletResponse)
- */
- @Override
- protected void doPost(SlingHttpServletRequest request,
- SlingHttpServletResponse httpResponse) throws ServletException,
- IOException {
- // prepare the response
- HtmlResponse htmlResponse = createHtmlResponse(request);
- htmlResponse.setReferer(request.getHeader("referer"));
-
- // calculate the paths
- String path = getItemPath(request);
- htmlResponse.setPath(path);
-
- // location
- htmlResponse.setLocation(externalizePath(request, path));
-
- // parent location
- path = ResourceUtil.getParent(path);
- if (path != null) {
- htmlResponse.setParentLocation(externalizePath(request, path));
- }
-
- Session session = request.getResourceResolver().adaptTo(Session.class);
-
- final List<Modification> changes = new ArrayList<Modification>();
-
- try {
- handleOperation(request, htmlResponse, changes);
-
- // TODO: maybe handle SlingAuthorizablePostProcessor handlers here
-
- // set changes on html response
- for (Modification change : changes) {
- switch (change.getType()) {
- case MODIFY:
- htmlResponse.onModified(change.getSource());
- break;
- case DELETE:
- htmlResponse.onDeleted(change.getSource());
- break;
- case MOVE:
- htmlResponse.onMoved(change.getSource(),
- change.getDestination());
- break;
- case COPY:
- htmlResponse.onCopied(change.getSource(),
- change.getDestination());
- break;
- case CREATE:
- htmlResponse.onCreated(change.getSource());
- break;
- case ORDER:
- htmlResponse.onChange("ordered", change.getSource(),
- change.getDestination());
- break;
- }
- }
-
- if (session.hasPendingChanges()) {
- session.save();
- }
- } catch (ResourceNotFoundException rnfe) {
- htmlResponse.setStatus(HttpServletResponse.SC_NOT_FOUND,
- rnfe.getMessage());
- } catch (Throwable throwable) {
- log.debug("Exception while handling POST "
- + request.getResource().getPath() + " with "
- + getClass().getName(), throwable);
- htmlResponse.setError(throwable);
- } finally {
- try {
- if (session.hasPendingChanges()) {
- session.refresh(false);
- }
- } catch (RepositoryException e) {
- log.warn("RepositoryException in finally block: {}",
- e.getMessage(), e);
- }
- }
-
- // check for redirect URL if processing succeeded
- if (htmlResponse.isSuccessful()) {
- String redirect = getRedirectUrl(request, htmlResponse);
- if (redirect != null) {
- httpResponse.sendRedirect(redirect);
- return;
- }
- }
-
- // create a html response and send if unsuccessful or no redirect
- htmlResponse.send(httpResponse, isSetStatus(request));
- }
-
- /**
- * Creates an instance of a HtmlResponse.
- * @param req The request being serviced
- * @return a {@link org.apache.sling.servlets.post.impl.helper.JSONResponse} if any of these conditions are true:
- * <ul>
- * <li>the response content type is application/json
- * </ul>
- * or a {@link org.apache.sling.api.servlets.HtmlResponse} otherwise
- */
- protected HtmlResponse createHtmlResponse(SlingHttpServletRequest req) {
- if (JSONResponse.RESPONSE_CONTENT_TYPE.equals(req.getResponseContentType())) {
- return new JSONResponse();
- } else {
- return new HtmlResponse();
- }
- }
-
- /**
- * Extending Servlet should implement this operation to do the work
- *
- * @param request the sling http request to process
- * @param htmlResponse the response
- * @param changes
- */
- abstract protected void handleOperation(SlingHttpServletRequest request,
- HtmlResponse htmlResponse, List<Modification> changes)
- throws RepositoryException;
-
- /**
- * compute redirect URL (SLING-126)
- *
- * @param ctx the post processor
- * @return the redirect location or <code>null</code>
- */
- protected String getRedirectUrl(HttpServletRequest request, HtmlResponse ctx) {
- // redirect param has priority (but see below, magic star)
- String result = request.getParameter(SlingPostConstants.RP_REDIRECT_TO);
- if (result != null && ctx.getPath() != null) {
-
- // redirect to created/modified Resource
- int star = result.indexOf('*');
- if (star >= 0) {
- StringBuffer buf = new StringBuffer();
-
- // anything before the star
- if (star > 0) {
- buf.append(result.substring(0, star));
- }
-
- // append the name of the manipulated node
- buf.append(ResourceUtil.getName(ctx.getPath()));
-
- // anything after the star
- if (star < result.length() - 1) {
- buf.append(result.substring(star + 1));
- }
-
- // use the created path as the redirect result
- result = buf.toString();
-
- } else if (result.endsWith(SlingPostConstants.DEFAULT_CREATE_SUFFIX)) {
- // if the redirect has a trailing slash, append modified node
- // name
- result = result.concat(ResourceUtil.getName(ctx.getPath()));
- }
-
- if (log.isDebugEnabled()) {
- log.debug("Will redirect to " + result);
- }
- }
- return result;
- }
-
- protected boolean isSetStatus(SlingHttpServletRequest request) {
- String statusParam = request.getParameter(SlingPostConstants.RP_STATUS);
- if (statusParam == null) {
- log.debug(
- "getStatusMode: Parameter {} not set, assuming standard status code",
- SlingPostConstants.RP_STATUS);
- return true;
- }
-
- if (SlingPostConstants.STATUS_VALUE_BROWSER.equals(statusParam)) {
- log.debug(
- "getStatusMode: Parameter {} asks for user-friendly status code",
- SlingPostConstants.RP_STATUS);
- return false;
- }
-
- if (SlingPostConstants.STATUS_VALUE_STANDARD.equals(statusParam)) {
- log.debug(
- "getStatusMode: Parameter {} asks for standard status code",
- SlingPostConstants.RP_STATUS);
- return true;
- }
-
- log.debug(
- "getStatusMode: Parameter {} set to unknown value {}, assuming standard status code",
- SlingPostConstants.RP_STATUS);
- return true;
- }
-
// ------ The methods below are based on the private methods from the
// ModifyOperation class -----
@@ -690,41 +470,6 @@ public abstract class AbstractAuthorizablePostServlet extends
// ------ These methods were copied from AbstractSlingPostOperation ------
/**
- * Returns the path of the resource of the request as the item path.
- * <p>
- * This method may be overwritten by extension if the operation has
- * different requirements on path processing.
- */
- protected String getItemPath(SlingHttpServletRequest request) {
- return request.getResource().getPath();
- }
-
- /**
- * Returns an external form of the given path prepending the context path
- * and appending a display extension.
- *
- * @param path the path to externalize
- * @return the url
- */
- protected final String externalizePath(SlingHttpServletRequest request,
- String path) {
- StringBuffer ret = new StringBuffer();
- ret.append(SlingRequestPaths.getContextPath(request));
- ret.append(request.getResourceResolver().map(path));
-
- // append optional extension
- String ext = request.getParameter(SlingPostConstants.RP_DISPLAY_EXTENSION);
- if (ext != null && ext.length() > 0) {
- if (ext.charAt(0) != '.') {
- ret.append('.');
- }
- ret.append(ext);
- }
-
- return ret.toString();
- }
-
- /**
* Returns <code>true</code> if the <code>name</code> starts with either of
* the prefixes {@link SlingPostConstants#ITEM_PREFIX_RELATIVE_CURRENT
* <code>./</code>}, {@link SlingPostConstants#ITEM_PREFIX_RELATIVE_PARENT
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractPostServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractPostServlet.java
new file mode 100644
index 0000000..e6e0311
--- /dev/null
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractPostServlet.java
@@ -0,0 +1,293 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.sling.jackrabbit.usermanager.impl.post;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.ResourceNotFoundException;
+import org.apache.sling.api.resource.ResourceUtil;
+import org.apache.sling.api.servlets.HtmlResponse;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
+import org.apache.sling.api.wrappers.SlingRequestPaths;
+import org.apache.sling.servlets.post.Modification;
+import org.apache.sling.servlets.post.SlingPostConstants;
+import org.apache.sling.servlets.post.impl.helper.JSONResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Base class for all the POST servlets for the UserManager operations
+ */
+public abstract class AbstractPostServlet extends
+ SlingAllMethodsServlet {
+
+ private static final long serialVersionUID = 7408267654653472120L;
+
+ /**
+ * default log
+ */
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ /*
+ * (non-Javadoc)
+ * @see
+ * org.apache.sling.api.servlets.SlingAllMethodsServlet#doPost(org.apache
+ * .sling.api.SlingHttpServletRequest,
+ * org.apache.sling.api.SlingHttpServletResponse)
+ */
+ @Override
+ protected void doPost(SlingHttpServletRequest request,
+ SlingHttpServletResponse httpResponse) throws ServletException,
+ IOException {
+ // prepare the response
+ HtmlResponse htmlResponse = createHtmlResponse(request);
+ htmlResponse.setReferer(request.getHeader("referer"));
+
+ // calculate the paths
+ String path = getItemPath(request);
+ htmlResponse.setPath(path);
+
+ // location
+ htmlResponse.setLocation(externalizePath(request, path));
+
+ // parent location
+ path = ResourceUtil.getParent(path);
+ if (path != null) {
+ htmlResponse.setParentLocation(externalizePath(request, path));
+ }
+
+ Session session = request.getResourceResolver().adaptTo(Session.class);
+
+ final List<Modification> changes = new ArrayList<Modification>();
+
+ try {
+ handleOperation(request, htmlResponse, changes);
+
+ // TODO: maybe handle SlingAuthorizablePostProcessor handlers here
+
+ // set changes on html response
+ for (Modification change : changes) {
+ switch (change.getType()) {
+ case MODIFY:
+ htmlResponse.onModified(change.getSource());
+ break;
+ case DELETE:
+ htmlResponse.onDeleted(change.getSource());
+ break;
+ case MOVE:
+ htmlResponse.onMoved(change.getSource(),
+ change.getDestination());
+ break;
+ case COPY:
+ htmlResponse.onCopied(change.getSource(),
+ change.getDestination());
+ break;
+ case CREATE:
+ htmlResponse.onCreated(change.getSource());
+ break;
+ case ORDER:
+ htmlResponse.onChange("ordered", change.getSource(),
+ change.getDestination());
+ break;
+ }
+ }
+
+ if (session.hasPendingChanges()) {
+ session.save();
+ }
+ } catch (ResourceNotFoundException rnfe) {
+ htmlResponse.setStatus(HttpServletResponse.SC_NOT_FOUND,
+ rnfe.getMessage());
+ } catch (Throwable throwable) {
+ log.debug("Exception while handling POST "
+ + request.getResource().getPath() + " with "
+ + getClass().getName(), throwable);
+ htmlResponse.setError(throwable);
+ } finally {
+ try {
+ if (session.hasPendingChanges()) {
+ session.refresh(false);
+ }
+ } catch (RepositoryException e) {
+ log.warn("RepositoryException in finally block: {}",
+ e.getMessage(), e);
+ }
+ }
+
+ // check for redirect URL if processing succeeded
+ if (htmlResponse.isSuccessful()) {
+ String redirect = getRedirectUrl(request, htmlResponse);
+ if (redirect != null) {
+ httpResponse.sendRedirect(redirect);
+ return;
+ }
+ }
+
+ // create a html response and send if unsuccessful or no redirect
+ htmlResponse.send(httpResponse, isSetStatus(request));
+ }
+
+ /**
+ * Creates an instance of a HtmlResponse.
+ * @param req The request being serviced
+ * @return a {@link org.apache.sling.servlets.post.impl.helper.JSONResponse} if any of these conditions are true:
+ * <ul>
+ * <li>the response content type is application/json
+ * </ul>
+ * or a {@link org.apache.sling.api.servlets.HtmlResponse} otherwise
+ */
+ protected HtmlResponse createHtmlResponse(SlingHttpServletRequest req) {
+ if (JSONResponse.RESPONSE_CONTENT_TYPE.equals(req.getResponseContentType())) {
+ return new JSONResponse();
+ } else {
+ return new HtmlResponse();
+ }
+ }
+
+ /**
+ * Extending Servlet should implement this operation to do the work
+ *
+ * @param request the sling http request to process
+ * @param htmlResponse the response
+ * @param changes
+ */
+ abstract protected void handleOperation(SlingHttpServletRequest request,
+ HtmlResponse htmlResponse, List<Modification> changes)
+ throws RepositoryException;
+
+ /**
+ * compute redirect URL (SLING-126)
+ *
+ * @param ctx the post processor
+ * @return the redirect location or <code>null</code>
+ */
+ protected String getRedirectUrl(HttpServletRequest request, HtmlResponse ctx) {
+ // redirect param has priority (but see below, magic star)
+ String result = request.getParameter(SlingPostConstants.RP_REDIRECT_TO);
+ if (result != null && ctx.getPath() != null) {
+
+ // redirect to created/modified Resource
+ int star = result.indexOf('*');
+ if (star >= 0) {
+ StringBuffer buf = new StringBuffer();
+
+ // anything before the star
+ if (star > 0) {
+ buf.append(result.substring(0, star));
+ }
+
+ // append the name of the manipulated node
+ buf.append(ResourceUtil.getName(ctx.getPath()));
+
+ // anything after the star
+ if (star < result.length() - 1) {
+ buf.append(result.substring(star + 1));
+ }
+
+ // use the created path as the redirect result
+ result = buf.toString();
+
+ } else if (result.endsWith(SlingPostConstants.DEFAULT_CREATE_SUFFIX)) {
+ // if the redirect has a trailing slash, append modified node
+ // name
+ result = result.concat(ResourceUtil.getName(ctx.getPath()));
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("Will redirect to " + result);
+ }
+ }
+ return result;
+ }
+
+ protected boolean isSetStatus(SlingHttpServletRequest request) {
+ String statusParam = request.getParameter(SlingPostConstants.RP_STATUS);
+ if (statusParam == null) {
+ log.debug(
+ "getStatusMode: Parameter {} not set, assuming standard status code",
+ SlingPostConstants.RP_STATUS);
+ return true;
+ }
+
+ if (SlingPostConstants.STATUS_VALUE_BROWSER.equals(statusParam)) {
+ log.debug(
+ "getStatusMode: Parameter {} asks for user-friendly status code",
+ SlingPostConstants.RP_STATUS);
+ return false;
+ }
+
+ if (SlingPostConstants.STATUS_VALUE_STANDARD.equals(statusParam)) {
+ log.debug(
+ "getStatusMode: Parameter {} asks for standard status code",
+ SlingPostConstants.RP_STATUS);
+ return true;
+ }
+
+ log.debug(
+ "getStatusMode: Parameter {} set to unknown value {}, assuming standard status code",
+ SlingPostConstants.RP_STATUS);
+ return true;
+ }
+
+ // ------ These methods were copied from AbstractSlingPostOperation ------
+
+ /**
+ * Returns the path of the resource of the request as the item path.
+ * <p>
+ * This method may be overwritten by extension if the operation has
+ * different requirements on path processing.
+ */
+ protected String getItemPath(SlingHttpServletRequest request) {
+ return request.getResource().getPath();
+ }
+
+ /**
+ * Returns an external form of the given path prepending the context path
+ * and appending a display extension.
+ *
+ * @param path the path to externalize
+ * @return the url
+ */
+ protected final String externalizePath(SlingHttpServletRequest request,
+ String path) {
+ StringBuffer ret = new StringBuffer();
+ ret.append(SlingRequestPaths.getContextPath(request));
+ ret.append(request.getResourceResolver().map(path));
+
+ // append optional extension
+ String ext = request.getParameter(SlingPostConstants.RP_DISPLAY_EXTENSION);
+ if (ext != null && ext.length() > 0) {
+ if (ext.charAt(0) != '.') {
+ ret.append('.');
+ }
+ ret.append(ext);
+ }
+
+ return ret.toString();
+ }
+
+}
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/ChangeUserPasswordServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/ChangeUserPasswordServlet.java
index eb31397..b5d5dd5 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/ChangeUserPasswordServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/ChangeUserPasswordServlet.java
@@ -79,7 +79,8 @@ import org.slf4j.LoggerFactory;
* <h4>Notes</h4>
*
*
- * @scr.component immediate="true"
+ * @scr.component immediate="true" label="%changeUserPassword.post.operation.name"
+ * description="%changeUserPassword.post.operation.description"
* @scr.service interface="javax.servlet.Servlet"
* @scr.service interface="org.apache.sling.jackrabbit.usermanager.ChangeUserPassword"
* @scr.property name="sling.servlet.resourceTypes" value="sling/user"
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java
index 64fdf48..88721e1 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java
@@ -76,7 +76,8 @@ import org.apache.sling.servlets.post.SlingPostConstants;
*
* <h4>Notes</h4>
*
- * @scr.component immediate="true"
+ * @scr.component immediate="true" label="%createGroup.post.operation.name"
+ * description="%createGroup.post.operation.description"
* @scr.service interface="javax.servlet.Servlet"
* @scr.service interface="org.apache.sling.jackrabbit.usermanager.CreateGroup"
* @scr.property name="sling.servlet.resourceTypes" value="sling/groups"
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/DeleteAuthorizableServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/DeleteAuthorizableServlet.java
index 1de78f6..088197a 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/DeleteAuthorizableServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/DeleteAuthorizableServlet.java
@@ -76,7 +76,8 @@ import org.apache.sling.servlets.post.SlingPostConstants;
* </code>
*
*
- * @scr.component metatype="no" immediate="true"
+ * @scr.component immediate="true" label="%deleteAuthorizable.post.operation.name"
+ * description="%deleteAuthorizable.post.operation.description"
* @scr.service interface="javax.servlet.Servlet"
* @scr.service interface="org.apache.sling.jackrabbit.usermanager.DeleteUser"
* @scr.service interface="org.apache.sling.jackrabbit.usermanager.DeleteGroup"
@@ -86,7 +87,7 @@ import org.apache.sling.servlets.post.SlingPostConstants;
* @scr.property name="sling.servlet.methods" value="POST"
* @scr.property name="sling.servlet.selectors" value="delete"
*/
-public class DeleteAuthorizableServlet extends AbstractAuthorizablePostServlet
+public class DeleteAuthorizableServlet extends AbstractPostServlet
implements DeleteUser, DeleteGroup, DeleteAuthorizables {
private static final long serialVersionUID = 5874621724096106496L;
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java
index 461e8e7..6f36439 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java
@@ -76,7 +76,8 @@ import org.apache.sling.servlets.post.impl.helper.RequestProperty;
* curl -Fprop1=value2 -Fproperty1=value1 http://localhost:8080/system/userManager/group/testGroup.update.html
* </code>
*
- * @scr.component metatype="no" immediate="true"
+ * @scr.component immediate="true" label="%updateGroup.post.operation.name"
+ * description="%updateGroup.post.operation.description"
* @scr.service interface="javax.servlet.Servlet"
* @scr.service interface="org.apache.sling.jackrabbit.usermanager.UpdateGroup"
* @scr.property name="sling.servlet.resourceTypes" values="sling/group"
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java
index 13915a8..2142a4f 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java
@@ -75,7 +75,8 @@ import org.apache.sling.servlets.post.impl.helper.RequestProperty;
*
*
*
- * @scr.component metatype="no" immediate="true"
+ * @scr.component immediate="true" label="%updateUser.post.operation.name"
+ * description="%updateUser.post.operation.description"
* @scr.service interface="javax.servlet.Servlet"
* @scr.service interface="org.apache.sling.jackrabbit.usermanager.UpdateUser"
* @scr.property name="sling.servlet.resourceTypes" value="sling/user"
diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/resource/AuthorizableResourceProvider.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/resource/AuthorizableResourceProvider.java
index a9d7a66..f5a5192 100644
--- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/resource/AuthorizableResourceProvider.java
+++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/resource/AuthorizableResourceProvider.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
* Resource Provider implementation for jackrabbit UserManager resources.
*
* @scr.component immediate="true" label="%authorizable.resourceprovider.name"
- * description="authorizable.resourceprovider.description"
+ * description="%authorizable.resourceprovider.description"
* @scr.property name="service.description"
* value="Resource provider implementation for UserManager resources"
* @scr.property name="service.vendor" value="The Apache Software Foundation"
diff --git a/src/main/resources/OSGI-INF/metatype/metatype.properties b/src/main/resources/OSGI-INF/metatype/metatype.properties
index 597ece1..177a3f7 100644
--- a/src/main/resources/OSGI-INF/metatype/metatype.properties
+++ b/src/main/resources/OSGI-INF/metatype/metatype.properties
@@ -23,14 +23,36 @@
# descriptions as used in the metatype.xml descriptor generated by the
# the Sling SCR plugin
-authorizable.resourceprovider.name = Resolver for UserManager resources
+authorizable.resourceprovider.name = Apache Sling Resolver for UserManager resources
authorizable.resourceprovider.description = Handles resolving resources for the \
jackrabbit UserManager.
-createUser.post.operation.name = Create User Sling Post Operation
-createUser.post.operation.description = The Sling POST Operation to handle create user \
+createUser.post.operation.name = Apache Sling Create User
+createUser.post.operation.description = The Sling operation to handle create user \
requests in Sling.
self.registration.enabled.name = Self-Registration Enabled
self.registration.enabled.description = When selected, the anonymous user is allowed to \
register a new user with the system.
+
+
+changeUserPassword.post.operation.name = Apache Sling Change User Password
+changeUserPassword.post.operation.description = The Sling operation to handle change user \
+ password requests in Sling.
+
+createGroup.post.operation.name = Apache Sling Create Group
+createGroup.post.operation.description = The Sling operation to handle create group \
+ requests in Sling.
+
+updateUser.post.operation.name = Apache Sling Update User
+updateUser.post.operation.description = The Sling operation to handle update user \
+ requests in Sling.
+
+updateGroup.post.operation.name = Apache Sling Update Group
+updateGroup.post.operation.description = The Sling operation to handle update group \
+ requests in Sling.
+
+deleteAuthorizable.post.operation.name = Apache Sling Delete User/Group
+deleteAuthorizable.post.operation.description = The Sling operation to handle delete user \
+ or group requests in Sling.
+
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.