[Yanel-commits] rev 50213 -
public/yanel/trunk/src/contributions/resources/yanel-user/src/java/org/wyona/yanel/impl/resources/yaneluser
michi at wyona.com
michi at wyona.com
Mon Jun 7 13:03:06 CEST 2010
Author: michi
Date: 2010-06-07 13:03:06 +0200 (Mon, 07 Jun 2010)
New Revision: 50213
Modified:
public/yanel/trunk/src/contributions/resources/yanel-user/src/java/org/wyona/yanel/impl/resources/yaneluser/EditYanelUserProfileResource.java
Log:
update password started
Modified: public/yanel/trunk/src/contributions/resources/yanel-user/src/java/org/wyona/yanel/impl/resources/yaneluser/EditYanelUserProfileResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/yanel-user/src/java/org/wyona/yanel/impl/resources/yaneluser/EditYanelUserProfileResource.java 2010-06-07 10:55:33 UTC (rev 50212)
+++ public/yanel/trunk/src/contributions/resources/yanel-user/src/java/org/wyona/yanel/impl/resources/yaneluser/EditYanelUserProfileResource.java 2010-06-07 11:03:06 UTC (rev 50213)
@@ -13,24 +13,29 @@
import org.apache.log4j.Logger;
-
/**
* A resource to edit/update the profile of a user
*/
public class EditYanelUserProfileResource extends BasicXMLResource {
private static Logger log = Logger.getLogger(EditYanelUserProfileResource.class);
+
+ private String transformerParameterName;
+ private String transformerParameterValue;
/*
- * This method overrides the method to create the InputStream called by BasicXMLResource
- * Since you extend the BasicXMLResource this has to contain well-formed xml.
- * Should return a InputStream which contains XML.
- * Use String, StingBuffer, dom, jdom, org.apache.commons.io.IOUtils and so on to generate the XML.
+ * @see org.wyona.yanel.impl.resources.BasicXMLResource#getContentXML(String)
*/
protected InputStream getContentXML(String viewId) {
if (log.isDebugEnabled()) {
log.debug("requested viewId: " + viewId);
}
+
+ String oldPassword = getEnvironment().getRequest().getParameter("oldPassword");
+ if (oldPassword != null) {
+ updatePassword(oldPassword);
+ }
+
try {
return getXMLAsStream();
} catch(Exception e) {
@@ -40,7 +45,7 @@
}
/**
- * Get XML as stream
+ * Get user profile as XML as stream
*/
private java.io.InputStream getXMLAsStream() throws Exception {
String userId = getUserId();
@@ -88,4 +93,70 @@
}
return userId;
}
+
+ /**
+ * Change user password
+ *
+ * @param oldPassword Existing current password
+ */
+ private void updatePassword(String oldPassword) {
+ try {
+ String newPassword = getEnvironment().getRequest().getParameter("newPassword");
+ String newPasswordConfirmed = getEnvironment().getRequest().getParameter("newPasswordConfirmation");
+ String userId = getUserId();
+
+ if (!getRealm().getIdentityManager().getUserManager().getUser(userId).authenticate(oldPassword)) {
+ setTransformerParameter("error", "Authentication of user '" +userId + "' failed!");
+ log.error("Authentication of user '" + userId + "' failed!");
+ return;
+ }
+
+/*
+ if (getRealm().getIdentityManager().getUserManager().getUser(userId).authenticate(
+ oldPassword)) {
+ String plainPassword = request.getParameter("newPassword");
+ boolean confirmation = plainPassword.equals(request
+ .getParameter("newPasswordConfirmation"));
+ if (confirmation && !plainPassword.equals("")) {
+ User user = getRealm().getIdentityManager().getUserManager().getUser(userId);
+ user.setPassword(plainPassword);
+ user.save();
+
+ transformer.setParameter("success", "Password updated successfully");
+ } else {
+ transformer.setParameter("error", "Either no new password was supplied "
+ + "or the password supplied and its confirmation do not coincide");
+ }
+ } else {
+ transformer.setParameter("error", "Authentication failed!");
+ }
+*/
+ } catch (Exception e) {
+ log.error(e, e);
+ }
+ }
+
+ /**
+ *
+ */
+ private void setTransformerParameter(String name, String value) {
+ transformerParameterName = name;
+ transformerParameterValue = value;
+ }
+
+ /**
+ * @see org.wyona.yanel.impl.resources.BasicXMLResource#passTransformerParameters(Transformer)
+ */
+ protected void passTransformerParameters(javax.xml.transform.Transformer transformer) throws Exception {
+ super.passTransformerParameters(transformer);
+ try {
+ if (transformerParameterName != null && transformerParameterValue != null) {
+ transformer.setParameter(transformerParameterName, transformerParameterValue);
+ transformerParameterName = null;
+ transformerParameterValue = null;
+ }
+ } catch (Exception e) {
+ log.error(e, e);
+ }
+ }
}
More information about the Yanel-commits
mailing list