diff --git a/pom.xml b/pom.xml index 02d6421ef..675420fda 100644 --- a/pom.xml +++ b/pom.xml @@ -1476,8 +1476,8 @@ ${gwtmaven.version} INFO - - + + true ${gwt.version} /ws.html?log_level=DEBUG diff --git a/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java b/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java index c9ff2f5ae..ce7bda6bb 100644 --- a/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java +++ b/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java @@ -175,7 +175,7 @@ protected void onSignIn(final UserInfoDTO userInfoDTO, final boolean gotoHomePag cookiesManager.setAuthCookie(userHash, session.getInitData().getCookieMaxAge()); getView().reset(); session.setUserHash(userHash); - session.setCurrentUserInfo(userInfoDTO, passwd); + session.setCurrentUserInfo(userInfoDTO); final I18nLanguageDTO language = userInfoDTO.getLanguage(); session.setCurrentLanguage(language); i18n.changeToLanguageIfNecessary(language.getCode(), language.getEnglishName(), diff --git a/src/main/java/cc/kune/core/client/cookies/MotdManager.java b/src/main/java/cc/kune/core/client/cookies/MotdManager.java index 86d83a2b1..008a0e2cc 100644 --- a/src/main/java/cc/kune/core/client/cookies/MotdManager.java +++ b/src/main/java/cc/kune/core/client/cookies/MotdManager.java @@ -32,6 +32,7 @@ import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.HTML; +import com.google.inject.Inject; import com.google.inject.Singleton; import cc.kune.common.client.log.Log; @@ -42,83 +43,91 @@ import cc.kune.common.shared.i18n.I18n; import cc.kune.core.client.events.AppStartEvent; import cc.kune.core.client.events.AppStartEvent.AppStartHandler; +import cc.kune.core.client.rpcservices.AsyncCallbackSimple; +import cc.kune.core.client.rpcservices.SiteServiceAsync; import cc.kune.core.client.state.SessionInstance; import cc.kune.core.shared.dto.MotdDTO; @Singleton public class MotdManager { - public MotdManager() { + @Inject + public MotdManager(final SiteServiceAsync siteService) { SessionInstance.get().onAppStart(true, new AppStartHandler() { - @Override public void onAppStart(final AppStartEvent event) { final Timer timer = new Timer() { @Override public void run() { - final MotdDTO motd = event.getInitData().getMotd(); - if (motd == null) { - return; - } - - final String cookieName = motd.getCookieName(); - - final String motdCookie = Cookies.getCookie(cookieName); + siteService.getMotd(SessionInstance.get().getUserHash(), new AsyncCallbackSimple() { - if (motdCookie == null) { + @Override + public void onSuccess(MotdDTO motd) { + if (motd == null) { + Log.debug("No motd message"); + return; + } - final Builder builder = new BasicTopDialog.Builder("k-motd", true, false, - I18n.getDirection()); + final String cookieName = motd.getCookieName(); - // motdDialog.addStyleName("k-motd-dialog"); + final String motdCookie = Cookies.getCookie(cookieName); - if (motd.getTitle() != null) { - builder.title(motd.getTitle()); - } + if (motdCookie == null) { - final BasicTopDialog dialog = builder.build(); + final Builder builder = new BasicTopDialog.Builder("k-motd", true, false, + I18n.getDirection()); - dialog.setFirstBtnText(motd.getOkBtnText()); + // motdDialog.addStyleName("k-motd-dialog"); - dialog.setCloseBtnVisible(true); + if (motd.getTitle() != null) { + builder.title(motd.getTitle()); + } - Log.info("Motd message: " + motd.getMessage()); + final BasicTopDialog dialog = builder.build(); + + dialog.setFirstBtnText(motd.getOkBtnText()); + + dialog.setCloseBtnVisible(true); + + Log.debug("motd message: " + motd.getMessage()); + + final HTML message = new HTML(motd.getMessage() + motd.getMessageBottom()); + dialog.getInnerPanel().add(message); + + dialog.setSecondBtnText(motd.getCloseBtnText()); + dialog.getSecondBtn().addClickHandler(new ClickHandler() { + @Override + public void onClick(final ClickEvent event) { + setCookie(cookieName, CookieUtils.inDays(90)); + dialog.hide(); + } + }); + if (motd.getShouldRemember() > 0) { + final CustomButton laterBtn = new CustomButton((I18n.t("Maybe later"))); + laterBtn.addClickHandler(new ClickHandler() { + @Override + public void onClick(final ClickEvent event) { + setCookie(cookieName, CookieUtils.inDays(motd.getShouldRemember())); + dialog.hide(); + } + }); + dialog.getBtnPanel().add(laterBtn); + } - final HTML message = new HTML(motd.getMessage() + motd.getMessageBottom()); - dialog.getInnerPanel().add(message); + dialog.getFirstBtn().addClickHandler(new ClickHandler() { + @Override + public void onClick(final ClickEvent event) { + setCookie(cookieName, CookieUtils.inDays(7)); + KuneWindowUtils.open(motd.getOkBtnUrl()); + dialog.hide(); + } + }); - dialog.setSecondBtnText(motd.getCloseBtnText()); - dialog.getSecondBtn().addClickHandler(new ClickHandler() { - @Override - public void onClick(final ClickEvent event) { - setCookie(cookieName, CookieUtils.inDays(90)); - dialog.hide(); + dialog.show(); } - }); - if (motd.getShouldRemember() > 0) { - final CustomButton laterBtn = new CustomButton((I18n.t("Maybe later"))); - laterBtn.addClickHandler(new ClickHandler() { - @Override - public void onClick(final ClickEvent event) { - setCookie(cookieName, CookieUtils.inDays(motd.getShouldRemember())); - dialog.hide(); - } - }); - dialog.getBtnPanel().add(laterBtn); } - - dialog.getFirstBtn().addClickHandler(new ClickHandler() { - @Override - public void onClick(final ClickEvent event) { - setCookie(cookieName, CookieUtils.inDays(7)); - KuneWindowUtils.open(motd.getOkBtnUrl()); - dialog.hide(); - } - }); - - dialog.show(); - } + }); } }; timer.schedule(10000); diff --git a/src/main/java/cc/kune/core/client/init/AppStarterDefault.java b/src/main/java/cc/kune/core/client/init/AppStarterDefault.java index 3b422ec86..b27a073ce 100644 --- a/src/main/java/cc/kune/core/client/init/AppStarterDefault.java +++ b/src/main/java/cc/kune/core/client/init/AppStarterDefault.java @@ -24,6 +24,16 @@ import org.waveprotocol.wave.client.common.util.UserAgent; +import com.google.gwt.user.client.Timer; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.Window.ClosingEvent; +import com.google.gwt.user.client.Window.ClosingHandler; +import com.google.gwt.user.client.Window.Navigator; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.RootPanel; +import com.google.inject.Inject; +import com.google.web.bindery.event.shared.EventBus; + import cc.kune.common.client.log.Log; import cc.kune.common.client.notify.NotifyLevel; import cc.kune.common.client.notify.NotifyUser; @@ -40,21 +50,12 @@ import cc.kune.core.client.state.SiteParameters; import cc.kune.core.shared.CoreConstants; import cc.kune.core.shared.dto.InitDataDTO; - -import com.google.web.bindery.event.shared.EventBus; -import com.google.gwt.user.client.Timer; -import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.Window.ClosingEvent; -import com.google.gwt.user.client.Window.ClosingHandler; -import com.google.gwt.user.client.Window.Navigator; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.RootPanel; -import com.google.inject.Inject; +import cc.kune.core.shared.dto.UserInfoDTO; // TODO: Auto-generated Javadoc /** * The Class AppStarterDefault. - * + * * @author danigb@gmail.com * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ @@ -77,7 +78,7 @@ public class AppStarterDefault implements AppStarter { /** * Instantiates a new app starter default. - * + * * @param session * the session * @param siteService @@ -107,7 +108,7 @@ public void onWindowClosing(final ClosingEvent event) { /** * Check navigator compatibility. - * + * * @param navSupport * the nav support */ @@ -130,45 +131,57 @@ private void checkNavigatorCompatibility(final NavigatorSupport navSupport) { /** * Gets the inits the data. - * + * * @return the inits the data */ private void getInitData() { - siteService.getInitData(session.getUserHash(), new AsyncCallback() { + siteService.getInitData(new AsyncCallback() { private void continueStart(final InitDataDTO initData) { eventBus.fireEvent(new AppStartEvent(initData)); } - private void hideInitialPanels() { - final RootPanel loadingElement = RootPanel.get("k-home-loading"); - if (loadingElement != null) { - loadingElement.setVisible(false); - } - } - @Override public void onFailure(final Throwable error) { + onError(error); + } + + private void onError(final Throwable error) { eventBus.fireEvent(new ProgressHideEvent()); - eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, - "Error fetching initial data from Kune server")); + eventBus.fireEvent( + new UserNotifyEvent(NotifyLevel.error, "Error fetching initial data from Kune server")); Log.debug(error.getMessage()); hideInitialPanels(); } + private void hideInitialPanels() { + final RootPanel loadingElement = RootPanel.get("k-home-loading"); + if (loadingElement != null) { + loadingElement.setVisible(false); + } + } + @Override public void onSuccess(final InitDataDTO initData) { - session.setInitData(initData); - session.setCurrentUserInfo(initData.getUserInfo(), null); - hideInitialPanels(); - checkNavigatorCompatibility(new NavigatorSupport() { + siteService.getUserInfo(session.getUserHash(), new AsyncCallback() { + @Override - public void onNotSupported() { - NotifyUser.askConfirmation( - res.important32(), - "Your browser is currently unsupported", - "Please, use a free/libre modern navigator like " - + TextUtils.generateHtmlLink(CoreConstants.MOZILLA_FF_LINK, "Mozilla Firefox") - + " instead. Continue anyway?", new SimpleResponseCallback() { + public void onFailure(Throwable error) { + onError(error); + } + + @Override + public void onSuccess(UserInfoDTO userInfo) { + session.setInitData(initData); + session.setCurrentUserInfo(userInfo); + hideInitialPanels(); + checkNavigatorCompatibility(new NavigatorSupport() { + @Override + public void onNotSupported() { + NotifyUser.askConfirmation(res.important32(), "Your browser is currently unsupported", + "Please, use a free/libre modern navigator like " + + TextUtils.generateHtmlLink(CoreConstants.MOZILLA_FF_LINK, "Mozilla Firefox") + + " instead. Continue anyway?", + new SimpleResponseCallback() { @Override public void onCancel() { WindowUtils.changeHref(CoreConstants.MOZILLA_FF_LINK); @@ -179,11 +192,13 @@ public void onSuccess() { continueStart(initData); } }); - } + } - @Override - public void onSupported() { - continueStart(initData); + @Override + public void onSupported() { + continueStart(initData); + } + }); } }); } @@ -192,7 +207,7 @@ public void onSupported() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.init.AppStarter#start() */ @Override @@ -207,4 +222,5 @@ public void run() { }; prefetchTimer.schedule(20000); } + } diff --git a/src/main/java/cc/kune/core/client/rpcservices/SiteService.java b/src/main/java/cc/kune/core/client/rpcservices/SiteService.java index 914fbc9b0..c6407b3dd 100644 --- a/src/main/java/cc/kune/core/client/rpcservices/SiteService.java +++ b/src/main/java/cc/kune/core/client/rpcservices/SiteService.java @@ -24,6 +24,8 @@ import cc.kune.core.client.errors.DefaultException; import cc.kune.core.shared.dto.InitDataDTO; +import cc.kune.core.shared.dto.MotdDTO; +import cc.kune.core.shared.dto.UserInfoDTO; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; @@ -31,7 +33,7 @@ // TODO: Auto-generated Javadoc /** * The Interface SiteService. - * + * * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ @RemoteServiceRelativePath("SiteService") @@ -39,13 +41,17 @@ public interface SiteService extends RemoteService { /** * Gets the inits the data. - * + * * @param userHash * the user hash * @return the inits the data * @throws DefaultException * the default exception */ - InitDataDTO getInitData(String userHash) throws DefaultException; + InitDataDTO getInitData() throws DefaultException; + + UserInfoDTO getUserInfo(String userHash) throws DefaultException; + + MotdDTO getMotd(String userHash) throws DefaultException; } diff --git a/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java b/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java index 92f718577..0b39324bf 100644 --- a/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java +++ b/src/main/java/cc/kune/core/client/rpcservices/SiteServiceAsync.java @@ -22,27 +22,32 @@ */ package cc.kune.core.client.rpcservices; +import com.google.gwt.user.client.rpc.AsyncCallback; + import cc.kune.core.shared.dto.InitDataDTO; +import cc.kune.core.shared.dto.MotdDTO; +import cc.kune.core.shared.dto.UserInfoDTO; -import com.google.gwt.user.client.rpc.AsyncCallback; -// TODO: Auto-generated Javadoc /** * The Interface SiteServiceAsync. - * + * * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ public interface SiteServiceAsync { /** * Gets the inits the data. - * + * * @param userHash * the user hash * @param callback * the callback * @return the inits the data */ - void getInitData(String userHash, AsyncCallback callback); + void getInitData(AsyncCallback callback); + + void getUserInfo(String userHash, AsyncCallback callback); + void getMotd(String userHash, AsyncCallback callback); } diff --git a/src/main/java/cc/kune/core/client/state/Session.java b/src/main/java/cc/kune/core/client/state/Session.java index 33bf6a03c..2f8b4ff6d 100644 --- a/src/main/java/cc/kune/core/client/state/Session.java +++ b/src/main/java/cc/kune/core/client/state/Session.java @@ -396,7 +396,7 @@ HandlerRegistration onUserSignInOrSignOut(boolean fireNow, * @param passwd * the passwd */ - void setCurrentUserInfo(UserInfoDTO currentUserInfo, String passwd); + void setCurrentUserInfo(UserInfoDTO currentUserInfo); void setEmbedded(boolean isEmbedded); diff --git a/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java b/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java index a7e78fc44..a34afaed6 100644 --- a/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java +++ b/src/main/java/cc/kune/core/client/state/impl/SessionDefault.java @@ -25,6 +25,11 @@ import java.util.Collection; import java.util.List; +import com.google.gwt.core.client.GWT; +import com.google.inject.Inject; +import com.google.web.bindery.event.shared.EventBus; +import com.google.web.bindery.event.shared.HandlerRegistration; + import cc.kune.common.client.utils.WindowUtils; import cc.kune.core.client.cookies.CookiesManager; import cc.kune.core.client.events.AppStartEvent; @@ -51,11 +56,6 @@ import cc.kune.core.shared.dto.UserInfoDTO; import cc.kune.core.shared.dto.UserSimpleDTO; -import com.google.gwt.core.client.GWT; -import com.google.inject.Inject; -import com.google.web.bindery.event.shared.EventBus; -import com.google.web.bindery.event.shared.HandlerRegistration; - /** * The Class SessionDefault. * @@ -103,7 +103,7 @@ public StateContainerDTO getContainerState() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getContentState() */ @Override @@ -126,7 +126,7 @@ public Object[][] getCountriesArray() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentCCversion() */ @Override @@ -136,7 +136,7 @@ public String getCurrentCCversion() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentGroupShortName() */ @Override @@ -146,7 +146,7 @@ public String getCurrentGroupShortName() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentLanguage() */ @Override @@ -156,7 +156,7 @@ public I18nLanguageDTO getCurrentLanguage() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentState() */ @Override @@ -166,7 +166,7 @@ public StateAbstractDTO getCurrentState() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentStateToken() */ @Override @@ -176,7 +176,7 @@ public StateToken getCurrentStateToken() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentUser() */ @Override @@ -186,7 +186,7 @@ public UserSimpleDTO getCurrentUser() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getCurrentUserInfo() */ @Override @@ -196,7 +196,7 @@ public UserInfoDTO getCurrentUserInfo() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getDefLicense() */ @Override @@ -206,7 +206,7 @@ public LicenseDTO getDefLicense() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getFullTranslatedLanguages() */ @Override @@ -216,7 +216,7 @@ public List getFullTranslatedLanguages() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getGalleryPermittedExtensions() */ @Override @@ -226,7 +226,7 @@ public String getGalleryPermittedExtensions() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getGroupTools() */ @Override @@ -236,7 +236,7 @@ public Collection getGroupTools() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getImgCropsize() */ @Override @@ -246,7 +246,7 @@ public int getImgCropsize() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getImgIconsize() */ @Override @@ -256,7 +256,7 @@ public int getImgIconsize() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getImgResizewidth() */ @Override @@ -266,7 +266,7 @@ public int getImgResizewidth() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getImgThumbsize() */ @Override @@ -276,7 +276,7 @@ public int getImgThumbsize() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getInitData() */ @Override @@ -286,7 +286,7 @@ public InitDataDTO getInitData() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getLanguages() */ @Override @@ -296,7 +296,7 @@ public List getLanguages() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getLanguagesArray() */ @Override @@ -309,7 +309,7 @@ public Object[][] getLanguagesArray() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getLicenses() */ @Override @@ -319,7 +319,7 @@ public List getLicenses() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getShowDeletedContent() */ @Override @@ -329,7 +329,7 @@ public boolean getShowDeletedContent() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getSiteUrl() */ @Override @@ -340,7 +340,7 @@ public String getSiteUrl() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getTimezones() */ @Override @@ -353,7 +353,7 @@ public Object[][] getTimezones() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getUserHash() */ @Override @@ -363,7 +363,7 @@ public String getUserHash() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#getUserTools() */ @Override @@ -373,7 +373,7 @@ public Collection getUserTools() { /* * (non-Javadoc) - * + * * @see * cc.kune.core.client.state.Session#inSameToken(cc.kune.core.shared.domain * .utils.StateToken) @@ -385,7 +385,7 @@ public boolean inSameToken(final StateToken token) { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isCurrentStateAContent() */ @Override @@ -395,7 +395,7 @@ public boolean isCurrentStateAContent() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isCurrentStateAGroup() */ @Override @@ -405,7 +405,7 @@ public boolean isCurrentStateAGroup() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isCurrentStateAPerson() */ @Override @@ -431,7 +431,7 @@ public boolean isGuiInDevelopment() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isInCurrentUserSpace() */ @Override @@ -449,7 +449,7 @@ public boolean isInCurrentUserSpace() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isLogged() */ @Override @@ -459,18 +459,18 @@ public boolean isLogged() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isNewbie() */ @Override public boolean isNewbie() { - return currentUserInfo != null ? currentUserInfo.getSignInCount() <= SessionConstants.MIN_SIGN_IN_FOR_NEWBIES - : true; + return currentUserInfo != null + ? currentUserInfo.getSignInCount() <= SessionConstants.MIN_SIGN_IN_FOR_NEWBIES : true; } /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#isNotLogged() */ @Override @@ -524,7 +524,7 @@ private void mapTimezones() { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#onAppStart(boolean, * cc.kune.core.client.events.AppStartEvent.AppStartHandler) */ @@ -539,7 +539,7 @@ public HandlerRegistration onAppStart(final boolean fireNow, final AppStartHandl /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#onUserSignIn(boolean, * cc.kune.core.client.events.UserSignInEvent.UserSignInHandler) */ @@ -554,7 +554,7 @@ public HandlerRegistration onUserSignIn(final boolean fireNow, final UserSignInH /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#onUserSignInOrSignOut(boolean, * cc.kune * .core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler) @@ -572,7 +572,7 @@ public HandlerRegistration onUserSignInOrSignOut(final boolean fireNow, /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#onUserSignOut(boolean, * cc.kune.core.client.events.UserSignOutEvent.UserSignOutHandler) */ @@ -587,10 +587,9 @@ public HandlerRegistration onUserSignOut(final boolean fireNow, final UserSignOu /* * (non-Javadoc) - * - * @see - * cc.kune.core.client.state.Session#refreshCurrentUserInfo(cc.kune.core.shared - * .dto.UserInfoDTO) + * + * @see cc.kune.core.client.state.Session#refreshCurrentUserInfo(cc.kune.core. + * shared .dto.UserInfoDTO) */ @Override public void refreshCurrentUserInfo(final UserInfoDTO currentUserInfo) { @@ -599,7 +598,7 @@ public void refreshCurrentUserInfo(final UserInfoDTO currentUserInfo) { /* * (non-Javadoc) - * + * * @see * cc.kune.core.client.state.Session#setCurrentLanguage(cc.kune.core.shared * .dto.I18nLanguageDTO) @@ -611,7 +610,7 @@ public void setCurrentLanguage(final I18nLanguageDTO currentLanguage) { /* * (non-Javadoc) - * + * * @see * cc.kune.core.client.state.Session#setCurrentState(cc.kune.core.shared.dto * .StateAbstractDTO) @@ -623,13 +622,13 @@ public void setCurrentState(final StateAbstractDTO currentState) { /* * (non-Javadoc) - * + * * @see * cc.kune.core.client.state.Session#setCurrentUserInfo(cc.kune.core.shared * .dto.UserInfoDTO, java.lang.String) */ @Override - public void setCurrentUserInfo(final UserInfoDTO currentUserInfo, final String password) { + public void setCurrentUserInfo(final UserInfoDTO currentUserInfo) { this.currentUserInfo = currentUserInfo; if (currentUserInfo != null) { // First of all, prepare wave panel @@ -649,7 +648,7 @@ public void setEmbedded(final boolean isEmbedded) { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#setInitData(cc.kune.core.shared.dto. * InitDataDTO) */ @@ -660,7 +659,7 @@ public void setInitData(final InitDataDTO initData) { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#setUserHash(java.lang.String) */ @Override @@ -670,19 +669,19 @@ public void setUserHash(final String userHash) { /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#signOut() */ @Override public void signOut() { cookieManager.removeAuthCookie(); setUserHash(null); - setCurrentUserInfo(null, null); + setCurrentUserInfo(null); } /* * (non-Javadoc) - * + * * @see cc.kune.core.client.state.Session#userIsJoiningGroups() */ @Override diff --git a/src/main/java/cc/kune/core/server/InitData.java b/src/main/java/cc/kune/core/server/InitData.java index 6862b4c89..71a7e7876 100644 --- a/src/main/java/cc/kune/core/server/InitData.java +++ b/src/main/java/cc/kune/core/server/InitData.java @@ -150,9 +150,6 @@ public class InitData { /** The use client content cache. */ private boolean useClientContentCache; - /** The user info. */ - private UserInfo userInfo; - /** The user tools. */ private List userTools; @@ -448,15 +445,6 @@ public boolean getUseClientContentCache() { return useClientContentCache; } - /** - * Gets the user info. - * - * @return the user info - */ - public UserInfo getUserInfo() { - return userInfo; - } - /** * Gets the user tools. * @@ -841,15 +829,6 @@ public void setUseClientContentCache(final boolean useClientContentCache) { this.useClientContentCache = useClientContentCache; } - /** - * Sets the user info. - * - * @param currentUserInfo - * the new user info - */ - public void setUserInfo(final UserInfo currentUserInfo) { - this.userInfo = currentUserInfo; - } /** * Sets the user tools. diff --git a/src/main/java/cc/kune/core/server/manager/SiteManager.java b/src/main/java/cc/kune/core/server/manager/SiteManager.java index 10bff6131..b22cadca9 100644 --- a/src/main/java/cc/kune/core/server/manager/SiteManager.java +++ b/src/main/java/cc/kune/core/server/manager/SiteManager.java @@ -25,9 +25,12 @@ import cc.kune.core.client.errors.DefaultException; import cc.kune.core.shared.dto.InitDataDTO; +import cc.kune.core.shared.dto.UserInfoDTO; public interface SiteManager { - InitDataDTO getInitData(String userHash) throws DefaultException; + InitDataDTO getInitData() throws DefaultException; + + UserInfoDTO getUserInfo(String userHash) throws DefaultException; } diff --git a/src/main/java/cc/kune/core/server/manager/impl/SiteManagerDefault.java b/src/main/java/cc/kune/core/server/manager/impl/SiteManagerDefault.java index 32b2e542d..753f18b50 100644 --- a/src/main/java/cc/kune/core/server/manager/impl/SiteManagerDefault.java +++ b/src/main/java/cc/kune/core/server/manager/impl/SiteManagerDefault.java @@ -76,8 +76,6 @@ public class SiteManagerDefault implements SiteManager, SiteManagerDefaultMBean /** The data. */ private InitData data; - private final GroupManager groupManager; - private final I18nTranslationServiceMultiLang i18n; /** The kune properties. */ @@ -121,6 +119,10 @@ public class SiteManagerDefault implements SiteManager, SiteManagerDefaultMBean private Config waveConfig; + private InitDataDTO dataMapped; + + private MotdDTO defaultMotd; + /** * Instantiates a new site rpc. * @@ -153,9 +155,8 @@ public SiteManagerDefault(final UserSessionManager userSessionManager, final KuneMapper mapper, final KuneProperties kuneProperties, final ChatProperties chatProperties, final I18nLanguageManager languageManager, final I18nCountryManager countryManager, final ServerToolRegistry serverToolRegistry, final MBeanRegistry mbeanRegistry, - final GroupManager groupManager, final I18nTranslationServiceMultiLang i18n, SiteManagers siteManagers, - WaveIndexer waveIndexer, Config waveConfig - ) { + final I18nTranslationServiceMultiLang i18n, SiteManagers siteManagers, WaveIndexer waveIndexer, + Config waveConfig) { this.userSessionManager = userSessionManager; this.userInfoService = userInfoService; this.licenseManager = licenseManager; @@ -165,7 +166,6 @@ public SiteManagerDefault(final UserSessionManager userSessionManager, this.languageManager = languageManager; this.countryManager = countryManager; this.serverToolRegistry = serverToolRegistry; - this.groupManager = groupManager; this.i18n = i18n; this.siteManagers = siteManagers; this.waveIndexer = waveIndexer; @@ -194,24 +194,24 @@ private String[] getColors(final String key) { * cc.kune.core.client.rpcservices.SiteService#getInitData(java.lang.String) */ @Override - public InitDataDTO getInitData(final String userHash) throws DefaultException { + public InitDataDTO getInitData() throws DefaultException { if (data == null) { loadProperties(kuneProperties); } - final InitDataDTO dataMapped = mapper.map(data, InitDataDTO.class); + LOG.info("Retrieving init data"); + + return dataMapped; + } + + @Override + public UserInfoDTO getUserInfo(final String userHash) throws DefaultException { final UserInfo userInfo = userInfoService.buildInfo(userSessionManager.getUser(), userHash); - LOG.info("Retrieve init data using userHash: " + userHash); LOG.info("Session userHash: " + userSessionManager.getHash()); - dataMapped.setgSpaceThemes(siteThemes); - dataMapped.setReservedWords(reservedWords); - dataMapped.setStoreUntranslatedStrings(storeUntranslatedStrings); + UserInfoDTO map = null; if (userInfo != null) { - dataMapped.setUserInfo(mapper.map(userInfo, UserInfoDTO.class)); - dataMapped.setMotd(translate(motd, userInfo.getLanguage())); - } else { - dataMapped.setMotd(translate(motd, languageManager.getDefaultLanguage())); + map = mapper.map(userInfo, UserInfoDTO.class); } - return dataMapped; + return map; } @Override @@ -317,16 +317,23 @@ private void loadProperties(final KuneProperties kuneProperties) { siteThemes = getSiteThemes(this.kuneProperties.getList(KuneProperties.WS_THEMES)); reservedWords = new ReservedWordsRegistryDTO(ReservedWordsRegistry.fromList(kuneProperties)); + dataMapped = mapper.map(data, InitDataDTO.class); + dataMapped.setgSpaceThemes(siteThemes); + dataMapped.setReservedWords(reservedWords); + dataMapped.setStoreUntranslatedStrings(storeUntranslatedStrings); + if (kuneProperties.getBoolean(KuneProperties.MOTD_ENABLED)) { motd = new MotdDTO(); motd.setTitle(kuneProperties.get(KuneProperties.MOTD_TITLE)); motd.setMessage(StringUtils.abbreviate(kuneProperties.get(KuneProperties.MOTD_MESSAGE), 500)); - motd.setMessageBottom(StringUtils.abbreviate(kuneProperties.get(KuneProperties.MOTD_MESSAGE_BOTTOM),500)); + motd.setMessageBottom( + StringUtils.abbreviate(kuneProperties.get(KuneProperties.MOTD_MESSAGE_BOTTOM), 500)); motd.setOkBtnText(kuneProperties.get(KuneProperties.MOTD_OK_BTN_TEXT)); motd.setOkBtnUrl(kuneProperties.get(KuneProperties.MOTD_OK_BTN_URL)); motd.setCloseBtnText(kuneProperties.get(KuneProperties.MOTD_CLOSE_BTN_TEXT)); motd.setCookieName(kuneProperties.get(KuneProperties.MOTD_COOKIE_NAME)); motd.setShouldRemember(kuneProperties.getInteger(KuneProperties.MOTD_SHOULD_REMEMBER)); + defaultMotd = translate(motd, languageManager.getDefaultLanguage()); } else { motd = null; } @@ -350,6 +357,7 @@ public void reloadInitData() { @Override public void setShowInDevelFeatures(final boolean showInDevelFeatures) { data.setShowInDevelFeatures(showInDevelFeatures); + dataMapped.setShowInDevelFeatures(showInDevelFeatures); } /* @@ -361,6 +369,7 @@ public void setShowInDevelFeatures(final boolean showInDevelFeatures) { @Override public void setStoreUntranslatedStrings(final boolean storeUntranslatedStrings) { this.storeUntranslatedStrings = storeUntranslatedStrings; + dataMapped.setStoreUntranslatedStrings(storeUntranslatedStrings); } private MotdDTO translate(final MotdDTO motd, final I18nLanguage lang) { @@ -394,4 +403,12 @@ public void reIndexAllWaves() { } } + public MotdDTO getMotd(String userHash) { + final UserInfo userInfo = userInfoService.buildInfo(userSessionManager.getUser(), userHash); + if (userInfo != null) + return translate(motd, userInfo.getLanguage()); + else + return defaultMotd; + } + } diff --git a/src/main/java/cc/kune/core/server/rest/SiteCORSService.java b/src/main/java/cc/kune/core/server/rest/SiteCORSService.java index ea8d93d49..371fda405 100644 --- a/src/main/java/cc/kune/core/server/rest/SiteCORSService.java +++ b/src/main/java/cc/kune/core/server/rest/SiteCORSService.java @@ -45,8 +45,8 @@ public SiteCORSService(final SiteManager manager, final UserSessionManager sessi @REST(params = {}) public InitDataDTO getInitData() { final String hash = sessionManager.getHash(); - final InitDataDTO initData = manager.getInitData(hash); - final UserInfoDTO userInfo = initData.getUserInfo(); + final InitDataDTO initData = manager.getInitData(); + final UserInfoDTO userInfo = manager.getUserInfo(hash); if (userInfo != null) { userInfo.setUserHash(hash); } diff --git a/src/main/java/cc/kune/core/server/rpc/SiteRPC.java b/src/main/java/cc/kune/core/server/rpc/SiteRPC.java index 5d8c5165b..e356b801c 100644 --- a/src/main/java/cc/kune/core/server/rpc/SiteRPC.java +++ b/src/main/java/cc/kune/core/server/rpc/SiteRPC.java @@ -22,17 +22,19 @@ */ package cc.kune.core.server.rpc; +import com.google.inject.Inject; + import cc.kune.core.client.errors.DefaultException; import cc.kune.core.client.rpcservices.SiteService; import cc.kune.core.server.manager.impl.SiteManagerDefault; import cc.kune.core.server.persist.KuneTransactional; import cc.kune.core.shared.dto.InitDataDTO; - -import com.google.inject.Inject; +import cc.kune.core.shared.dto.MotdDTO; +import cc.kune.core.shared.dto.UserInfoDTO; /** * The Class SiteRPC. - * + * * @author danigb@gmail.com * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ @@ -50,7 +52,18 @@ public SiteRPC(final SiteManagerDefault manager) { @Override @KuneTransactional - public InitDataDTO getInitData(final String userHash) throws DefaultException { - return manager.getInitData(userHash); + public InitDataDTO getInitData() throws DefaultException { + return manager.getInitData(); + } + + @Override + public UserInfoDTO getUserInfo(String userHash) throws DefaultException { + return manager.getUserInfo(userHash); + } + + @Override + public MotdDTO getMotd(String userHash) throws DefaultException { + return manager.getMotd(userHash); } + } diff --git a/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java b/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java index ef6bb7100..2b99b3248 100644 --- a/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java +++ b/src/main/java/cc/kune/core/shared/dto/InitDataDTO.java @@ -105,7 +105,6 @@ public class InitDataDTO implements IsSerializable { /** The max file size in mb. */ private String maxFileSizeInMb; - private MotdDTO motd; /** The mp3 embed object. */ private String mp3EmbedObject; @@ -143,9 +142,6 @@ public class InitDataDTO implements IsSerializable { /** The use client content cache. */ private boolean useClientContentCache; - /** The user info. */ - private UserInfoDTO userInfo; - /** The user tools. */ private List userTools; @@ -358,10 +354,6 @@ public String getMaxFileSizeInMb() { return maxFileSizeInMb; } - public MotdDTO getMotd() { - return motd; - } - /** * Gets the mp3 embed object. * @@ -447,15 +439,6 @@ public boolean getUseClientContentCache() { return useClientContentCache; } - /** - * Gets the user info. - * - * @return the user info - */ - public UserInfoDTO getUserInfo() { - return userInfo; - } - /** * Gets the user tools. * @@ -465,15 +448,6 @@ public List getUserTools() { return userTools; } - /** - * Checks for user. - * - * @return true, if successful - */ - public boolean hasUser() { - return getUserInfo() != null; - } - /** * Checks if is feedback enabled. * @@ -725,10 +699,6 @@ public void setMaxFileSizeInMb(final String maxFileSizeInMb) { this.maxFileSizeInMb = maxFileSizeInMb; } - public void setMotd(final MotdDTO motd) { - this.motd = motd; - } - /** * Sets the mp3 embed object. * @@ -850,16 +820,6 @@ public void setUseClientContentCache(final boolean useClientContentCache) { this.useClientContentCache = useClientContentCache; } - /** - * Sets the user info. - * - * @param currentUser - * the new user info - */ - public void setUserInfo(final UserInfoDTO currentUser) { - this.userInfo = currentUser; - } - /** * Sets the user tools. * @@ -874,4 +834,6 @@ public boolean useClientContentCache() { return getUseClientContentCache(); } + + } diff --git a/src/main/java/cc/kune/core/shared/dto/UserInfoDTO.java b/src/main/java/cc/kune/core/shared/dto/UserInfoDTO.java index 8dec0bc59..af1291514 100644 --- a/src/main/java/cc/kune/core/shared/dto/UserInfoDTO.java +++ b/src/main/java/cc/kune/core/shared/dto/UserInfoDTO.java @@ -30,7 +30,7 @@ // TODO: Auto-generated Javadoc /** * The Class UserInfoDTO. - * + * * @author danigb@gmail.com * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ @@ -80,7 +80,7 @@ public class UserInfoDTO implements IsSerializable { /** * Gets the chat name. - * + * * @return the chat name */ public String getChatName() { @@ -89,7 +89,7 @@ public String getChatName() { /** * Gets the client flags. - * + * * @return the client flags */ public String getClientFlags() { @@ -98,7 +98,7 @@ public String getClientFlags() { /** * Gets the country. - * + * * @return the country */ public I18nCountryDTO getCountry() { @@ -107,7 +107,7 @@ public I18nCountryDTO getCountry() { /** * Gets the enabled tools. - * + * * @return the enabled tools */ public List getEnabledTools() { @@ -116,7 +116,7 @@ public List getEnabledTools() { /** * Gets the groups is admin. - * + * * @return the groups is admin */ public Set getGroupsIsAdmin() { @@ -125,7 +125,7 @@ public Set getGroupsIsAdmin() { /** * Gets the groups is collab. - * + * * @return the groups is collab */ public Set getGroupsIsCollab() { @@ -134,7 +134,7 @@ public Set getGroupsIsCollab() { /** * Gets the groups is participating. - * + * * @return the groups is participating */ public List getGroupsIsParticipating() { @@ -143,7 +143,7 @@ public List getGroupsIsParticipating() { /** * Gets the home page. - * + * * @return the home page */ public String getHomePage() { @@ -152,7 +152,7 @@ public String getHomePage() { /** * Gets the language. - * + * * @return the language */ public I18nLanguageDTO getLanguage() { @@ -161,7 +161,7 @@ public I18nLanguageDTO getLanguage() { /** * Gets the name. - * + * * @return the name */ public String getName() { @@ -170,7 +170,7 @@ public String getName() { /** * Gets the session json. - * + * * @return the session json */ public String getSessionJSON() { @@ -179,7 +179,7 @@ public String getSessionJSON() { /** * Gets the short name. - * + * * @return the short name */ public String getShortName() { @@ -188,7 +188,7 @@ public String getShortName() { /** * Gets the show deleted content. - * + * * @return the show deleted content */ public boolean getShowDeletedContent() { @@ -197,7 +197,7 @@ public boolean getShowDeletedContent() { /** * Gets the sign in count. - * + * * @return the sign in count */ public Long getSignInCount() { @@ -206,7 +206,7 @@ public Long getSignInCount() { /** * Gets the user. - * + * * @return the user */ public UserSimpleDTO getUser() { @@ -215,7 +215,7 @@ public UserSimpleDTO getUser() { /** * Gets the user group. - * + * * @return the user group */ public GroupDTO getUserGroup() { @@ -224,7 +224,7 @@ public GroupDTO getUserGroup() { /** * Gets the user hash. - * + * * @return the user hash */ public String getUserHash() { @@ -233,7 +233,7 @@ public String getUserHash() { /** * Gets the websocket address. - * + * * @return the websocket address */ public String getWebsocketAddress() { @@ -242,7 +242,7 @@ public String getWebsocketAddress() { /** * Sets the chat name. - * + * * @param chatName * the new chat name */ @@ -252,7 +252,7 @@ public void setChatName(final String chatName) { /** * Sets the client flags. - * + * * @param clientFlags * the new client flags */ @@ -262,7 +262,7 @@ public void setClientFlags(final String clientFlags) { /** * Sets the enabled tools. - * + * * @param enabledTools * the new enabled tools */ @@ -272,7 +272,7 @@ public void setEnabledTools(final List enabledTools) { /** * Sets the groups is admin. - * + * * @param groupsIsAdmin * the new groups is admin */ @@ -282,7 +282,7 @@ public void setGroupsIsAdmin(final Set groupsIsAdmin) { /** * Sets the groups is collab. - * + * * @param groupsIsCollab * the new groups is collab */ @@ -292,7 +292,7 @@ public void setGroupsIsCollab(final Set groupsIsCollab) { /** * Sets the groups is participating. - * + * * @param groupsIsParticipating * the new groups is participating */ @@ -302,7 +302,7 @@ public void setGroupsIsParticipating(final List groupsIsParticipating) /** * Sets the home page. - * + * * @param homePage * the new home page */ @@ -312,7 +312,7 @@ public void setHomePage(final String homePage) { /** * Sets the session json. - * + * * @param sessionJSON * the new session json */ @@ -322,7 +322,7 @@ public void setSessionJSON(final String sessionJSON) { /** * Sets the show deleted content. - * + * * @param showDeletedContent * the new show deleted content */ @@ -332,7 +332,7 @@ public void setShowDeletedContent(final boolean showDeletedContent) { /** * Sets the sign in count. - * + * * @param signInCount * the new sign in count */ @@ -342,7 +342,7 @@ public void setSignInCount(final Long signInCount) { /** * Sets the user. - * + * * @param user * the new user */ @@ -352,7 +352,7 @@ public void setUser(final UserSimpleDTO user) { /** * Sets the user group. - * + * * @param userGroup * the new user group */ @@ -362,7 +362,7 @@ public void setUserGroup(final GroupDTO userGroup) { /** * Sets the user hash. - * + * * @param userHash * the new user hash */ @@ -372,7 +372,7 @@ public void setUserHash(final String userHash) { /** * Sets the websocket address. - * + * * @param websocketAddress * the new websocket address */ diff --git a/src/main/java/cc/kune/embed/client/panels/EmbedPresenter.java b/src/main/java/cc/kune/embed/client/panels/EmbedPresenter.java index 126ebc106..94a38d4f2 100644 --- a/src/main/java/cc/kune/embed/client/panels/EmbedPresenter.java +++ b/src/main/java/cc/kune/embed/client/panels/EmbedPresenter.java @@ -255,7 +255,7 @@ public void onSuccess(final Response response) { final UserInfoDTOJs userInfo = (UserInfoDTOJs) initData.getUserInfo(); if (userInfo != null) { session.setUserHash(userInfo.getUserHash()); - session.setCurrentUserInfo(EmbedHelper.parse(userInfo), null); + session.setCurrentUserInfo(EmbedHelper.parse(userInfo)); } else { if (session.getUserHash() != null) { // Probably the session expired diff --git a/src/test/java/cc/kune/core/server/integration/site/InitDataTest.java b/src/test/java/cc/kune/core/server/integration/site/InitDataTest.java index 1ddb380a3..b577f2c7b 100644 --- a/src/test/java/cc/kune/core/server/integration/site/InitDataTest.java +++ b/src/test/java/cc/kune/core/server/integration/site/InitDataTest.java @@ -43,7 +43,7 @@ // TODO: Auto-generated Javadoc /** * The Class InitDataTest. - * + * * @author danigb@gmail.com * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ @@ -67,7 +67,7 @@ public class InitDataTest extends IntegrationTest { /** * Assert valid license dto list. - * + * * @param licenseList * the license list */ @@ -89,13 +89,13 @@ public void init() { /** * Test get init data. - * + * * @throws Exception * the exception */ @Test public void testGetInitData() throws Exception { - final InitDataDTO initData = service.getInitData(null); + final InitDataDTO initData = service.getInitData(); assertNotNull(initData); assertValidLicenseDTOList(initData.getLicenses()); assertTrue(initData.getLanguages().size() > 0);