svnno****@sourc*****
svnno****@sourc*****
2008年 6月 5日 (木) 11:36:19 JST
Revision: 963 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=963 Author: shinsuke Date: 2008-06-05 11:36:18 +0900 (Thu, 05 Jun 2008) Log Message: ----------- rollback of creating user. Modified Paths: -------------- pal-admin/trunk/src/main/java/jp/sf/pal/admin/logic/SecurityProviderLogic.java pal-admin/trunk/src/main/java/jp/sf/pal/admin/service/UserManagementService.java pal-admin/trunk/src/main/java/jp/sf/pal/admin/web/user/UserConfirmPage.java pal-admin/trunk/src/main/resources/appMessages.properties pal-admin/trunk/src/main/resources/appMessages_ja.properties -------------- next part -------------- Modified: pal-admin/trunk/src/main/java/jp/sf/pal/admin/logic/SecurityProviderLogic.java =================================================================== --- pal-admin/trunk/src/main/java/jp/sf/pal/admin/logic/SecurityProviderLogic.java 2008-06-05 01:41:31 UTC (rev 962) +++ pal-admin/trunk/src/main/java/jp/sf/pal/admin/logic/SecurityProviderLogic.java 2008-06-05 02:36:18 UTC (rev 963) @@ -333,7 +333,7 @@ } - public void insertUser(User user) throws PALAdminException { + public void insertUser(User user) throws CommonException { //Debug if (PALAdminConstants.DEBUG) { return; @@ -341,12 +341,14 @@ if (PALAdminUtil.isEmpty(user.getName()) || PALAdminUtil.isEmpty(user.getPassword())) { - throw new PALAdminException( - "Invalid user name or password. username=" + user.getName() - + ", password=" + user.getPassword()); + throw new CommonException("username.or.password.is.null"); } - //TODO check duplicate name + // check duplicate name + if (getUserManager().userExists(user.getName())) { + throw new CommonException("username.already.exists"); + } + try { // Add user getUserManager().addUser(user.getName(), user.getPassword()); @@ -429,20 +431,29 @@ getPageManager().updateFolder(userFolder); getPageManager().reset(); } catch (FolderNotUpdatedException e) { - //TODO remove user throw new CommonException("could.not.update.folder", "Could not update a folder: " + userFolder.getPath(), e); } catch (NodeException e) { - //TODO remove user throw new CommonException("could.not.update.folder", "Could not update a folder: " + userFolder.getPath(), e); } } + } catch (CommonException e) { + try { + // remove user + deleteUser(user); + } catch (PALAdminException e1) { + } + throw e; } catch (Exception e) { - logger.error("Could not create user: " + user, e); - throw new PALAdminException(e); + try { + // remove user + deleteUser(user); + } catch (PALAdminException e1) { + } + throw new CommonException("failed.to.add.new.user", e); } } Modified: pal-admin/trunk/src/main/java/jp/sf/pal/admin/service/UserManagementService.java =================================================================== --- pal-admin/trunk/src/main/java/jp/sf/pal/admin/service/UserManagementService.java 2008-06-05 01:41:31 UTC (rev 962) +++ pal-admin/trunk/src/main/java/jp/sf/pal/admin/service/UserManagementService.java 2008-06-05 02:36:18 UTC (rev 963) @@ -44,6 +44,7 @@ import jp.sf.pal.admin.web.user.UserListPage; import jp.sf.pal.admin.web.user.UserProfilingRuleEditPage; import jp.sf.pal.admin.web.user.UserRoleEditPage; +import jp.sf.pal.common.CommonException; import org.seasar.teeda.extension.util.LabelHelper; @@ -150,7 +151,7 @@ } - public void insert(AbstractUserPage page) throws PALAdminException { + public void insert(AbstractUserPage page) throws CommonException { User entity = new User(); userDxo.convert(page, entity); securityProviderLogic.insertUser(entity); Modified: pal-admin/trunk/src/main/java/jp/sf/pal/admin/web/user/UserConfirmPage.java =================================================================== --- pal-admin/trunk/src/main/java/jp/sf/pal/admin/web/user/UserConfirmPage.java 2008-06-05 01:41:31 UTC (rev 962) +++ pal-admin/trunk/src/main/java/jp/sf/pal/admin/web/user/UserConfirmPage.java 2008-06-05 02:36:18 UTC (rev 963) @@ -22,6 +22,7 @@ import jp.sf.pal.admin.PALAdminException; import jp.sf.pal.admin.util.PALAdminUtil; import jp.sf.pal.admin.web.CrudType; +import jp.sf.pal.common.CommonException; import jp.sf.pal.common.util.FacesMessageUtil; import org.seasar.framework.log.Logger; @@ -79,7 +80,11 @@ getUserManagementService().insert(this); FacesMessageUtil.addInfoMessage("added.new.user", new Object[] { getName() }); - } catch (PALAdminException e) { + } catch (CommonException e) { + FacesMessageUtil.addErrorMessage(e.getMessageId(), + new Object[] { getName() }); + logger.error("Failed to add a new user: " + getName(), e); + } catch (Exception e) { FacesMessageUtil.addErrorMessage("failed.to.add.new.user", new Object[] { getName() }); logger.error("Failed to add a new user: " + getName(), e); Modified: pal-admin/trunk/src/main/resources/appMessages.properties =================================================================== --- pal-admin/trunk/src/main/resources/appMessages.properties 2008-06-05 01:41:31 UTC (rev 962) +++ pal-admin/trunk/src/main/resources/appMessages.properties 2008-06-05 02:36:18 UTC (rev 963) @@ -103,6 +103,8 @@ could.not.update.password=Could not update a password. Please contact a site administrator. updated.user.info=Updated user information +username.already.exists=Username already exists. +username.or.password.is.null=Username or Password are null. could.not.access.folder=Could not access the target folder. Please contact a site administrator. could.not.access.page=Could not access the target page. Please contact a site administrator. could.not.find.page=Could not find the target page. Please contact a site administrator. Modified: pal-admin/trunk/src/main/resources/appMessages_ja.properties =================================================================== --- pal-admin/trunk/src/main/resources/appMessages_ja.properties 2008-06-05 01:41:31 UTC (rev 962) +++ pal-admin/trunk/src/main/resources/appMessages_ja.properties 2008-06-05 02:36:18 UTC (rev 963) @@ -103,6 +103,8 @@ could.not.update.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 updated.user.info=\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002 +username.already.exists=\u305d\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002 +username.or.password.is.null=\u30e6\u30fc\u30b6\u30fc\u540d\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u7a7a\u3067\u3059\u3002 could.not.access.folder=\u6307\u5b9a\u3057\u305f\u30d5\u30a9\u30eb\u30c0\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 could.not.access.page=\u6307\u5b9a\u3057\u305f\u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 could.not.find.page=\u6307\u5b9a\u3057\u305f\u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002