r1667 - in trunk/src/main/java/cc/kune: core/client core/client/rpcservices core/client/sitebar core/client/sitebar/auth core/client/state/impl core/server/manager core/server/manager/impl core/server/rpc gspace/client gspace/client/options gspace/client/options/general gspace/client/options/license
Author: vjrj_ Date: 2012-01-18 16:27:17 +0100 (Wed, 18 Jan 2012) New Revision: 1667 Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java trunk/src/main/java/cc/kune/core/server/manager/UserManager.java trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsCollection.java trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsCollection.java trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralView.java trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneral.java trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePresenter.java Log: Password recovery small fixes Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -46,6 +46,8 @@ import cc.kune.gspace.client.options.GroupOptions; import cc.kune.gspace.client.options.UserOptions; +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.event.shared.EventBus; import com.google.inject.Inject; import com.google.inject.Provider; @@ -80,7 +82,12 @@ tokenListener.put(SiteTokens.SIGN_IN, new HistoryTokenAuthNotNeededCallback() { @Override public void onHistoryToken(final String token) { - signIn.get().showSignInDialog(); + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + signIn.get().showSignInDialog(); + } + }); } }); tokenListener.put(SiteTokens.ABOUT_KUNE, new HistoryTokenAuthNotNeededCallback() { @@ -99,7 +106,12 @@ tokenListener.put(SiteTokens.NEW_GROUP, new HistoryTokenMustBeAuthCallback() { @Override public void onHistoryToken(final String token) { - newGroup.get().doNewGroup(); + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + newGroup.get().doNewGroup(); + } + }); } }); tokenListener.put(SiteTokens.SUBTITLES, new HistoryTokenAuthNotNeededCallback() { @@ -123,30 +135,51 @@ tokenListener.put(SiteTokens.PREFS, new HistoryTokenMustBeAuthCallback() { @Override public void onHistoryToken(final String token) { - SpaceSelectEvent.fire(eventBus, Space.groupSpace); - userOptionsDialog.get().show(); + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + SpaceSelectEvent.fire(eventBus, Space.groupSpace); + userOptionsDialog.get().show(); + } + }); } }); tokenListener.put(SiteTokens.GROUP_PREFS, new HistoryTokenMustBeAuthCallback() { @Override public void onHistoryToken(final String token) { - groupOptionsDialog.get().show(token); + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + groupOptionsDialog.get().show(token); + } + }); } }); tokenListener.put(SiteTokens.RESET_PASSWD, new HistoryTokenAuthNotNeededCallback() { @Override public void onHistoryToken(final String token) { - if (!session.isLogged()) { - askForPass.get().show(); - } + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + if (!session.isLogged()) { + askForPass.get().show(); + } + } + }); } }); tokenListener.put(SiteTokens.ASK_RESET_PASSWD, new HistoryTokenAuthNotNeededCallback() { @Override public void onHistoryToken(final String token) { - if (!session.isLogged()) { - askForPass.get().show(); - } + Scheduler.get().scheduleFinally(new ScheduledCommand() { + @Override + public void execute() { + if (!session.isLogged()) { + askForPass.get().show(); + } + } + }); + } }); tokenListener.put(SiteTokens.RESET_PASSWD, new HistoryTokenAuthNotNeededCallback() { @@ -159,6 +192,5 @@ } }); verifyManager.get(); - } } Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/client/rpcservices/UserService.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -20,6 +20,7 @@ package cc.kune.core.client.rpcservices; import cc.kune.core.client.errors.DefaultException; +import cc.kune.core.client.errors.EmailHashExpiredException; import cc.kune.core.client.errors.EmailHashInvalidException; import cc.kune.core.client.errors.EmailNotFoundException; import cc.kune.core.shared.domain.UserSNetVisibility; @@ -36,7 +37,8 @@ @RemoteServiceRelativePath("UserService") public interface UserService extends RemoteService { - void askForEmailConfirmation(String userHash); + void askForEmailConfirmation(String userHash) throws EmailHashInvalidException, + EmailHashExpiredException; void askForPasswordReset(String email) throws EmailNotFoundException; @@ -62,6 +64,7 @@ StateAbstractDTO updateUser(String userHash, UserDTO user, I18nLanguageSimpleDTO lang); - void verifyPasswordHash(String userHash, String emailReceivedHash); + void verifyPasswordHash(String userHash, String emailReceivedHash) throws EmailHashInvalidException, + EmailHashExpiredException; } Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -24,8 +24,8 @@ import cc.kune.common.client.actions.ActionEvent; import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor; import cc.kune.core.client.events.UserSignInEvent; +import cc.kune.core.client.events.UserSignInEvent.UserSignInHandler; import cc.kune.core.client.events.UserSignOutEvent; -import cc.kune.core.client.events.UserSignInEvent.UserSignInHandler; import cc.kune.core.client.events.UserSignOutEvent.UserSignOutHandler; import cc.kune.core.client.i18n.I18nUITranslationService; import cc.kune.core.client.state.Session; @@ -48,10 +48,10 @@ super(); this.stateManager = stateManager; putValue(Action.NAME, i18n.t("Sign in to collaborate")); - putValue( - Action.TOOLTIP, - i18n.t("Please sign in or register to get full access to [%s] tools and contents", - i18n.getSiteCommonName())); + // putValue( + // Action.TOOLTIP, + // i18n.t("Please sign in or register to get full access to [%s] tools and contents", + // i18n.getSiteCommonName())); } @Override Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -1,5 +1,6 @@ package cc.kune.core.client.sitebar.auth; +import cc.kune.common.client.log.Log; import cc.kune.common.client.notify.NotifyLevel; import cc.kune.common.client.notify.NotifyLevelImages; import cc.kune.common.client.notify.NotifyUser; @@ -14,7 +15,6 @@ import cc.kune.core.client.state.Session; import cc.kune.core.client.state.SiteTokens; import cc.kune.core.client.state.StateManager; -import cc.kune.core.client.state.TokenUtils; import cc.kune.core.client.ui.DefaultForm; import com.extjs.gxt.ui.client.widget.form.TextField; @@ -91,8 +91,7 @@ public void onSuccess(final Void result) { NotifyUser.info(i18n.t("Your password has been reset. Sign in")); hide(); - stateManager.gotoHistoryToken(TokenUtils.addRedirect(SiteTokens.HOME, - SiteTokens.SIGN_IN)); + stateManager.gotoHistoryToken(SiteTokens.SIGN_IN); } }); } @@ -111,6 +110,7 @@ } public String getPasswordHash() { + Log.debug("Password hash:" + passwordHash); return passwordHash; } Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -2,7 +2,8 @@ import cc.kune.common.client.notify.NotifyUser; import cc.kune.common.shared.i18n.I18nTranslationService; -import cc.kune.core.client.rpcservices.AsyncCallbackSimple; +import cc.kune.core.client.errors.EmailHashExpiredException; +import cc.kune.core.client.errors.EmailHashInvalidException; import cc.kune.core.client.rpcservices.UserServiceAsync; import cc.kune.core.client.state.HistoryTokenMustBeAuthCallback; import cc.kune.core.client.state.Session; @@ -10,6 +11,7 @@ import cc.kune.core.client.state.SiteTokens; import cc.kune.gspace.client.options.general.UserOptGeneral; +import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; @@ -24,15 +26,28 @@ tokens.put(SiteTokens.VERIFY_EMAIL, new HistoryTokenMustBeAuthCallback() { @Override public void onHistoryToken(final String token) { - userService.get().verifyPasswordHash(session.getUserHash(), token, - new AsyncCallbackSimple<Void>() { - @Override - public void onSuccess(final Void result) { - NotifyUser.info("Great. Your email is now verified"); - session.getCurrentUser().setEmailVerified(true); - optGeneral.get().update(); - } - }); + userService.get().verifyPasswordHash(session.getUserHash(), token, new AsyncCallback<Void>() { + @Override + public void onFailure(final Throwable caught) { + if (caught instanceof EmailHashExpiredException) { + NotifyUser.error(i18n.t("Email confirmation code expired"), true); + } else if (caught instanceof EmailHashInvalidException) { + NotifyUser.error(i18n.t("Invalid confirmation code"), true); + } else { + NotifyUser.error(i18n.t("Other error trying to verify your password"), true); + } + } + + @Override + public void onSuccess(final Void result) { + NotifyUser.info("Great. Your email is now verified"); + session.getCurrentUser().setEmailVerified(true); + // This get NPE + // if (optGeneral.get().isVisible()) { + // optGeneral.get().update(); + // } + } + }); } }); Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -151,20 +151,21 @@ } private void doActionOrSignInIfNeeded(final HistoryTokenCallback tokenListener, - final String newHistoryToken) { + final String currentToken, final String secondPart) { if (tokenListener.authMandatory() && session.isNotLogged()) { - Log.debug("login mandatory for " + newHistoryToken); + Log.debug("login mandatory for " + currentToken); // Ok, we have to redirect because this token (for instance // #translate) needs the user authenticated - redirectButSignInBefore(newHistoryToken); + redirectButSignInBefore(currentToken); } else { // The auth is not mandatory, go ahead with the token action - Log.debug("Executing action related with historytoken " + newHistoryToken); - tokenListener.onHistoryToken(newHistoryToken); + Log.debug("Executing action related with historytoken " + secondPart); + tokenListener.onHistoryToken(secondPart); } } private void getContent(final StateToken newState) { + Log.debug("Get Content: " + newState); getContent(newState, false); } @@ -204,6 +205,7 @@ @Override public void gotoDefaultHomepage() { + Log.debug("Goto def page called"); getContent(new StateToken(SiteTokens.GROUP_HOME), true); } @@ -297,12 +299,13 @@ if (startingUp()) { // Starting with some token like "signin": load defContent // also + Log.debug("Starting up with some token like #signin: load defContent also"); getContent(new StateToken(SiteTokens.GROUP_HOME), false); // processHistoryToken(SiteTokens.GROUP_HOME); // SpaceSelectEvent.fire(eventBus, Space.groupSpace); } // Fire the listener of this #hash token - doActionOrSignInIfNeeded(tokenListener, newHistoryToken); + doActionOrSignInIfNeeded(tokenListener, newHistoryToken, newHistoryToken); } else { Log.debug("Is not a special hash like #newgroup, etc, or maybe has a #hash(redirection)"); // token is not one of #newgroup #signin #translate ... @@ -320,7 +323,7 @@ final HistoryTokenCallback tokenWithRedirect = siteTokens.get(firstToken); if (tokenWithRedirect != null) { Log.info("Is some #subtitle(foo) or #verifyemail(hash) etc"); - doActionOrSignInIfNeeded(tokenWithRedirect, + doActionOrSignInIfNeeded(tokenWithRedirect, newHistoryToken, tokenMatcher.getRedirect(newHistoryToken).getRight()); } else if (firstToken.equals(SiteTokens.NEW_GROUP)) { siteTokens.get(SiteTokens.NEW_GROUP).onHistoryToken(newHistoryToken); @@ -363,7 +366,9 @@ SpaceSelectEvent.fire(eventBus, Space.groupSpace); getContent(new StateToken(newHistoryToken)); } else { - gotoDefaultHomepage(); + if (!startingUp()) { + // gotoDefaultHomepage(); + } } } } else { Modified: trunk/src/main/java/cc/kune/core/server/manager/UserManager.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/manager/UserManager.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/server/manager/UserManager.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -22,6 +22,8 @@ import org.waveprotocol.box.server.authentication.PasswordDigest; import cc.kune.core.client.errors.DefaultException; +import cc.kune.core.client.errors.EmailHashExpiredException; +import cc.kune.core.client.errors.EmailHashInvalidException; import cc.kune.core.client.errors.I18nNotFoundException; import cc.kune.core.server.manager.impl.EmailConfirmationType; import cc.kune.core.shared.domain.UserSNetVisibility; @@ -30,7 +32,12 @@ import cc.kune.domain.User; import cc.kune.domain.UserBuddiesData; +// TODO: Auto-generated Javadoc +/** + * The Interface UserManager. + */ public interface UserManager { + /** * Ask for email confirmation. * @@ -38,6 +45,8 @@ * the user * @param type * the type + * @throws DefaultException + * the default exception */ void askForEmailConfirmation(User user, EmailConfirmationType type) throws DefaultException; @@ -58,53 +67,133 @@ User changePasswd(Long userId, String oldPassword, String newPassword, boolean checkOldPasswd); /** - * CreateUser new method with language country and timezone params + * Clear password hash (after been used) * + * @param user + * the user + */ + void clearPasswordHash(User user); + + /** + * CreateUser new method with language country and timezone params. + * * @param shortName + * the short name * @param longName + * the long name * @param email + * the email * @param passwd - * @param timezone + * the passwd + * @param language + * the language * @param country - * @param language + * the country * @param timezone + * the timezone * @param wantPersonalHomepage + * the want personal homepage * @return User * @throws I18nNotFoundException + * the i18n not found exception */ User createUser(String shortName, String longName, String email, String passwd, String language, String country, String timezone, boolean wantPersonalHomepage) throws I18nNotFoundException; + /** + * Creates the wave account. + * + * @param shortName + * the short name + * @param passwdDigest + * the passwd digest + */ void createWaveAccount(String shortName, PasswordDigest passwdDigest); /** * IMPORTANT: if userId == null, it returns User.UNKNOWN_USER * * @param userId - * @return + * the user id + * @return the user */ User find(Long userId); + /** + * Find by shortname. + * + * @param shortName + * the short name + * @return the user + */ User findByShortname(String shortName); + /** + * Gets the user buddies. + * + * @param shortName + * the short name + * @return the user buddies + */ UserBuddiesData getUserBuddies(String shortName); + /** + * Login. + * + * @param nickOrEmail + * the nick or email + * @param passwd + * the passwd + * @return the user + */ User login(String nickOrEmail, String passwd); + /** + * Re index. + */ void reIndex(); + /** + * Search. + * + * @param search + * the search + * @return the search result + */ SearchResult<User> search(String search); + /** + * Search. + * + * @param search + * the search + * @param firstResult + * the first result + * @param maxResults + * the max results + * @return the search result + */ SearchResult<User> search(String search, Integer firstResult, Integer maxResults); + /** + * Sets the s net visibility. + * + * @param user + * the user + * @param visibility + * the visibility + */ void setSNetVisibility(User user, UserSNetVisibility visibility); /** + * Update. + * * @param userId * the userId to change * @param user * the userDTO with values to change * @param lang + * the lang * @return the User after updated */ User update(Long userId, UserDTO user, I18nLanguageSimpleDTO lang); @@ -118,7 +207,12 @@ * the email received hash * @param period * the period (1h or more if is a new account); + * @throws EmailHashInvalidException + * the email hash invalid exception + * @throws EmailHashExpiredException + * the email hash expired exception */ - void verifyPasswordHash(Long userId, String emailReceivedHash, long period) throws DefaultException; + void verifyPasswordHash(Long userId, String emailReceivedHash, long period) + throws EmailHashInvalidException, EmailHashExpiredException; } Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -158,8 +158,8 @@ notifyService.sendEmailToWithLink( user, "Verify password reset", - "You are receiving this email because a request has been made to change the password associated with this email address in %s.<br>" - + "If this was a mistake, just ignore this email and nothing will happen.<br>" + "You are receiving this email because a request has been made to change the password associated with this email address in %s.<br><br>" + + "If this was a mistake, just ignore this email and nothing will happen.<br><br>" + "If you would like to reset the password for this account simply click on the link below or paste it into the url field on your favorite browser:", TokenUtils.addRedirect(SiteTokens.RESET_PASSWD, hash)); default: @@ -228,6 +228,13 @@ } @Override + public void clearPasswordHash(final User user) { + user.setEmailVerified(true); + user.setEmailCheckDate(0l); + user.setEmailConfirmHash(""); + } + + @Override public User createUser(final String shortName, final String longName, final String email, final String passwd, final String langCode, final String countryCode, final String timezone, final boolean wantPersonalHomepage) throws I18nNotFoundException { @@ -457,7 +464,7 @@ @Override public void verifyPasswordHash(final Long userId, final String emailReceivedHash, final long period) - throws DefaultException { + throws EmailHashInvalidException, EmailHashExpiredException { final User user = find(userId); final Date on = new Date(user.getEmailCheckDate() + period); @@ -468,8 +475,7 @@ final String emailConfirmHash = user.getEmailConfirmHash(); if (emailReceivedHash != null && emailConfirmHash != null && emailReceivedHash.equals(emailConfirmHash)) { - user.setEmailVerified(true); - user.setEmailConfirmHash(""); + clearPasswordHash(user); persist(user); } else { throw new EmailHashInvalidException(); Modified: trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/core/server/rpc/UserRPC.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -29,6 +29,7 @@ import cc.kune.core.client.errors.AccessViolationException; import cc.kune.core.client.errors.DefaultException; +import cc.kune.core.client.errors.EmailHashExpiredException; import cc.kune.core.client.errors.EmailHashInvalidException; import cc.kune.core.client.errors.EmailNotFoundException; import cc.kune.core.client.errors.UserAuthException; @@ -215,6 +216,7 @@ try { final User user = userFinder.findByHash(passwdHash); userManager.changePasswd(user.getId(), null, newpasswd, false); + userManager.clearPasswordHash(user); } catch (final NoResultException e) { throw new EmailHashInvalidException(); } @@ -250,7 +252,8 @@ @Authenticated @Override @Transactional - public void verifyPasswordHash(final String userHash, final String emailReceivedHash) { + public void verifyPasswordHash(final String userHash, final String emailReceivedHash) + throws EmailHashInvalidException, EmailHashExpiredException { final User user = userSessionManager.getUser(); userManager.verifyPasswordHash(user.getId(), emailReceivedHash, SessionConstants._AN_HOUR); } Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -33,20 +33,7 @@ import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection; import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction; import cc.kune.gspace.client.options.GroupOptions; -import cc.kune.gspace.client.options.GroupOptionsCollection; import cc.kune.gspace.client.options.UserOptions; -import cc.kune.gspace.client.options.UserOptionsCollection; -import cc.kune.gspace.client.options.general.GroupOptGeneral; -import cc.kune.gspace.client.options.general.UserOptGeneral; -import cc.kune.gspace.client.options.general.UserOptPass; -import cc.kune.gspace.client.options.license.GroupOptDefLicense; -import cc.kune.gspace.client.options.license.UserOptDefLicense; -import cc.kune.gspace.client.options.logo.GroupOptLogo; -import cc.kune.gspace.client.options.logo.UserOptLogo; -import cc.kune.gspace.client.options.style.GroupOptStyle; -import cc.kune.gspace.client.options.style.UserOptStyle; -import cc.kune.gspace.client.options.tools.GroupOptTools; -import cc.kune.gspace.client.options.tools.UserOptTools; import cc.kune.gspace.client.tags.TagsSummaryPresenter; import cc.kune.gspace.client.themes.GSpaceThemeManager; import cc.kune.gspace.client.tool.selector.ToolSelector; @@ -61,18 +48,20 @@ public class GSpaceParts { @Inject - public GSpaceParts(final Session session, final GSpaceThemeManager themeManager, + public GSpaceParts( + final Session session, + final GSpaceThemeManager themeManager, final Provider<EntityLicensePresenter> licenseFooter, - final Provider<TagsSummaryPresenter> tagsPresenter, final Provider<ToolSelector> toolSelector, - final Provider<NoHomePageViewer> noHome, final Provider<ContentViewerPresenter> docsViewer, - final Provider<FolderViewerPresenter> folderViewer, final Provider<GroupOptions> go, - final Provider<UserOptions> uo, final Provider<GroupOptionsCollection> gocProv, - final Provider<UserOptionsCollection> uocProv, final Provider<GroupOptGeneral> gg, - final Provider<GroupOptDefLicense> gdl, final Provider<GroupOptStyle> gps, - final Provider<GroupOptLogo> gl, final Provider<GroupOptTools> gtc, - final Provider<UserOptGeneral> ug, final Provider<UserOptPass> up, - final Provider<UserOptDefLicense> udl, final Provider<UserOptStyle> ups, - final Provider<UserOptLogo> ul, final Provider<UserOptTools> utc, + final Provider<TagsSummaryPresenter> tagsPresenter, + final Provider<ToolSelector> toolSelector, + final Provider<NoHomePageViewer> noHome, + final Provider<ContentViewerPresenter> docsViewer, + final Provider<FolderViewerPresenter> folderViewer, + final Provider<GroupOptions> go, + final Provider<UserOptions> uo, // final Provider<GroupOptionsCollection> + // gocProv, + // final Provider<UserOptionsCollection> uocProv, + final Provider<SitebarSearchPresenter> siteSearch, final Provider<SiteOptionsI18nTranslatorAction> transAction, final Provider<GiveUsFeedbackBtn> giveUsFeedback, @@ -91,20 +80,9 @@ siteSearch.get(); noHome.get(); - // Add User & Groups Options - final GroupOptionsCollection goc = gocProv.get(); - final UserOptionsCollection uoc = uocProv.get(); - goc.add(gg); - goc.add(gtc); - goc.add(gl); - goc.add(gps); - goc.add(gdl); - uoc.add(ug); - uoc.add(up); - uoc.add(utc); - uoc.add(ul); - uoc.add(ups); - uoc.add(udl); + // // Add User & Groups Options + // final GroupOptionsCollection goc = gocProv.get(); + // final UserOptionsCollection uoc = uocProv.get(); // Init go.get(); Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsCollection.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsCollection.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsCollection.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -20,7 +20,27 @@ package cc.kune.gspace.client.options; import cc.kune.common.client.ProvidersCollection; +import cc.kune.gspace.client.options.general.GroupOptGeneral; +import cc.kune.gspace.client.options.license.GroupOptDefLicense; +import cc.kune.gspace.client.options.logo.GroupOptLogo; +import cc.kune.gspace.client.options.style.GroupOptStyle; +import cc.kune.gspace.client.options.tools.GroupOptTools; +import com.google.inject.Inject; +import com.google.inject.Provider; +import com.google.inject.Singleton; + @SuppressWarnings("serial") +@Singleton public class GroupOptionsCollection extends ProvidersCollection { + @Inject + public GroupOptionsCollection(final Provider<GroupOptGeneral> gg, final Provider<GroupOptTools> gtc, + final Provider<GroupOptLogo> gl, final Provider<GroupOptStyle> gps, + final Provider<GroupOptDefLicense> gdl) { + add(gg); + add(gtc); + add(gl); + add(gps); + add(gdl); + } } Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsCollection.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsCollection.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsCollection.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -20,7 +20,30 @@ package cc.kune.gspace.client.options; import cc.kune.common.client.ProvidersCollection; +import cc.kune.gspace.client.options.general.UserOptGeneral; +import cc.kune.gspace.client.options.general.UserOptPass; +import cc.kune.gspace.client.options.license.UserOptDefLicense; +import cc.kune.gspace.client.options.logo.UserOptLogo; +import cc.kune.gspace.client.options.style.UserOptStyle; +import cc.kune.gspace.client.options.tools.UserOptTools; +import com.google.inject.Inject; +import com.google.inject.Provider; +import com.google.inject.Singleton; + @SuppressWarnings("serial") +@Singleton public class UserOptionsCollection extends ProvidersCollection { + + @Inject + public UserOptionsCollection(final Provider<UserOptGeneral> ug, final Provider<UserOptPass> up, + final Provider<UserOptTools> utc, final Provider<UserOptLogo> ul, + final Provider<UserOptStyle> ups, final Provider<UserOptDefLicense> udl) { + add(ug); + add(up); + add(utc); + add(ul); + add(ups); + add(udl); + } } Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralPanel.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -78,6 +78,11 @@ } @Override + public boolean isRendered() { + return super.getFormPanel().isRendered(); + } + + @Override public void mask() { maskWidget.mask(this); } Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralView.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralView.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/EntityOptGeneralView.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -27,6 +27,8 @@ void clear(); + boolean isRendered(); + boolean isValid(); void mask(); Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneral.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneral.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneral.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -21,6 +21,8 @@ public interface UserOptGeneral extends EntityOptGeneral { + boolean isVisible(); + void update(); } Modified: trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/general/UserOptGeneralPresenter.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -89,6 +89,11 @@ } @Override + public boolean isVisible() { + return view.isRendered(); + } + + @Override protected void setState() { final UserSimpleDTO currentUser = session.getCurrentUser(); userView.setLongName(currentUser.getName()); Modified: trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePresenter.java 2012-01-17 12:35:15 UTC (rev 1666) +++ trunk/src/main/java/cc/kune/gspace/client/options/license/EntityOptDefLicensePresenter.java 2012-01-18 15:27:17 UTC (rev 1667) @@ -107,6 +107,7 @@ protected void setState() { if (applicable()) { + // Is a user and app is not starting up setLicense(getCurrentDefLicense()); } }
participants (1)
-
Vicente J. Ruiz Jurado