kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
May 2011
- 2 participants
- 62 discussions
Author: vjrj_
Date: 2011-05-16 00:23:33 +0200 (Mon, 16 May 2011)
New Revision: 1395
Removed:
trunk/logs/
Log:
logout/login wave fixed
1
0
r1394 - in trunk: . src/main/java/cc/kune/common/client/ui src/main/java/cc/kune/core/client/errors src/main/java/cc/kune/domain src/main/java/cc/kune/gspace/client/resources src/main/java/cc/kune/wave/client
by Vicente J. Ruiz Jurado 15 May '11
by Vicente J. Ruiz Jurado 15 May '11
15 May '11
Author: vjrj_
Date: 2011-05-16 00:23:30 +0200 (Mon, 16 May 2011)
New Revision: 1394
Modified:
trunk/
trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/domain/Content.java
trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
Log:
logout/login wave fixed
Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
- pmd-eclipse.log
.pmd
www-test
screenlog.0
client
public
target
target-local
Main-compile
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
gwt-out
synccss.sh
.externalToolBuilders
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle
.classpath-bien
pom.xml.*
.gwt
.jdee_sources
.jdee_classpath
prj.el
.factorypath
.apt_generated
target.old
_accounts
_certificates
_deltas
+ pmd-eclipse.log
.pmd
www-test
screenlog.0
client
public
target
target-local
Main-compile
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
gwt-out
synccss.sh
.externalToolBuilders
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle
.classpath-bien
pom.xml.*
.gwt
.jdee_sources
.jdee_classpath
prj.el
.factorypath
.apt_generated
target.old
_accounts
_certificates
_deltas
logs
Modified: trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 18:10:08 UTC (rev 1393)
+++ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 22:23:30 UTC (rev 1394)
@@ -147,11 +147,6 @@
}
}
- @UiHandler("textbox")
- void onMouseOutTextBox(final MouseOutEvent event) {
- finishEdit();
- }
-
@UiHandler("label")
void onMouseOver(final MouseOverEvent event) {
if (editable) {
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-05-15 18:10:08 UTC (rev 1393)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-05-15 22:23:30 UTC (rev 1394)
@@ -19,6 +19,9 @@
*/
package cc.kune.core.client.errors;
+import org.waveprotocol.wave.client.common.safehtml.SafeHtml;
+import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor;
+
import cc.kune.common.client.log.Log;
import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.common.client.notify.NotifyUser;
@@ -28,6 +31,7 @@
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.wave.client.WebClient;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
@@ -35,93 +39,106 @@
public class ErrorHandler {
- private final EventBus eventBus;
- private final I18nTranslationService i18n;
- private final Session session;
- private final StateManager stateManager;
+ private final EventBus eventBus;
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final StateManager stateManager;
- @Inject
- public ErrorHandler(final Session session, final I18nTranslationService i18n, final StateManager stateManager,
- final EventBus eventBus) {
- this.session = session;
- this.i18n = i18n;
- this.stateManager = stateManager;
- this.eventBus = eventBus;
- }
+ @Inject
+ public ErrorHandler(final Session session, final I18nTranslationService i18n,
+ final StateManager stateManager, final EventBus eventBus) {
+ this.session = session;
+ this.i18n = i18n;
+ this.stateManager = stateManager;
+ this.eventBus = eventBus;
+ }
- public void doSessionExpired() {
- eventBus.fireEvent(new SessionExpiredEvent());
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info, "Your session has expired. Please log in again."));
- }
+ public void doSessionExpired() {
+ eventBus.fireEvent(new SessionExpiredEvent());
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.info,
+ "Your session has expired. Please log in again."));
+ }
- private void goHome() {
- stateManager.gotoHistoryToken(SiteTokens.GROUP_HOME);
- }
+ private void goHome() {
+ stateManager.gotoHistoryToken(SiteTokens.GROUP_HOME);
+ }
- private void logException(final Throwable caught) {
- logException(caught, false);
- }
+ private void logException(final Throwable caught) {
+ logException(caught, false);
+ }
- private void logException(final Throwable caught, final boolean showException) {
- if (showException) {
- Log.debug("Exception in KuneErrorHandler", caught);
- } else {
- Log.debug("Exception in KuneErrorHandler: " + caught.getMessage());
- }
+ private void logException(final Throwable caught, final boolean showException) {
+ if (showException) {
+ Log.debug("Exception in KuneErrorHandler", caught);
+ } else {
+ Log.debug("Exception in KuneErrorHandler: " + caught.getMessage());
}
+ }
- public void process(final Throwable caught) {
- eventBus.fireEvent(new ProgressHideEvent());
- if (caught instanceof AccessViolationException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
- i18n.t("You do not have rights to perform that action")));
- } else if (caught instanceof SessionExpiredException) {
- logException(caught);
- doSessionExpired();
- } else if (caught instanceof UserMustBeLoggedException) {
- logException(caught);
- if (session.isLogged()) {
- doSessionExpired();
- } else {
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important,
- i18n.t("Please sign in or register to collaborate")));
- }
- } else if (caught instanceof GroupNotFoundException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Group not found")));
- goHome();
- } else if (caught instanceof IncompatibleRemoteServiceException) {
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
- i18n.t("Your browser is outdated with the server software. Please reload this page.")));
- } else if (caught instanceof ContentNotFoundException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Content not found")));
- goHome();
- } else if (caught instanceof ContentNotPermittedException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("Action not permitted in this location")));
- goHome();
- } else if (caught instanceof ContainerNotPermittedException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("Action not permitted in this location")));
- goHome();
- } else if (caught instanceof LastAdminInGroupException) {
- logException(caught);
- NotifyUser.showAlertMessage(i18n.t("Warning"), i18n.t("Sorry, you are the last admin of this group."
- + " Look for someone to substitute you appropriately as admin before leaving this group."));
- } else if (caught instanceof AlreadyGroupMemberException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("This group is already a group member")));
- } else if (caught instanceof AlreadyUserMemberException) {
- logException(caught);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("This user is already a group member")));
- } else {
- logException(caught, true);
- eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
- i18n.t("Oops! Something has gone wrong with our servers. Retry later, please.")));
- Log.error("Other kind of exception in StateManagerDefault/processErrorException", caught);
+ public void process(final Throwable caught) {
+ eventBus.fireEvent(new ProgressHideEvent());
+ if (caught instanceof AccessViolationException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("You do not have rights to perform that action")));
+ } else if (caught instanceof SessionExpiredException) {
+ logException(caught);
+ doSessionExpired();
+ } else if (caught instanceof UserMustBeLoggedException) {
+ logException(caught);
+ if (session.isLogged()) {
+ doSessionExpired();
+ } else {
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important,
+ i18n.t("Please sign in or register to collaborate")));
+ }
+ } else if (caught instanceof GroupNotFoundException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Group not found")));
+ goHome();
+ } else if (caught instanceof IncompatibleRemoteServiceException) {
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("Your browser is outdated with the server software. Please reload this page.")));
+ } else if (caught instanceof ContentNotFoundException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.veryImportant, i18n.t("Content not found")));
+ goHome();
+ } else if (caught instanceof ContentNotPermittedException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("Action not permitted in this location")));
+ goHome();
+ } else if (caught instanceof ContainerNotPermittedException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("Action not permitted in this location")));
+ goHome();
+ } else if (caught instanceof LastAdminInGroupException) {
+ logException(caught);
+ NotifyUser.showAlertMessage(i18n.t("Warning"),
+ i18n.t("Sorry, you are the last admin of this group."
+ + " Look for someone to substitute you appropriately as admin before leaving this group."));
+ } else if (caught instanceof AlreadyGroupMemberException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("This group is already a group member")));
+ } else if (caught instanceof AlreadyUserMemberException) {
+ logException(caught);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("This user is already a group member")));
+ } else {
+ logException(caught, true);
+ eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+ i18n.t("Oops! Something has gone wrong with our servers. Retry later, please.")));
+ final String error = "Other kind of exception in StateManagerDefault/processErrorException";
+ Log.error(error, caught);
+ WebClient.ErrorHandler.getStackTraceAsync(caught, new Accessor<SafeHtml>() {
+ @Override
+ public void use(final SafeHtml stack) {
+ NotifyUser.logError(stack.asString().replace("<br>", "\n"));
}
+ });
}
+ }
}
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2011-05-15 18:10:08 UTC (rev 1393)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2011-05-15 22:23:30 UTC (rev 1394)
@@ -135,7 +135,7 @@
private String typeId;
@Version
- private int version;
+ private Integer version;
private String waveId;
@@ -336,7 +336,7 @@
this.typeId = typeId;
}
- public void setVersion(final int version) {
+ public void setVersion(final Integer version) {
this.version = version;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-15 18:10:08 UTC (rev 1393)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/wsArmor.css 2011-05-15 22:23:30 UTC (rev 1394)
@@ -69,7 +69,7 @@
font-weight: bold;
margin-left: 15px;
font: 'UbuntuBold', Arial;
- line-height: 1.3em;
+ line-height: 36px;
}
.docHeader input {
Modified: trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-05-15 18:10:08 UTC (rev 1393)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-05-15 22:23:30 UTC (rev 1394)
@@ -37,63 +37,65 @@
import com.google.inject.Inject;
public class WaveClientManager {
- private WebClient webClient;
+ private WebClient webClient;
- @Inject
- public WaveClientManager(final Session session, final StateManager stateManager, final EventBus eventBus,
- final UserServiceAsync userService, final GSpaceArmor wsArmor) {
- session.onUserSignIn(true, new UserSignInHandler() {
- @Override
- public void onUserSignIn(final UserSignInEvent event) {
- userService.getWaveClientParameters(session.getUserHash(), new AsyncCallbackSimple<WaveClientParams>() {
-
- @Override
- public void onSuccess(final WaveClientParams result) {
- // NotifyUser.info(result.getSessionJSON(), true);
- setUseSocketIO(result.useSocketIO());
- setSessionJSON(JsonUtils.safeEval(result.getSessionJSON()));
- setClientFlags(JsonUtils.safeEval(result.getClientFlags()));
- // Only for testing:
- final ForIsWidget userSpace = wsArmor.getUserSpace();
- if (webClient == null) {
- if (userSpace.getWidgetCount() > 0) {
- userSpace.remove(0);
- }
- webClient = new WebClient(eventBus);
- userSpace.add(webClient);
- } else {
- webClient.setVisible(true);
- }
- }
- });
- }
- });
- session.onUserSignOut(true, new UserSignOutHandler() {
- @Override
- public void onUserSignOut(final UserSignOutEvent event) {
- if (webClient != null) {
- webClient.setVisible(false);
+ @Inject
+ public WaveClientManager(final Session session, final StateManager stateManager,
+ final EventBus eventBus, final UserServiceAsync userService, final GSpaceArmor wsArmor) {
+ session.onUserSignIn(true, new UserSignInHandler() {
+ @Override
+ public void onUserSignIn(final UserSignInEvent event) {
+ userService.getWaveClientParameters(session.getUserHash(),
+ new AsyncCallbackSimple<WaveClientParams>() {
+ @Override
+ public void onSuccess(final WaveClientParams result) {
+ // NotifyUser.info(result.getSessionJSON(), true);
+ setUseSocketIO(result.useSocketIO());
+ setSessionJSON(JsonUtils.safeEval(result.getSessionJSON()));
+ setClientFlags(JsonUtils.safeEval(result.getClientFlags()));
+ // Only for testing:
+ final ForIsWidget userSpace = wsArmor.getUserSpace();
+ if (webClient == null) {
+ if (userSpace.getWidgetCount() > 0) {
+ userSpace.remove(0);
+ }
+ webClient = new WebClient(eventBus);
+ userSpace.add(webClient);
+ } else {
+ webClient.login();
+ webClient.setVisible(true);
}
- setUseSocketIO(false);
- setSessionJSON(JsonUtils.safeEval("{}"));
- setClientFlags(JsonUtils.safeEval("{}"));
- }
- });
- }
+ }
+ });
+ }
+ });
+ session.onUserSignOut(true, new UserSignOutHandler() {
+ @Override
+ public void onUserSignOut(final UserSignOutEvent event) {
+ if (webClient != null) {
+ webClient.setVisible(false);
+ webClient.logout();
+ }
+ setUseSocketIO(false);
+ setSessionJSON(JsonUtils.safeEval("{}"));
+ setClientFlags(JsonUtils.safeEval("{}"));
+ }
+ });
+ }
- public WebClient getWebClient() {
- return webClient;
- }
+ public WebClient getWebClient() {
+ return webClient;
+ }
- private native void setClientFlags(JavaScriptObject object) /*-{
+ private native void setClientFlags(JavaScriptObject object) /*-{
$wnd.__client_flags = object;
- }-*/;
+ }-*/;
- private native void setSessionJSON(JavaScriptObject object) /*-{
+ private native void setSessionJSON(JavaScriptObject object) /*-{
$wnd.__session = object;
- }-*/;
+ }-*/;
- private native void setUseSocketIO(boolean use) /*-{
+ private native void setUseSocketIO(boolean use) /*-{
$wnd.__useSocketIO = use;
- }-*/;
+ }-*/;
}
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-15 18:10:08 UTC (rev 1393)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-15 22:23:30 UTC (rev 1394)
@@ -64,7 +64,6 @@
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.client.sitebar.ErrorsDialog;
import cc.kune.core.client.sitebar.spaces.Space;
import cc.kune.core.client.sitebar.spaces.SpaceConfEvent;
import cc.kune.core.client.state.SiteTokens;
@@ -98,7 +97,7 @@
* (an alert placed on the top of the screen). Once the stack trace is
* prepared, it is revealed in the banner via a link.
*/
- static class ErrorHandler implements UncaughtExceptionHandler {
+ public static class ErrorHandler implements UncaughtExceptionHandler {
public static void install() {
GWT.setUncaughtExceptionHandler(new ErrorHandler(GWT.getUncaughtExceptionHandler()));
}
@@ -124,7 +123,7 @@
this.next = next;
}
- private void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) {
+ public static void getStackTraceAsync(final Throwable t, final Accessor<SafeHtml> whenReady) {
// TODO: Request stack-trace de-obfuscation. For now, just use the
// javascript stack trace.
//
@@ -245,7 +244,7 @@
/**
* Create a remote websocket to talk to the server-side FedOne service.
*/
- private final WaveWebSocketClient websocket;
+ private WaveWebSocketClient websocket;
/**
* This is the entry point method.
@@ -274,19 +273,40 @@
HistorySupport.init();
+ //createWebSocket();
+
+ loginImpl();
+
+ setupUi();
+
+ // History.fireCurrentHistoryState();
+ LOG.info("SimpleWebClient.onModuleLoad() done");
+ }
+
+ private void createWebSocket() {
websocket = new WaveWebSocketClient(useSocketIO(), getWebSocketBaseUrl(GWT.getModuleBaseURL()));
websocket.connect();
+ }
+ public void login() {
+ loginImpl();
+ }
+
+ public void logout() {
+ loggedInUser = null;
+ channel = null;
+ idGenerator = null;
+ websocket = null;
+ clear();
+ }
+
+ private void loginImpl() {
+ createWebSocket();
if (Session.get().isLoggedIn()) {
loggedInUser = new ParticipantId(Session.get().getAddress());
idGenerator = ClientIdGenerator.create();
loginToServer();
}
-
- setupUi();
-
- // History.fireCurrentHistoryState();
- LOG.info("SimpleWebClient.onModuleLoad() done");
}
public RemoteViewServiceMultiplexer getChannel() {
@@ -315,10 +335,14 @@
}
public void clear() {
+ // Duplicate below
if (wave != null) {
wave.destroy();
wave = null;
}
+ if (waveHolder.isAttached()) {
+ waveHolder.removeFromParent();
+ }
}
/**
* Shows a wave in a wave panel.
1
0
r1393 - in trunk: . src/main/java/cc/kune/core/client/sitebar/spaces src/main/java/cc/kune/core/server src/main/java/cc/kune/core/server/manager/impl src/main/java/cc/kune/core/server/properties src/main/java/cc/kune/wave/client
by Vicente J. Ruiz Jurado 15 May '11
by Vicente J. Ruiz Jurado 15 May '11
15 May '11
Author: vjrj_
Date: 2011-05-15 20:10:08 +0200 (Sun, 15 May 2011)
New Revision: 1393
Modified:
trunk/pom.xml
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java
trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java
trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
Log:
Incomplete - task : kune properties as parameter
And others minor fixes (wave reconnection checks session)
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-15 15:21:25 UTC (rev 1392)
+++ trunk/pom.xml 2011-05-15 18:10:08 UTC (rev 1393)
@@ -522,12 +522,8 @@
</exclusion>
</exclusions>
</dependency>
-<!-- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>5.14</version>
- <scope>test</scope>
- </dependency> -->
+ <!-- <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId>
+ <version>5.14</version> <scope>test</scope> </dependency> -->
<!-- If you want to start a selenium server, you will need the following
dependency: -->
<!-- <dependency> -->
@@ -745,6 +741,11 @@
<commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001</commandlineArgs>
<systemProperties>
<systemProperty>
+ <key>kune.config</key>
+ <!-- <value>/src/main/resources/kune.properties</value> -->
+ <value>kune.properties</value>
+ </systemProperty>
+ <systemProperty>
<key>wave.server.config</key>
<value>src/main/resources/wave-server.properties</value>
</systemProperty>
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java 2011-05-15 15:21:25 UTC (rev 1392)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorViewImpl.java 2011-05-15 18:10:08 UTC (rev 1393)
@@ -54,7 +54,7 @@
public SpaceSelectorViewImpl(final GSpaceArmor armor, final I18nTranslationService i18n,
final WsArmorResources res) {
armor.getSitebar().insert(uiBinder.createAndBindUi(this), 0);
- homeButton.setVisible(false);
+ // homeButton.setVisible(false);
Tooltip.to(homeButton, i18n.t("Your home page in this site"));
Tooltip.to(userButton, i18n.t("User space: it shows a list of all your documents and contents "
+ "in which you participate"));
Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-05-15 15:21:25 UTC (rev 1392)
+++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java 2011-05-15 18:10:08 UTC (rev 1393)
@@ -19,6 +19,7 @@
*/
package cc.kune.core.server;
+import org.apache.commons.configuration.SystemConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -67,17 +68,20 @@
private final Module configModule;
public KuneRackModule() {
- this("development", "kune.properties", null);
+ this("development", null);
}
- public KuneRackModule(final String jpaUnit, final String propertiesFileName, final Scope sessionScope) {
+ public KuneRackModule(final String jpaUnit, final Scope sessionScope) {
+ final SystemConfiguration sysConf = new SystemConfiguration();
+ final String kuneConfig = sysConf.getString("kune.config");
+
configModule = new AbstractModule() {
@Override
public void configure() {
install(FinderRegistry.init(new JpaPersistModule(jpaUnit)));
bindInterceptor(Matchers.any(), new NotInObject(), new LoggerMethodInterceptor());
- bindConstant().annotatedWith(PropertiesFileName.class).to(propertiesFileName);
+ bindConstant().annotatedWith(PropertiesFileName.class).to(kuneConfig);
if (sessionScope != null) {
bindScope(SessionScoped.class, sessionScope);
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2011-05-15 15:21:25 UTC (rev 1392)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2011-05-15 18:10:08 UTC (rev 1393)
@@ -171,7 +171,7 @@
initSocialNetwork(userGroup, userGroup);
final String title = i18n.t("[%s] Bio", user.getName());
- final String body = "<h1>" + title + "</h1>" + i18n.t("This user has not written its biography yet");
+ final String body = i18n.t("This user has not written its biography yet");
try {
initGroup(user, userGroup, wantPersonalHomepage ? serverToolRegistry.getToolsForUserKeys()
: ServerToolRegistry.emptyToolList, title, body);
Modified: trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java 2011-05-15 15:21:25 UTC (rev 1392)
+++ trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java 2011-05-15 18:10:08 UTC (rev 1393)
@@ -24,7 +24,6 @@
import java.text.MessageFormat;
import java.util.Properties;
-
import cc.kune.core.server.ServerException;
import com.google.inject.Inject;
@@ -32,43 +31,46 @@
@Singleton
public class KunePropertiesDefault implements KuneProperties {
- private Properties properties;
- private final String fileName;
+ private final String fileName;
+ private Properties properties;
- @Inject
- public KunePropertiesDefault(@PropertiesFileName final String fileName) {
- this.fileName = fileName;
- try {
- properties = new Properties();
- InputStream input = getInputStream(fileName);
- properties.load(input);
- } catch (IOException e) {
- String msg = MessageFormat.format("Couldn't open property file {0}", fileName);
- throw new ServerException(msg, e);
- }
-
+ @Inject
+ public KunePropertiesDefault(@PropertiesFileName final String fileName) {
+ this.fileName = fileName;
+ try {
+ properties = new Properties();
+ final InputStream input = getInputStream(fileName);
+ properties.load(input);
+ } catch (final IOException e) {
+ final String msg = MessageFormat.format("Couldn't open property file {0}", fileName);
+ throw new ServerException(msg, e);
}
- public String get(final String key) {
- String value = properties.getProperty(key);
- if (value == null) {
- throw new ServerException("PROPERTY: " + key + " not defined in " + fileName);
- }
- return value;
- }
+ }
- public String get(final String key, final String defaultValue) {
- String value = properties.getProperty(key);
- return value != null ? value : defaultValue;
+ @Override
+ public String get(final String key) {
+ final String value = properties.getProperty(key);
+ if (value == null) {
+ throw new ServerException("PROPERTY: " + key + " not defined in " + fileName);
}
+ return value;
+ }
- private InputStream getInputStream(final String fileName) {
- InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
- if (input == null) {
- String msg = MessageFormat.format("Properties file: ''{0}'' not found", fileName);
- throw new ServerException(msg);
- }
- return input;
+ @Override
+ public String get(final String key, final String defaultValue) {
+ final String value = properties.getProperty(key);
+ return value != null ? value : defaultValue;
+ }
+
+ private InputStream getInputStream(final String fileName) {
+ final InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(
+ fileName);
+ if (input == null) {
+ final String msg = MessageFormat.format("Properties file: ''{0}'' not found", fileName);
+ throw new ServerException(msg);
}
+ return input;
+ }
}
Modified: trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2011-05-15 15:21:25 UTC (rev 1392)
+++ trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2011-05-15 18:10:08 UTC (rev 1393)
@@ -28,6 +28,7 @@
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.IconLabelDescriptor;
import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
import cc.kune.core.client.sn.actions.SessionAction;
import cc.kune.core.client.state.Session;
@@ -43,14 +44,23 @@
public WaveStatusAction(final Session session, final I18nTranslationService i18n) {
super(session, true);
ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
+ private void goOnline() {
+ putValue(Action.NAME, i18n.t("Online"));
+ putValue(AbstractAction.STYLES, "k-sitebar-wave-status, k-sitebar-wave-status-online");
+ NotifyUser.hideProgress();
+ }
+
@Override
public void onNetworkStatus(final NetworkStatusEvent event) {
switch (event.getStatus()) {
case CONNECTED:
case RECONNECTED:
- putValue(Action.NAME, i18n.t("Online"));
- putValue(AbstractAction.STYLES, "k-sitebar-wave-status, k-sitebar-wave-status-online");
- NotifyUser.hideProgress();
+ session.check(new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ goOnline();
+ }
+ });
break;
case DISCONNECTED:
NotifyUser.showProgress(i18n.t("Connecting"));
1
0
Author: vjrj_
Date: 2011-05-15 17:21:25 +0200 (Sun, 15 May 2011)
New Revision: 1392
Modified:
trunk/pom.xml
Log:
junit reenabled
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-15 15:11:05 UTC (rev 1391)
+++ trunk/pom.xml 2011-05-15 15:21:25 UTC (rev 1392)
@@ -522,12 +522,12 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
+<!-- <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.14</version>
<scope>test</scope>
- </dependency>
+ </dependency> -->
<!-- If you want to start a selenium server, you will need the following
dependency: -->
<!-- <dependency> -->
@@ -808,6 +808,10 @@
<exclude>**/*_Roo_*</exclude>
</excludes>
<forkMode>pertest</forkMode>
+ <property>
+ <name>junit</name>
+ <value>true</value>
+ </property>
<!-- Skip the normal tests, we'll run them in the integration-test
phase -->
<skipTests>${skipTests}</skipTests>
1
0
r1391 - in trunk/src/main/java/cc/kune: common/client/ui core/client/init domain gspace/client/actions gspace/client/viewers
by Vicente J. Ruiz Jurado 15 May '11
by Vicente J. Ruiz Jurado 15 May '11
15 May '11
Author: vjrj_
Date: 2011-05-15 17:11:05 +0200 (Sun, 15 May 2011)
New Revision: 1391
Modified:
trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
trunk/src/main/java/cc/kune/domain/Container.java
trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java
trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
Log:
New contents notifications. Fetching issues...
Modified: trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -21,6 +21,7 @@
import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.client.ui.EditEvent.EditHandler;
+import cc.kune.common.client.utils.SimpleCallback;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.BlurEvent;
@@ -32,6 +33,7 @@
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.TextBox;
@@ -42,6 +44,8 @@
interface EditableLabelUiBinder extends UiBinder<Widget, EditableLabel> {
}
+ private static final int BLINK_TIME = 400;
+
private static EditableLabelUiBinder uiBinder = GWT.create(EditableLabelUiBinder.class);
private boolean editable;
@@ -63,6 +67,46 @@
return addHandler(handler, EditEvent.getType());
}
+ public void blink() {
+ if (editable) {
+ blinkTimer(true, new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ blinkTimer(false, new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ blinkTimer(true, new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ blinkTimer(false, new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ // nothing
+ }
+ });
+ }
+ });
+ }
+ });
+ }
+ });
+ }
+ }
+
+ private void blinkTimer(final boolean add, final SimpleCallback callback) {
+ new Timer() {
+ @Override
+ public void run() {
+ if (add) {
+ label.addStyleDependentName("high");
+ } else {
+ label.removeStyleDependentName("high");
+ }
+ callback.onCallback();
+ }
+ }.schedule(BLINK_TIME);
+ }
+
public void edit() {
if (editable) {
label.setVisible(false);
Modified: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -66,7 +66,8 @@
}
private void checkNavigatorCompatibility(final NavigatorSupport navSupport) {
- if (Navigator.getUserAgent().toLowerCase().contains("msie")) {
+ if (Navigator.getUserAgent().toLowerCase().contains("msie")
+ || Navigator.getUserAgent().toLowerCase().contains("opera")) {
navSupport.onNotSupported();
} else {
navSupport.onSupported();
Modified: trunk/src/main/java/cc/kune/domain/Container.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Container.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/domain/Container.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -110,7 +110,8 @@
// Parent/Child pattern:
// http://www.hibernate.org/hib_docs/reference/en/html/example-parentchild.html
// http://www.researchkitchen.co.uk/blog/archives/57
- @ManyToOne(fetch = FetchType.LAZY)
+ @LazyCollection(LazyCollectionOption.FALSE)
+ @ManyToOne(fetch = FetchType.EAGER)
@JoinColumn
private Container parent;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -75,7 +75,7 @@
stateManager.setRetrievedStateAndGo(state);
NotifyUser.hideProgress();
NotifyUser.info(i18n.tWithNT("[%s] created", "New folder created, for instance", newName));
- // folderViewer.editTitle();
+ folderViewer.blinkTitle();
}
});
cache.removeContent(session.getCurrentStateToken());
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -35,6 +35,7 @@
import cc.kune.core.shared.dto.HasContent;
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import com.google.gwt.resources.client.ImageResource;
import com.google.inject.Inject;
@@ -46,17 +47,21 @@
private final ContentCache cache;
private final Provider<ContentServiceAsync> contentService;
+ private final ContentViewerPresenter contentViewer;
+ private final I18nTranslationService i18n;
private final Session session;
private final StateManager stateManager;
@Inject
public NewContentAction(final Session session, final StateManager stateManager,
final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService,
- final ContentCache cache) {
+ final ContentViewerPresenter contentViewerPresenter, final ContentCache cache) {
super(AccessRolDTO.Editor, true);
this.session = session;
this.stateManager = stateManager;
+ this.i18n = i18n;
this.contentService = contentService;
+ this.contentViewer = contentViewerPresenter;
this.cache = cache;
}
@@ -64,15 +69,17 @@
public void actionPerformed(final ActionEvent event) {
NotifyUser.showProgressProcessing();
stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken());
- contentService.get().addContent(session.getUserHash(), session.getCurrentStateToken(),
- (String) getValue(NEW_NAME), (String) getValue(ID),
- new AsyncCallbackSimple<StateContentDTO>() {
+ final String newName = (String) getValue(NEW_NAME);
+ contentService.get().addContent(session.getUserHash(), session.getCurrentStateToken(), newName,
+ (String) getValue(ID), new AsyncCallbackSimple<StateContentDTO>() {
@Override
public void onSuccess(final StateContentDTO state) {
stateManager.setRetrievedStateAndGo(state);
NotifyUser.hideProgress();
// stateManager.refreshCurrentGroupState();
// contextNavigator.setEditOnNextStateChange(true);
+ NotifyUser.info(i18n.tWithNT("[%s] created", "New content created, for instance", newName));
+ contentViewer.blinkTitle();
}
});
cache.removeContent(session.getCurrentStateToken());
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -68,6 +68,11 @@
}
@Override
+ public void blinkTitle() {
+ contentTitle.blink();
+ }
+
+ @Override
public void clear() {
gsArmor.getSubheaderToolbar().clear();
UiUtils.clear(gsArmor.getDocContainer());
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -53,6 +53,10 @@
initWidget(flow);
}
+ public void blink() {
+ editableTitle.blink();
+ }
+
public void edit() {
editableTitle.edit();
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -124,6 +124,11 @@
}
@Override
+ public void blinkTitle() {
+ contentTitle.blink();
+ }
+
+ @Override
public void clear() {
onlyViewPanel.setHTML("");
gsArmor.getSubheaderToolbar().clear();
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -66,6 +66,8 @@
void attach();
+ void blinkTitle();
+
void clear();
void detach();
@@ -122,6 +124,10 @@
}
}
+ public void blinkTitle() {
+ getView().blinkTitle();
+ }
+
private void createEditHandler() {
editHandler = getView().getEditTitle().addEditHandler(new EditHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-15 10:58:22 UTC (rev 1390)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-15 15:11:05 UTC (rev 1391)
@@ -80,6 +80,8 @@
void attach();
+ void blinkTitle();
+
void clear();
void detach();
@@ -170,6 +172,10 @@
}
}
+ public void blinkTitle() {
+ getView().blinkTitle();
+ }
+
String calculateStyle(final int pos, final int length) {
if (length == 1) {
return CSSBTN;
1
0
Author: vjrj_
Date: 2011-05-15 12:58:22 +0200 (Sun, 15 May 2011)
New Revision: 1390
Modified:
trunk/src/main/java/cc/kune/core/public/ws.css
Log:
Rounded search
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-15 10:54:08 UTC (rev 1389)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-15 10:58:22 UTC (rev 1390)
@@ -1,4 +1,4 @@
-CHARSET "UTF-8 "; body {
+CHARSET "UTF-8 "; body {
background-color: white;
color: black;
font-family: 'Ubuntu', Arial;
@@ -1199,7 +1199,7 @@
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
+ kfilter: alpha(opacity = 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
@@ -1227,6 +1227,9 @@
padding-left: 1px;
color: #B3B3B3;
background: transparent;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
}
.k-sitebarsearch-img {
1
0
r1389 - in trunk/src/main: java/cc/kune/common/client/ui java/cc/kune/core/public java/cc/kune/gspace/client java/cc/kune/gspace/client/actions java/cc/kune/gspace/client/tags java/cc/kune/gspace/client/viewers resources
by Vicente J. Ruiz Jurado 15 May '11
by Vicente J. Ruiz Jurado 15 May '11
15 May '11
Author: vjrj_
Date: 2011-05-15 12:54:08 +0200 (Sun, 15 May 2011)
New Revision: 1389
Modified:
trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java
trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/tags/TagsSummaryPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
trunk/src/main/resources/log4j.dev.properties
trunk/src/main/resources/log4j.properties
Log:
Some feedback in folder creation
Modified: trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -63,6 +63,15 @@
return addHandler(handler, EditEvent.getType());
}
+ public void edit() {
+ if (editable) {
+ label.setVisible(false);
+ textbox.setVisible(true);
+ textbox.selectAll();
+ textbox.setFocus(true);
+ }
+ }
+
private void finishEdit() {
label.setText(textbox.getText());
label.setVisible(true);
@@ -84,12 +93,7 @@
@UiHandler("label")
void onClick(final ClickEvent e) {
- if (editable) {
- label.setVisible(false);
- textbox.setVisible(true);
- textbox.setFocus(true);
- textbox.selectAll();
- }
+ edit();
}
@UiHandler("label")
@@ -99,6 +103,11 @@
}
}
+ @UiHandler("textbox")
+ void onMouseOutTextBox(final MouseOutEvent event) {
+ finishEdit();
+ }
+
@UiHandler("label")
void onMouseOver(final MouseOverEvent event) {
if (editable) {
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-05-15 10:54:08 UTC (rev 1389)
@@ -1,4 +1,4 @@
-CHARSET "UTF-8 "; body {
+CHARSET "UTF-8 "; body {
background-color: white;
color: black;
font-family: 'Ubuntu', Arial;
@@ -1157,9 +1157,17 @@
font-size: 13px !important;
}
+.k-empty-folder-panel {
+ padding: 10px;
+ width: auto;
+ height: auto;
+}
+
.k-empty-msg {
- font-size: 16px;
+ font-size: 18px;
+ /* font-weight: bold; */
font-style: italic;
+ color: #A05A2C;
}
button.k-ent-header-btn {
@@ -1191,7 +1199,7 @@
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-left-radius: 5px;
- kfilter: alpha(opacity = 90);
+ kfilter: alpha(opacity = 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceArmorImpl.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -109,6 +109,7 @@
getDocSubheader().add(subheaderToolbar);
getDocFooter().add(footerToolbar);
entityToolsNorth.getElement().getStyle().setPosition(Position.RELATIVE);
+ // entityToolsSouth.setVisible(false);
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -32,6 +32,7 @@
import cc.kune.core.shared.dto.HasContent;
import cc.kune.core.shared.dto.StateContainerDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.viewers.FolderViewerPresenter;
import com.google.gwt.resources.client.ImageResource;
import com.google.inject.Inject;
@@ -43,6 +44,7 @@
private final ContentCache cache;
private final Provider<ContentServiceAsync> contentService;
+ private final FolderViewerPresenter folderViewer;
private final I18nTranslationService i18n;
private final Session session;
private final StateManager stateManager;
@@ -50,27 +52,30 @@
@Inject
public NewContainerAction(final Session session, final StateManager stateManager,
final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService,
- final ContentCache cache) {
+ final ContentCache cache, final FolderViewerPresenter folderViewer) {
super(AccessRolDTO.Editor, true);
this.session = session;
this.stateManager = stateManager;
this.i18n = i18n;
this.contentService = contentService;
this.cache = cache;
+ this.folderViewer = folderViewer;
}
@Override
public void actionPerformed(final ActionEvent event) {
NotifyUser.showProgressProcessing();
stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken());
- contentService.get().addFolder(session.getUserHash(), session.getCurrentStateToken(),
- (String) getValue(NEW_NAME), (String) getValue(ID),
- new AsyncCallbackSimple<StateContainerDTO>() {
+ final String newName = (String) getValue(NEW_NAME);
+ contentService.get().addFolder(session.getUserHash(), session.getCurrentStateToken(), newName,
+ (String) getValue(ID), new AsyncCallbackSimple<StateContainerDTO>() {
@Override
public void onSuccess(final StateContainerDTO state) {
// contextNavigator.setEditOnNextStateChange(true);
stateManager.setRetrievedStateAndGo(state);
NotifyUser.hideProgress();
+ NotifyUser.info(i18n.tWithNT("[%s] created", "New folder created, for instance", newName));
+ // folderViewer.editTitle();
}
});
cache.removeContent(session.getCurrentStateToken());
Modified: trunk/src/main/java/cc/kune/gspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/tags/TagsSummaryPanel.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/gspace/client/tags/TagsSummaryPanel.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -32,54 +32,56 @@
public class TagsSummaryPanel extends ViewImpl implements TagsSummaryView {
- private final FlowPanel flowPanel;
- private final I18nTranslationService i18n;
- private FlowPanel mainPanel;
+ private final FlowPanel flowPanel;
+ private final I18nTranslationService i18n;
+ private final FlowPanel mainPanel;
- @Inject
- public TagsSummaryPanel(final I18nTranslationService i18n, final GSpaceArmor ws) {
- this.i18n = i18n;
- mainPanel = new FlowPanel();
- flowPanel = new FlowPanel();
- flowPanel.setWidth("100%");
- Label header = new Label(i18n.t("Tags"));
- header.setTitle(i18n.t("Keywords or terms associated with this group"));
- // super.setBorderStylePrimaryName("k-dropdownouter-tags");
- flowPanel.addStyleName("kune-Margin-Small-trbl");
- flowPanel.addStyleName("k-tsp-cloud");
- header.addStyleName("k-sn-maintitle");
- mainPanel.addStyleName("k-sn-mainpanel");
- mainPanel.add(header);
- mainPanel.add(flowPanel);
- ws.getEntityToolsSouth().add(mainPanel);
- }
+ @Inject
+ public TagsSummaryPanel(final I18nTranslationService i18n, final GSpaceArmor ws) {
+ this.i18n = i18n;
+ mainPanel = new FlowPanel();
+ flowPanel = new FlowPanel();
+ flowPanel.setWidth("100%");
+ final Label header = new Label(i18n.t("Tags"));
+ header.setTitle(i18n.t("Keywords or terms associated with this group"));
+ // super.setBorderStylePrimaryName("k-dropdownouter-tags");
+ flowPanel.addStyleName("kune-Margin-Small-trbl");
+ flowPanel.addStyleName("k-tsp-cloud");
+ header.addStyleName("k-sn-maintitle");
+ mainPanel.addStyleName("k-sn-mainpanel");
+ mainPanel.add(header);
+ mainPanel.add(flowPanel);
+ // ws.getEntityToolsSouth().add(mainPanel);
+ }
- public void addTag(final String name, final Long count, final String style, ClickHandler clickHandler) {
- final Label label = new Label(name);
- // i18n pluralization
- if (count > 1) {
- label.setTitle(i18n.t("There are [%d] items with this tag", count));
- } else {
- label.setTitle(i18n.t("There are [%d] item with this tag", count));
- }
- label.addClickHandler(clickHandler);
- label.addStyleName("k-tsp-tag");
- label.addStyleName(style);
- flowPanel.add(label);
+ @Override
+ public void addTag(final String name, final Long count, final String style,
+ final ClickHandler clickHandler) {
+ final Label label = new Label(name);
+ // i18n pluralization
+ if (count > 1) {
+ label.setTitle(i18n.t("There are [%d] items with this tag", count));
+ } else {
+ label.setTitle(i18n.t("There are [%d] item with this tag", count));
}
+ label.addClickHandler(clickHandler);
+ label.addStyleName("k-tsp-tag");
+ label.addStyleName(style);
+ flowPanel.add(label);
+ }
- @Override
- public void clear() {
- flowPanel.clear();
- }
+ @Override
+ public Widget asWidget() {
+ return mainPanel;
+ }
- @Override
- public void setVisible(boolean visible) {
- mainPanel.setVisible(visible);
- }
+ @Override
+ public void clear() {
+ flowPanel.clear();
+ }
- @Override
- public Widget asWidget() {
- return mainPanel;
- }
+ @Override
+ public void setVisible(final boolean visible) {
+ mainPanel.setVisible(visible);
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -29,6 +29,7 @@
import cc.kune.gspace.client.viewers.FolderViewerPresenter.FolderViewerView;
import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
import com.google.gwt.user.client.ui.Widget;
@@ -37,7 +38,7 @@
public abstract class AbstractFolderViewerPanel extends ViewImpl implements FolderViewerView {
private final ContentCapabilitiesRegistry capabilitiesRegistry;
private final ContentTitleWidget contentTitle;
- private final InlineLabel emptyLabel;
+ private final FlowPanel emptyPanel;
protected final GSpaceArmor gsArmor;
protected final I18nTranslationService i18n;
protected Widget widget;
@@ -47,8 +48,11 @@
this.gsArmor = gsArmor;
this.i18n = i18n;
this.capabilitiesRegistry = capabilitiesRegistry;
- emptyLabel = new InlineLabel(i18n.t("This folder is empty."));
+ emptyPanel = new FlowPanel();
+ final InlineLabel emptyLabel = new InlineLabel(i18n.t("This is empty."));
emptyLabel.setStyleName("k-empty-msg");
+ emptyPanel.setStyleName("k-empty-folder-panel");
+ emptyPanel.add(emptyLabel);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
}
@@ -76,6 +80,11 @@
}
@Override
+ public void editTitle() {
+ contentTitle.edit();
+ }
+
+ @Override
public HasEditHandler getEditTitle() {
return contentTitle.getEditableTitle();
}
@@ -100,6 +109,6 @@
@Override
public void showEmptyMsg() {
- gsArmor.getDocContainer().add(emptyLabel);
+ gsArmor.getDocContainer().add(emptyPanel);
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentTitleWidget.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -53,6 +53,10 @@
initWidget(flow);
}
+ public void edit() {
+ editableTitle.edit();
+ }
+
public HasEditHandler getEditableTitle() {
return editableTitle;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-05-15 10:54:08 UTC (rev 1389)
@@ -84,6 +84,8 @@
void detach();
+ void editTitle();
+
HasEditHandler getEditTitle();
void setActions(GuiActionDescCollection actions);
@@ -248,6 +250,10 @@
getView().detach();
}
+ public void editTitle() {
+ getView().editTitle();
+ }
+
private String genId(final StateToken token) {
return "k-cnav-" + token.toString().replace(StateToken.SEPARATOR, "-");
}
Modified: trunk/src/main/resources/log4j.dev.properties
===================================================================
--- trunk/src/main/resources/log4j.dev.properties 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/resources/log4j.dev.properties 2011-05-15 10:54:08 UTC (rev 1389)
@@ -1,3 +1,4 @@
+# http://www.benmccann.com/dev-blog/sample-log4j-properties-file/
#------------------------------------------------------------------------------
#
# The following properties set the logging levels and log appender. The
Modified: trunk/src/main/resources/log4j.properties
===================================================================
--- trunk/src/main/resources/log4j.properties 2011-05-15 10:01:33 UTC (rev 1388)
+++ trunk/src/main/resources/log4j.properties 2011-05-15 10:54:08 UTC (rev 1389)
@@ -1,3 +1,4 @@
+# http://www.benmccann.com/dev-blog/sample-log4j-properties-file/
#------------------------------------------------------------------------------
#
# The following properties set the logging levels and log appender. The
1
0
Author: vjrj_
Date: 2011-05-15 12:01:33 +0200 (Sun, 15 May 2011)
New Revision: 1388
Added:
trunk/logs/
Modified:
trunk/.classpath
trunk/pom.xml
trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java
trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java
trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java
trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rack/filters/LogFilter.java
trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java
trunk/src/main/resources/META-INF/persistence.xml
trunk/src/main/resources/log4j.dev.properties
trunk/src/main/resources/log4j.properties
trunk/src/test/java/cc/kune/core/server/TestHelper.java
trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java
Log:
Some fixes, better logger conf and:
NEW - # 53: Add Selenium Framework testing
http://kune.ourproject.org/issues/ticket/53
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/.classpath 2011-05-15 10:01:33 UTC (rev 1388)
@@ -25,12 +25,14 @@
<classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar" sourcepath="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/communication-src/0.3.0-SNAPSHOT/communication-src-0.3.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.0-SNAPSHOT/concurrencycontrol-src-0.3.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar" sourcepath="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
@@ -65,6 +67,7 @@
<classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
<classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
<classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
@@ -74,12 +77,17 @@
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/beust/jcommander/1.5/jcommander-1.5.jar" sourcepath="M2_REPO/com/beust/jcommander/1.5/jcommander-1.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/json/json/20080701/json-20080701.jar" sourcepath="M2_REPO/org/json/json/20080701/json-20080701-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
@@ -101,19 +109,34 @@
<classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.0-SNAPSHOT/model-src-0.3.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.0-SNAPSHOT/proto-msg-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/w3c/css/sac/1.3/sac-1.3.jar" sourcepath="M2_REPO/org/w3c/css/sac/1.3/sac-1.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.1.0/smack-3.1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/jivesoftware/smackx/3.1.0/smackx-3.1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/testng/testng/5.14/testng-5.14.jar" sourcepath="M2_REPO/org/testng/testng/5.14/testng-5.14-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.0-SNAPSHOT/util-src-0.3.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-0.3/0.3.0-SNAPSHOT/waveinabox-server-0.3-0.3.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar" sourcepath="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/pom.xml 2011-05-15 10:01:33 UTC (rev 1388)
@@ -511,12 +511,31 @@
<!-- =roo -->
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium</artifactId>
+ <version>2.0a4</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.collections</groupId>
+ <artifactId>google-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>5.14</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- If you want to start a selenium server, you will need the following
+ dependency: -->
<!-- <dependency> -->
- <!-- <groupId>org.openqa.selenium.client-drivers</groupId> -->
- <!-- <artifactId>selenium-java-client-driver</artifactId> -->
- <!-- <version>1.0-beta-1</version> -->
- <!-- <scope>test</scope> -->
+ <!-- <groupId>org.seleniumhq.selenium</groupId> -->
+ <!-- <artifactId>selenium-server</artifactId> -->
+ <!-- <version>2.0a4</version> -->
<!-- </dependency> -->
+
<!-- public side -->
<dependency>
<groupId>org.jruby.rack</groupId>
@@ -740,7 +759,7 @@
</systemProperty>
<systemProperty>
<key>DEBUG</key>
- <value>true</value>
+ <value>false</value>
</systemProperty>
<systemProperty>
<!-- <key>org.eclipse.jetty.util.log.DEBUG</key> -->
Modified: trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/chat/client/KuneUnattendedPresenter.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -33,29 +33,26 @@
* Handles the presentation of unattended chats
*/
public class KuneUnattendedPresenter {
- private boolean active;
+ private boolean active;
- public KuneUnattendedPresenter(final EventBus eventBus, final HablarEventBus hablarEventBus,
- final SignalPreferences preferences, final UnattendedPagesManager unattendedManager,
- final ChatClientAction action) {
- active = false;
- hablarEventBus.addHandler(UnattendedChatsChangedEvent.TYPE, new UnattendedChatsChangedHandler() {
- @Override
- public void handleUnattendedChatChange(final UnattendedChatsChangedEvent event) {
- final int unattendedChatsCount = unattendedManager.getSize();
- if (unattendedChatsCount > 0 && active == false) {
- active = true;
- SndClickEvent.fire(eventBus);
- action.setBlink(true);
+ public KuneUnattendedPresenter(final EventBus eventBus, final HablarEventBus hablarEventBus,
+ final SignalPreferences preferences, final UnattendedPagesManager unattendedManager,
+ final ChatClientAction action) {
+ active = false;
+ hablarEventBus.addHandler(UnattendedChatsChangedEvent.TYPE, new UnattendedChatsChangedHandler() {
+ @Override
+ public void handleUnattendedChatChange(final UnattendedChatsChangedEvent event) {
+ final int unattendedChatsCount = unattendedManager.getSize();
+ if (unattendedChatsCount > 0 && active == false) {
+ active = true;
+ SndClickEvent.fire(eventBus);
+ action.setBlink(true);
- } else if (unattendedChatsCount == 0 && active == true) {
- action.setBlink(false);
- active = false;
- }
- }
-
- });
-
- }
-
+ } else if (unattendedChatsCount == 0 && active == true) {
+ action.setBlink(false);
+ active = false;
+ }
+ }
+ });
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterForm.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -30,99 +30,99 @@
public class RegisterForm extends DefaultForm {
- public static final String COUNTRY_FIELD = "k-urf-country-f";
- public static final String EMAIL_FIELD = "k-urf-email-f";
- public static final String LANG_FIELD = "k-urf-lang-f";
- public static final String LONGNAME_FIELD = "k-urf-long_name-f";
- public static final String NICK_FIELD = "k-urf-nick-f";
- public static final String NOPERSONALHOMEPAGE_ID = "k-urf-nphp-id";
- public static final String PASSWORD_FIELD = "k-urf-password-f";
- public static final String PASSWORD_FIELD_DUP = "k-urf-passwordDup-f";
- public static final String TIMEZONE_FIELD = "k-urf-timezone-f";
- public static final String WANNAPERSONALHOMEPAGE_ID = "k-urf-wphp-id";
- public static final String WANTHOMEPAGE_FIELD = "k-urf-wphp-f";
+ public static final String COUNTRY_FIELD = "k-urf-country-f";
+ public static final String EMAIL_FIELD = "k-urf-email-f";
+ public static final String LANG_FIELD = "k-urf-lang-f";
+ public static final String LONGNAME_FIELD = "k-urf-long_name-f";
+ public static final String NICK_FIELD = "k-urf-nick-f";
+ public static final String NOPERSONALHOMEPAGE_ID = "k-urf-nphp-id";
+ public static final String PASSWORD_FIELD = "k-urf-password-f";
+ public static final String PASSWORD_FIELD_DUP = "k-urf-passwordDup-f";
+ public static final String TIMEZONE_FIELD = "k-urf-timezone-f";
+ public static final String WANNAPERSONALHOMEPAGE_ID = "k-urf-wphp-id";
+ public static final String WANTHOMEPAGE_FIELD = "k-urf-wphp-f";
- private final TextField<String> emailRegField;
- private final TextField<String> longNameRegField;
- private final TextField<String> passwdRegField;
- private final TextField<String> shortNameRegField;
+ private final TextField<String> emailRegField;
+ private final TextField<String> longNameRegField;
+ private final TextField<String> passwdRegField;
+ private final TextField<String> shortNameRegField;
- public RegisterForm(final I18nTranslationService i18n, final Session session) {
- super.addStyleName("kune-Margin-Large-l");
+ public RegisterForm(final I18nTranslationService i18n, final Session session) {
+ super.addStyleName("kune-Margin-Large-l");
- shortNameRegField = new TextField<String>();
- shortNameRegField.setTabIndex(1);
- shortNameRegField.setFieldLabel(i18n.t("Nickname"));
- shortNameRegField.setName(NICK_FIELD);
- shortNameRegField.setWidth(DEF_SMALL_FIELD_WIDTH);
- shortNameRegField.setAllowBlank(false);
- shortNameRegField.setMinLength(3);
- shortNameRegField.setMaxLength(15);
- shortNameRegField.setRegex("^[a-z0-9]+$");
- shortNameRegField.getMessages().setMinLengthText(i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
- shortNameRegField.getMessages().setMaxLengthText(i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
- shortNameRegField.getMessages().setRegexText(i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
- shortNameRegField.setValidationDelay(1000);
- add(shortNameRegField);
+ shortNameRegField = new TextField<String>();
+ shortNameRegField.setTabIndex(1);
+ shortNameRegField.setFieldLabel(i18n.t("Username"));
+ shortNameRegField.setName(NICK_FIELD);
+ shortNameRegField.setWidth(DEF_SMALL_FIELD_WIDTH);
+ shortNameRegField.setAllowBlank(false);
+ shortNameRegField.setMinLength(3);
+ shortNameRegField.setMaxLength(15);
+ shortNameRegField.setRegex("^[a-z0-9]+$");
+ shortNameRegField.getMessages().setMinLengthText(i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameRegField.getMessages().setMaxLengthText(i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameRegField.getMessages().setRegexText(i18n.t(CoreMessages.FIELD_MUST_BE_BETWEEN_3_AND_15));
+ shortNameRegField.setValidationDelay(1000);
+ add(shortNameRegField);
- longNameRegField = new TextField<String>();
- longNameRegField.setTabIndex(2);
- longNameRegField.setFieldLabel(i18n.t("Full Name"));
- longNameRegField.setName(LONGNAME_FIELD);
- longNameRegField.setWidth(DEF_FIELD_WIDTH);
- longNameRegField.setAllowBlank(false);
- longNameRegField.setMinLength(3);
- longNameRegField.setMaxLength(50);
- // longNameRegField.setValidationEvent(false);
- longNameRegField.setId(LONGNAME_FIELD);
- add(longNameRegField);
+ longNameRegField = new TextField<String>();
+ longNameRegField.setTabIndex(2);
+ longNameRegField.setFieldLabel(i18n.t("Name"));
+ longNameRegField.setName(LONGNAME_FIELD);
+ longNameRegField.setWidth(DEF_FIELD_WIDTH);
+ longNameRegField.setAllowBlank(false);
+ longNameRegField.setMinLength(3);
+ longNameRegField.setMaxLength(50);
+ // longNameRegField.setValidationEvent(false);
+ longNameRegField.setId(LONGNAME_FIELD);
+ add(longNameRegField);
- passwdRegField = new TextField<String>();
- passwdRegField.setTabIndex(3);
- passwdRegField.setFieldLabel(i18n.t("Password"));
- passwdRegField.setName(PASSWORD_FIELD);
- passwdRegField.setPassword(true);
- passwdRegField.setAllowBlank(false);
- passwdRegField.setMinLength(6);
- passwdRegField.setMaxLength(40);
- passwdRegField.getMessages().setMinLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
- passwdRegField.getMessages().setMaxLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
- passwdRegField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
- passwdRegField.setValidationDelay(1000);
- passwdRegField.setId(PASSWORD_FIELD);
- add(passwdRegField);
+ passwdRegField = new TextField<String>();
+ passwdRegField.setTabIndex(3);
+ passwdRegField.setFieldLabel(i18n.t("Password"));
+ passwdRegField.setName(PASSWORD_FIELD);
+ passwdRegField.setPassword(true);
+ passwdRegField.setAllowBlank(false);
+ passwdRegField.setMinLength(6);
+ passwdRegField.setMaxLength(40);
+ passwdRegField.getMessages().setMinLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
+ passwdRegField.getMessages().setMaxLengthText(i18n.t(CoreMessages.PASSWD_MUST_BE_BETWEEN_6_AND_40));
+ passwdRegField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
+ passwdRegField.setValidationDelay(1000);
+ passwdRegField.setId(PASSWORD_FIELD);
+ add(passwdRegField);
- // http://www.sencha.com/forum/showthread.php?49702-GXT-Form-Validation
- emailRegField = new TextField<String>();
- emailRegField.setTabIndex(5);
- emailRegField.setFieldLabel(i18n.t("Email"));
- emailRegField.setName(EMAIL_FIELD);
- emailRegField.setRegex(TextUtils.EMAIL_REGEXP);
- emailRegField.getMessages().setRegexText(i18n.t("This is not a valid email"));
- emailRegField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
- emailRegField.setAllowBlank(false);
- emailRegField.setValidationDelay(1000);
- emailRegField.setId(EMAIL_FIELD);
- add(emailRegField);
- }
+ // http://www.sencha.com/forum/showthread.php?49702-GXT-Form-Validation
+ emailRegField = new TextField<String>();
+ emailRegField.setTabIndex(5);
+ emailRegField.setFieldLabel(i18n.t("Email"));
+ emailRegField.setName(EMAIL_FIELD);
+ emailRegField.setRegex(TextUtils.EMAIL_REGEXP);
+ emailRegField.getMessages().setRegexText(i18n.t("This is not a valid email"));
+ emailRegField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
+ emailRegField.setAllowBlank(false);
+ emailRegField.setValidationDelay(1000);
+ emailRegField.setId(EMAIL_FIELD);
+ add(emailRegField);
+ }
- public String getEmail() {
- return emailRegField.getValue();
- }
+ public String getEmail() {
+ return emailRegField.getValue();
+ }
- public String getLongName() {
- return longNameRegField.getValue();
- }
+ public String getLongName() {
+ return longNameRegField.getValue();
+ }
- public String getRegisterPassword() {
- return passwdRegField.getValue();
- }
+ public String getRegisterPassword() {
+ return passwdRegField.getValue();
+ }
- public String getShortName() {
- return shortNameRegField.getValue();
- }
+ public String getShortName() {
+ return shortNameRegField.getValue();
+ }
- public Field<String> getShortNameField() {
- return shortNameRegField;
- }
+ public Field<String> getShortNameField() {
+ return shortNameRegField;
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -30,75 +30,75 @@
import com.extjs.gxt.ui.client.widget.form.TextField;
public class SignInForm extends DefaultForm {
- public static final String NICKOREMAIL_FIELD = "kune-sif-nkf";
- public static final String PASSWORD_FIELD = "kune-sif-psf";
+ public static final String NICKOREMAIL_FIELD = "kune-sif-nkf";
+ public static final String PASSWORD_FIELD = "kune-sif-psf";
- private final TextField<String> loginNickOrEmailField;
- private final TextField<String> loginPassField;
- private OnAcceptCallback onAcceptCallback;
+ private final TextField<String> loginNickOrEmailField;
+ private final TextField<String> loginPassField;
+ private OnAcceptCallback onAcceptCallback;
- public SignInForm(final I18nTranslationService i18n) {
- super.addStyleName("kune-Margin-Large-trbl");
+ public SignInForm(final I18nTranslationService i18n) {
+ super.addStyleName("kune-Margin-Large-trbl");
- loginNickOrEmailField = new TextField<String>();
- loginNickOrEmailField.setFieldLabel(i18n.t("Nickname"));
- loginNickOrEmailField.setName(NICKOREMAIL_FIELD);
- loginNickOrEmailField.setWidth(DEF_SMALL_FIELD_WIDTH);
- loginNickOrEmailField.setAllowBlank(false);
- loginNickOrEmailField.setValidationDelay(1000);
- loginNickOrEmailField.setId(NICKOREMAIL_FIELD);
- loginNickOrEmailField.setTabIndex(100);
- super.add(loginNickOrEmailField);
+ loginNickOrEmailField = new TextField<String>();
+ loginNickOrEmailField.setFieldLabel(i18n.t("Username"));
+ loginNickOrEmailField.setName(NICKOREMAIL_FIELD);
+ loginNickOrEmailField.setWidth(DEF_SMALL_FIELD_WIDTH);
+ loginNickOrEmailField.setAllowBlank(false);
+ loginNickOrEmailField.setValidationDelay(1000);
+ loginNickOrEmailField.setId(NICKOREMAIL_FIELD);
+ loginNickOrEmailField.setTabIndex(100);
+ super.add(loginNickOrEmailField);
- loginPassField = new TextField<String>();
- loginPassField.setFieldLabel(i18n.t("Password"));
- loginPassField.setName(PASSWORD_FIELD);
- loginPassField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
- loginPassField.setPassword(true);
- loginPassField.setAllowBlank(false);
- loginPassField.setValidationDelay(1000);
- loginPassField.setId(PASSWORD_FIELD);
- loginPassField.setTabIndex(101);
- loginPassField.addListener(Events.OnKeyPress, new Listener<FieldEvent>() {
- @Override
- public void handleEvent(final FieldEvent fe) {
- if (fe.getEvent().getKeyCode() == 13) {
- onAcceptCallback.onSuccess();
- }
- }
- });
- super.add(loginPassField);
- }
+ loginPassField = new TextField<String>();
+ loginPassField.setFieldLabel(i18n.t("Password"));
+ loginPassField.setName(PASSWORD_FIELD);
+ loginPassField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
+ loginPassField.setPassword(true);
+ loginPassField.setAllowBlank(false);
+ loginPassField.setValidationDelay(1000);
+ loginPassField.setId(PASSWORD_FIELD);
+ loginPassField.setTabIndex(101);
+ loginPassField.addListener(Events.OnKeyPress, new Listener<FieldEvent>() {
+ @Override
+ public void handleEvent(final FieldEvent fe) {
+ if (fe.getEvent().getKeyCode() == 13) {
+ onAcceptCallback.onSuccess();
+ }
+ }
+ });
+ super.add(loginPassField);
+ }
- public void focusLogin() {
- loginNickOrEmailField.focus();
- }
+ public void focusLogin() {
+ loginNickOrEmailField.focus();
+ }
- public void focusOnPassword() {
- loginPassField.focus();
- }
+ public void focusOnPassword() {
+ loginPassField.focus();
+ }
- public String getLoginPassword() {
- return loginPassField.getValue();
- }
+ public String getLoginPassword() {
+ return loginPassField.getValue();
+ }
- public String getNickOrEmail() {
- return loginNickOrEmailField.getValue();
- }
+ public String getNickOrEmail() {
+ return loginNickOrEmailField.getValue();
+ }
- public Field<String> getNickOrEmailField() {
- return loginNickOrEmailField;
- }
+ public Field<String> getNickOrEmailField() {
+ return loginNickOrEmailField;
+ }
- public void setLoginPassword(final String password) {
- loginPassField.setValue(password);
- }
+ public void setLoginPassword(final String password) {
+ loginPassField.setValue(password);
+ }
- public void setNickOrEmail(final String nickOrEmail) {
- loginNickOrEmailField.setValue(nickOrEmail);
- }
+ public void setNickOrEmail(final String nickOrEmail) {
+ loginNickOrEmailField.setValue(nickOrEmail);
+ }
- public void setOnPasswordReturn(final OnAcceptCallback onAcceptCallback) {
- this.onAcceptCallback = onAcceptCallback;
- }
+ public void setOnPasswordReturn(final OnAcceptCallback onAcceptCallback) {
+ this.onAcceptCallback = onAcceptCallback;
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -27,7 +27,7 @@
public final static String ENT_LOGO_SELECTOR_PERSON_TITLE = "Avatar";
public final static String FIELD_MUST_BE_BETWEEN_3_AND_15 = "The name must be between 3 and 15 lowercase characters. It can only contain Western characters and numbers";
public final static String GROUP_OPTIONS_DIALOG_TITLE = "Group options";
- public final static String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The nickname/email/password is incorrect";
+ public final static String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The username/password is incorrect";
public final static String MEMBERS_NOT_PUBLIC = "The members of this group are not public";
public final static String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name";
public final static String NAME_IN_USE = "This name in already in use. Please try with a different name";
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -304,7 +304,7 @@
@Override
public void setModifiedOn(final Content content, final long lastModifiedTime) {
content.setModifiedOn(lastModifiedTime);
- persist(content);
+ // persist(content);//
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/rack/filters/LogFilter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rack/filters/LogFilter.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/core/server/rack/filters/LogFilter.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -34,21 +34,31 @@
import cc.kune.core.server.rack.RackHelper;
public class LogFilter implements Filter {
- public static final Log LOG = LogFactory.getLog(LogFilter.class);
+ public static final Log LOG = LogFactory.getLog(LogFilter.class);
+ private final boolean logduration = false;
- public void destroy() {
- }
+ @Override
+ public void destroy() {
+ }
- public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
- throws IOException, ServletException {
- // final long start = System.currentTimeMillis();
- LOG.debug("REQUEST: " + RackHelper.getURI(request));
- chain.doFilter(request, response);
- // final long finish = System.currentTimeMillis();
- // log.debug("TOTAL TIME: " + (finish - start) + " miliseconds");
+ @Override
+ public void doFilter(final ServletRequest request, final ServletResponse response,
+ final FilterChain chain) throws IOException, ServletException {
+ long start;
+ if (logduration) {
+ start = System.currentTimeMillis();
}
-
- public void init(final FilterConfig filterConfig) throws ServletException {
+ final String uri = RackHelper.getURI(request);
+ LOG.debug("REQUEST: " + uri);
+ chain.doFilter(request, response);
+ if (logduration) {
+ final long finish = System.currentTimeMillis();
+ LOG.debug("Total time '" + uri + "': " + (finish - start) + " miliseconds");
}
+ }
+ @Override
+ public void init(final FilterConfig filterConfig) throws ServletException {
+ }
+
}
Modified: trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/java/cc/kune/wave/server/CustomSettingsBinder.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -51,145 +51,152 @@
*/
public class CustomSettingsBinder {
- /**
- * Used to validate that a type is supported. Some types may have generic
- * parameters that need to be checked.
- */
- private interface SettingTypeValidator {
- boolean check(Type type);
+ /**
+ * Used to validate that a type is supported. Some types may have generic
+ * parameters that need to be checked.
+ */
+ private interface SettingTypeValidator {
+ boolean check(Type type);
+ }
+
+ /**
+ * This default validator just returns true.
+ */
+ private static final SettingTypeValidator DEFAULT_TYPE_VALIDATOR = new SettingTypeValidator() {
+ @Override
+ public boolean check(final Type type) {
+ return true;
}
+ };
- private static final Map<Type, SettingTypeValidator> supportedSettingTypes; // NOPMD by vjrj on 18/01/11 0:53
-
- /**
- * This default validator just returns true.
- */
- private static final SettingTypeValidator DEFAULT_TYPE_VALIDATOR = new SettingTypeValidator() {
- @Override
- public boolean check(Type type) {
+ /**
+ * This validator checks to make sure the {@link List}'s generic parameter is
+ * also supported.
+ */
+ private static final SettingTypeValidator LIST_TYPE_VALIDATOR = new SettingTypeValidator() {
+ @Override
+ public boolean check(final Type type) {
+ if (type instanceof ParameterizedType) {
+ final Type[] args = ((ParameterizedType) type).getActualTypeArguments();
+ if (args.length == 1) {
+ // At the moment only List<String> is supported.
+ if (args[0] == String.class) {
return true;
+ }
}
- };
+ }
+ return false;
+ }
+ };
- /**
- * This validator checks to make sure the {@link List}'s generic parameter
- * is also supported.
- */
- private static final SettingTypeValidator LIST_TYPE_VALIDATOR = new SettingTypeValidator() {
- @Override
- public boolean check(Type type) {
- if (type instanceof ParameterizedType) {
- Type[] args = ((ParameterizedType) type).getActualTypeArguments();
- if (args.length == 1) {
- // At the moment only List<String> is supported.
- if (args[0] == String.class) {
- return true;
- }
- }
- }
- return false;
- }
- };
+ private static final Map<Type, SettingTypeValidator> supportedSettingTypes; // NOPMD
+ // by
+ // vjrj
+ // on
+ // 18/01/11
+ // 0:53
- static {
- ImmutableMap.Builder<Type, SettingTypeValidator> builder = ImmutableMap.builder();
- builder.put(int.class, DEFAULT_TYPE_VALIDATOR);
- builder.put(boolean.class, DEFAULT_TYPE_VALIDATOR);
- builder.put(String.class, DEFAULT_TYPE_VALIDATOR);
- builder.put(List.class, LIST_TYPE_VALIDATOR);
- supportedSettingTypes = builder.build();
- }
+ static {
+ final ImmutableMap.Builder<Type, SettingTypeValidator> builder = ImmutableMap.builder();
+ builder.put(int.class, DEFAULT_TYPE_VALIDATOR);
+ builder.put(boolean.class, DEFAULT_TYPE_VALIDATOR);
+ builder.put(String.class, DEFAULT_TYPE_VALIDATOR);
+ builder.put(List.class, LIST_TYPE_VALIDATOR);
+ supportedSettingTypes = builder.build();
+ }
- /**
- * Bind configuration parameters into Guice Module.
- *
- * @return a Guice module configured with setting support.
- * @throws ConfigurationException
- * on configuration error
- */
- public static Module bindSettings(String propertyFile, Class<?>... settingsArg) throws ConfigurationException {
- final CompositeConfiguration config = new CompositeConfiguration();
- config.addConfiguration(new SystemConfiguration());
- config.addConfiguration(new PropertiesConfiguration(propertyFile));
+ /**
+ * Bind configuration parameters into Guice Module.
+ *
+ * @return a Guice module configured with setting support.
+ * @throws ConfigurationException
+ * on configuration error
+ */
+ public static Module bindSettings(final String propertyFile, final Class<?>... settingsArg)
+ throws ConfigurationException {
+ final CompositeConfiguration config = new CompositeConfiguration();
+ config.addConfiguration(new SystemConfiguration());
+ config.addConfiguration(new PropertiesConfiguration(propertyFile));
- List<Field> fields = new ArrayList<Field>();
- for (Class<?> settings : settingsArg) {
- fields.addAll(Arrays.asList(settings.getDeclaredFields()));
- }
+ final List<Field> fields = new ArrayList<Field>();
+ for (final Class<?> settings : settingsArg) {
+ fields.addAll(Arrays.asList(settings.getDeclaredFields()));
+ }
- // Reflect on settings class and absorb settings
- final Map<Setting, Field> settings = new LinkedHashMap<Setting, Field>();
- for (Field field : fields) {
- if (!field.isAnnotationPresent(Setting.class)) {
- continue;
- }
+ // Reflect on settings class and absorb settings
+ final Map<Setting, Field> settings = new LinkedHashMap<Setting, Field>();
+ for (final Field field : fields) {
+ if (!field.isAnnotationPresent(Setting.class)) {
+ continue;
+ }
- // Validate target type
- SettingTypeValidator typeHelper = supportedSettingTypes.get(field.getType());
- if (typeHelper == null || !typeHelper.check(field.getGenericType())) {
- throw new IllegalArgumentException(field.getType() + " is not one of the supported setting types");
- }
+ // Validate target type
+ final SettingTypeValidator typeHelper = supportedSettingTypes.get(field.getType());
+ if (typeHelper == null || !typeHelper.check(field.getGenericType())) {
+ throw new IllegalArgumentException(field.getType()
+ + " is not one of the supported setting types");
+ }
- Setting setting = field.getAnnotation(Setting.class);
- settings.put(setting, field);
- }
+ final Setting setting = field.getAnnotation(Setting.class);
+ settings.put(setting, field);
+ }
- // Now validate them
- List<String> missingProperties = new ArrayList<String>();
- for (Setting setting : settings.keySet()) {
- if (setting.defaultValue().isEmpty()) {
- if (!config.containsKey(setting.name())) {
- missingProperties.add(setting.name());
- }
- }
+ // Now validate them
+ final List<String> missingProperties = new ArrayList<String>();
+ for (final Setting setting : settings.keySet()) {
+ if (setting.defaultValue().isEmpty()) {
+ if (!config.containsKey(setting.name())) {
+ missingProperties.add(setting.name());
}
- if (missingProperties.size() > 0) {
- StringBuilder error = new StringBuilder();
- error.append("The following required properties are missing from the server configuration: ");
- error.append(Joiner.on(", ").join(missingProperties));
- throw new ConfigurationException(error.toString());
- }
+ }
+ }
+ if (missingProperties.size() > 0) {
+ final StringBuilder error = new StringBuilder();
+ error.append("The following required properties are missing from the server configuration: ");
+ error.append(Joiner.on(", ").join(missingProperties));
+ throw new ConfigurationException(error.toString());
+ }
- // bundle everything up in an injectable guice module
- return new AbstractModule() {
+ // bundle everything up in an injectable guice module
+ return new AbstractModule() {
- @Override
- protected void configure() {
- // We must iterate the settings a third time when binding.
- // Note: do not collapse these loops as that will damage
- // early error detection. The runtime is still O(n) in setting
- // count.
- for (Map.Entry<Setting, Field> entry : settings.entrySet()) {
- Class<?> type = entry.getValue().getType();
- Setting setting = entry.getKey();
+ @Override
+ protected void configure() {
+ // We must iterate the settings a third time when binding.
+ // Note: do not collapse these loops as that will damage
+ // early error detection. The runtime is still O(n) in setting
+ // count.
+ for (final Map.Entry<Setting, Field> entry : settings.entrySet()) {
+ final Class<?> type = entry.getValue().getType();
+ final Setting setting = entry.getKey();
- if (int.class.equals(type)) {
- Integer defaultValue = null;
- if (!setting.defaultValue().isEmpty()) {
- defaultValue = Integer.parseInt(setting.defaultValue());
- }
- bindConstant().annotatedWith(Names.named(setting.name())).to(
- config.getInteger(setting.name(), defaultValue));
- } else if (boolean.class.equals(type)) {
- Boolean defaultValue = null;
- if (!setting.defaultValue().isEmpty()) {
- defaultValue = Boolean.parseBoolean(setting.defaultValue());
- }
- bindConstant().annotatedWith(Names.named(setting.name())).to(
- config.getBoolean(setting.name(), defaultValue));
- } else if (String.class.equals(type)) {
- bindConstant().annotatedWith(Names.named(setting.name())).to(
- config.getString(setting.name(), setting.defaultValue()));
- } else {
- String[] value = config.getStringArray(setting.name());
- if (value.length == 0 && !setting.defaultValue().isEmpty()) {
- value = setting.defaultValue().split(",");
- }
- bind(new TypeLiteral<List<String>>() {
- }).annotatedWith(Names.named(setting.name())).toInstance(ImmutableList.copyOf(value));
- }
- }
+ if (int.class.equals(type)) {
+ Integer defaultValue = null;
+ if (!setting.defaultValue().isEmpty()) {
+ defaultValue = Integer.parseInt(setting.defaultValue());
}
- };
- }
+ bindConstant().annotatedWith(Names.named(setting.name())).to(
+ config.getInteger(setting.name(), defaultValue));
+ } else if (boolean.class.equals(type)) {
+ Boolean defaultValue = null;
+ if (!setting.defaultValue().isEmpty()) {
+ defaultValue = Boolean.parseBoolean(setting.defaultValue());
+ }
+ bindConstant().annotatedWith(Names.named(setting.name())).to(
+ config.getBoolean(setting.name(), defaultValue));
+ } else if (String.class.equals(type)) {
+ bindConstant().annotatedWith(Names.named(setting.name())).to(
+ config.getString(setting.name(), setting.defaultValue()));
+ } else {
+ String[] value = config.getStringArray(setting.name());
+ if (value.length == 0 && !setting.defaultValue().isEmpty()) {
+ value = setting.defaultValue().split(",");
+ }
+ bind(new TypeLiteral<List<String>>() {
+ }).annotatedWith(Names.named(setting.name())).toInstance(ImmutableList.copyOf(value));
+ }
+ }
+ }
+ };
+ }
}
Modified: trunk/src/main/resources/META-INF/persistence.xml
===================================================================
--- trunk/src/main/resources/META-INF/persistence.xml 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/resources/META-INF/persistence.xml 2011-05-15 10:01:33 UTC (rev 1388)
@@ -43,7 +43,7 @@
<property name="hibernate.connection.password" value="db4kune" />
<!-- http://stackoverflow.com/questions/221379/hibernate-hbm2ddl-auto-update-in-…
- (NO!, une liquibase, for instance) -->
+ (NO!, use liquibase, for instance) -->
<!-- http://stackoverflow.com/questions/438146/hibernate-question-hbm2ddl-auto-p… -->
<property name="hibernate.hbm2ddl.auto" value="update" />
<!-- https://www.hibernate.org/214.html -->
Modified: trunk/src/main/resources/log4j.dev.properties
===================================================================
--- trunk/src/main/resources/log4j.dev.properties 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/resources/log4j.dev.properties 2011-05-15 10:01:33 UTC (rev 1388)
@@ -1,10 +1,64 @@
-log4j.rootLogger=ERROR, stdout
-log4j.logger.org.ourproject=DEBUG
-log4j.logger.cc.kune=DEBUG;
-log4j.logger.org.waveprotocol=INFO;
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-#log4j.appender.stdout.layout=org.apache.log4j.TTCCLayout
-#log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-#log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p - %m%n
\ No newline at end of file
+#------------------------------------------------------------------------------
+#
+# The following properties set the logging levels and log appender. The
+# log4j.rootCategory variable defines the default log level and one or more
+# appenders. For the console, use 'S'. For the daily rolling file, use 'R'.
+# For an HTML formatted log, use 'H'.
+
+# This file configures log4j to log any messages of level info or higher to
+# the console except for classes under the cc.kune, org.waveprotocol, etc
+#
+# To override the default (rootCategory) log level, define a property of the
+# form (see below for available values):
+#
+# log4j.logger. =
+#
+# Available logger names:
+# TODO
+#
+# Possible Log Levels:
+# FATAL, ERROR, WARN, INFO, DEBUG
+#
+#------------------------------------------------------------------------------
+log4j.rootCategory=ERROR, R
+
+log4j.logger.org.ourproject=ERROR;
+log4j.logger.cc.kune=ERROR;
+log4j.logger.org.waveprotocol=ERROR;
+log4j.logger.org.google=ERROR
+
+#------------------------------------------------------------------------------
+#
+# The following properties configure the console (stdout) appender.
+# See http://logging.apache.org/log4j/docs/api/index.html for details.
+#
+#------------------------------------------------------------------------------
+log4j.appender.S = org.apache.log4j.ConsoleAppender
+log4j.appender.S.layout = org.apache.log4j.PatternLayout
+log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
+# Previous:
+# log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p - %m%n
+#------------------------------------------------------------------------------
+#
+# The following properties configure the Daily Rolling File appender.
+# See http://logging.apache.org/log4j/docs/api/index.html for details.
+#
+#------------------------------------------------------------------------------
+log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
+log4j.appender.R.File = logs/kune.log
+log4j.appender.R.Append = true
+log4j.appender.R.DatePattern = '.'yyy-MM-dd
+log4j.appender.R.layout = org.apache.log4j.PatternLayout
+log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
+
+#------------------------------------------------------------------------------
+#
+# The following properties configure the Rolling File appender in HTML.
+# See http://logging.apache.org/log4j/docs/api/index.html for details.
+#
+#------------------------------------------------------------------------------
+log4j.appender.H = org.apache.log4j.RollingFileAppender
+log4j.appender.H.File = logs/kune.html
+log4j.appender.H.MaxFileSize = 100KB
+log4j.appender.H.Append = false
+log4j.appender.H.layout = org.apache.log4j.HTMLLayout
\ No newline at end of file
Modified: trunk/src/main/resources/log4j.properties
===================================================================
--- trunk/src/main/resources/log4j.properties 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/main/resources/log4j.properties 2011-05-15 10:01:33 UTC (rev 1388)
@@ -1,19 +1,65 @@
-log4j.rootLogger=error, stdout
-log4j.logger.org.ourproject=DEBUG;
-log4j.logger.cc.kune=DEBUG;
-log4j.logger.org.waveprotocol=INFO;
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+#------------------------------------------------------------------------------
+#
+# The following properties set the logging levels and log appender. The
+# log4j.rootCategory variable defines the default log level and one or more
+# appenders. For the console, use 'S'. For the daily rolling file, use 'R'.
+# For an HTML formatted log, use 'H'.
-# Print the date in ISO 8601 format
-log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
+# This file configures log4j to log any messages of level info or higher to
+# the console except for classes under the cc.kune, org.waveprotocol, etc
+#
+# To override the default (rootCategory) log level, define a property of the
+# form (see below for available values):
+#
+# log4j.logger. =
+#
+# Available logger names:
+# TODO
+#
+# Possible Log Levels:
+# FATAL, ERROR, WARN, INFO, DEBUG
+#
+#------------------------------------------------------------------------------
+log4j.rootCategory=ERROR, S
-log4j.appender.R=org.apache.log4j.RollingFileAppender
-log4j.appender.R.File=application.log
+log4j.logger.org.ourproject=ERROR;
+log4j.logger.cc.kune=ERROR;
+log4j.logger.org.waveprotocol=ERROR;
+log4j.logger.org.google=ERROR
-log4j.appender.R.MaxFileSize=100KB
-# Keep one backup file
-log4j.appender.R.MaxBackupIndex=1
+#------------------------------------------------------------------------------
+#
+# The following properties configure the console (stdout) appender.
+# See http://logging.apache.org/log4j/docs/api/index.html for details.
+#
+#------------------------------------------------------------------------------
+log4j.appender.S = org.apache.log4j.ConsoleAppender
+log4j.appender.S.layout = org.apache.log4j.PatternLayout
+log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
+# Previous:
+# log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
+#------------------------------------------------------------------------------
+#
+# The following properties configure the Daily Rolling File appender.
+# See http://logging.apache.org/log4j/docs/api/index.html for details.
+#
+#------------------------------------------------------------------------------
+log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
+log4j.appender.R.File = logs/kune.log
+log4j.appender.R.Append = true
+log4j.appender.R.DatePattern = '.'yyy-MM-dd
+log4j.appender.R.layout = org.apache.log4j.PatternLayout
+log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
+
+#------------------------------------------------------------------------------
+#
+# The following properties configure the Rolling File appender in HTML.
+# See http://logging.apache.org/log4j/docs/api/index.html for details.
+#
+#------------------------------------------------------------------------------
+log4j.appender.H = org.apache.log4j.RollingFileAppender
+log4j.appender.H.File = logs/kune.html
+log4j.appender.H.MaxFileSize = 100KB
+log4j.appender.H.Append = false
+log4j.appender.H.layout = org.apache.log4j.HTMLLayout
\ No newline at end of file
Modified: trunk/src/test/java/cc/kune/core/server/TestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/TestHelper.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/test/java/cc/kune/core/server/TestHelper.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -50,48 +50,49 @@
import com.google.inject.servlet.SessionScoped;
public abstract class TestHelper {
- public static Injector create(final Module module, final String persistenceUnit, final String propetiesFileName) {
- try {
- final Injector injector = Guice.createInjector(CustomSettingsBinder.bindSettings(
- TestConstants.WAVE_TEST_PROPFILE, CoreSettings.class));
- final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
- final NoOpFederationModule federationModule = injector.getInstance(NoOpFederationModule.class);
- final Injector childInjector = injector.createChildInjector(wavePersistModule, new ServerModule(false),
- new RobotApiModule(), federationModule, FinderRegistry.init(new JpaPersistModule(persistenceUnit)),
- module, new Module() {
- @Override
- public void configure(final Binder binder) {
- binder.bindScope(SessionScoped.class, Scopes.SINGLETON);
- binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
- binder.bindConstant().annotatedWith(PropertiesFileName.class).to(propetiesFileName);
- binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
- }
- });
- try {
- childInjector.getInstance(WaveServerImpl.class).initialize();
- } catch (final WaveServerException e) {
- e.printStackTrace();
- }
- final AccountStore accountStore = childInjector.getInstance(AccountStore.class);
- accountStore.initializeAccountStore();
- AccountStoreHolder.resetForTesting();
- AccountStoreHolder.init(accountStore,
- childInjector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN))));
- return childInjector;
- } catch (final ConfigurationException e) {
- e.printStackTrace();
- } catch (final PersistenceException e) {
- e.printStackTrace();
+ public static Injector create(final Module module, final String persistenceUnit,
+ final String propetiesFileName) {
+ try {
+ final Injector injector = Guice.createInjector(CustomSettingsBinder.bindSettings(
+ TestConstants.WAVE_TEST_PROPFILE, CoreSettings.class));
+ final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
+ final NoOpFederationModule federationModule = injector.getInstance(NoOpFederationModule.class);
+ final Injector childInjector = injector.createChildInjector(wavePersistModule, new ServerModule(
+ false), new RobotApiModule(), federationModule, FinderRegistry.init(new JpaPersistModule(
+ persistenceUnit)), module, new Module() {
+ @Override
+ public void configure(final Binder binder) {
+ binder.bindScope(SessionScoped.class, Scopes.SINGLETON);
+ binder.bindScope(RequestScoped.class, Scopes.SINGLETON);
+ binder.bindConstant().annotatedWith(PropertiesFileName.class).to(propetiesFileName);
+ binder.bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
}
- return null;
+ });
+ try {
+ childInjector.getInstance(WaveServerImpl.class).initialize();
+ } catch (final WaveServerException e) {
+ e.printStackTrace();
+ }
+ final AccountStore accountStore = childInjector.getInstance(AccountStore.class);
+ accountStore.initializeAccountStore();
+ AccountStoreHolder.resetForTesting();
+ AccountStoreHolder.init(accountStore,
+ childInjector.getInstance(Key.get(String.class, Names.named(CoreSettings.WAVE_SERVER_DOMAIN))));
+ return childInjector;
+ } catch (final ConfigurationException e) {
+ e.printStackTrace();
+ } catch (final PersistenceException e) {
+ e.printStackTrace();
}
+ return null;
+ }
- public static void inject(final Object target) {
- // test: use memory
- // test_db: use mysql
- // Also configurable ein PersistenceTest
- TestHelper.create(new PlatformServerModule(), TestConstants.PERSISTENCE_UNIT, "kune.properties").injectMembers(
- target);
- }
+ public static void inject(final Object target) {
+ // test: use memory
+ // test_db: use mysql
+ // Also configurable ein PersistenceTest
+ TestHelper.create(new PlatformServerModule(), TestConstants.PERSISTENCE_UNIT, "kune.properties").injectMembers(
+ target);
+ }
}
Modified: trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/test/java/cc/kune/core/server/integration/IntegrationTestHelper.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -50,42 +50,43 @@
public class IntegrationTestHelper {
- public static Injector createInjector() {
- Injector injector;
- try {
- injector = Guice.createInjector(CustomSettingsBinder.bindSettings(TestConstants.WAVE_TEST_PROPFILE,
- CoreSettings.class));
- final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
- final NoOpFederationModule federationModule = injector.getInstance(NoOpFederationModule.class);
- final Injector childInjector = injector.createChildInjector(wavePersistModule,
- FinderRegistry.init(new JpaPersistModule(TestConstants.PERSISTENCE_UNIT)), new RobotApiModule(),
- new PlatformServerModule(), new DocumentServerModule(), new ChatServerModule(), new ServerModule(
- false), federationModule, new WikiServerModule(), new AbstractModule() {
- @Override
- protected void configure() {
- bindScope(SessionScoped.class, Scopes.SINGLETON);
- bindScope(RequestScoped.class, Scopes.SINGLETON);
- bindConstant().annotatedWith(PropertiesFileName.class).to("kune.properties");
- bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
- }
- });
- try {
- childInjector.getInstance(WaveServerImpl.class).initialize();
- } catch (final WaveServerException e) {
- e.printStackTrace();
+ public static Injector createInjector() {
+ Injector injector;
+ try {
+ injector = Guice.createInjector(CustomSettingsBinder.bindSettings(
+ TestConstants.WAVE_TEST_PROPFILE, CoreSettings.class));
+ final PersistenceModule wavePersistModule = injector.getInstance(PersistenceModule.class);
+ final NoOpFederationModule federationModule = injector.getInstance(NoOpFederationModule.class);
+ final Injector childInjector = injector.createChildInjector(wavePersistModule,
+ FinderRegistry.init(new JpaPersistModule(TestConstants.PERSISTENCE_UNIT)),
+ new RobotApiModule(), new PlatformServerModule(), new DocumentServerModule(),
+ new ChatServerModule(), new ServerModule(false), federationModule, new WikiServerModule(),
+ new AbstractModule() {
+ @Override
+ protected void configure() {
+ bindScope(SessionScoped.class, Scopes.SINGLETON);
+ bindScope(RequestScoped.class, Scopes.SINGLETON);
+ bindConstant().annotatedWith(PropertiesFileName.class).to("kune.properties");
+ bind(HttpServletRequest.class).to(HttpServletRequestMocked.class);
}
- return childInjector;
- } catch (final ConfigurationException e) {
- e.printStackTrace();
- }
- return null;
+ });
+ try {
+ childInjector.getInstance(WaveServerImpl.class).initialize();
+ } catch (final WaveServerException e) {
+ e.printStackTrace();
+ }
+ return childInjector;
+ } catch (final ConfigurationException e) {
+ e.printStackTrace();
}
+ return null;
+ }
- public IntegrationTestHelper(final Object... tests) {
- final Injector injector = createInjector();
- injector.getInstance(KunePersistenceService.class).start();
- for (final Object test : tests) {
- injector.injectMembers(test);
- }
+ public IntegrationTestHelper(final Object... tests) {
+ final Injector injector = createInjector();
+ injector.getInstance(KunePersistenceService.class).start();
+ for (final Object test : tests) {
+ injector.injectMembers(test);
}
+ }
}
Modified: trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2011-05-13 15:23:17 UTC (rev 1387)
+++ trunk/src/test/java/cc/kune/core/server/integration/content/ContentServiceVariousTest.java 2011-05-15 10:01:33 UTC (rev 1388)
@@ -187,6 +187,7 @@
groupShortName = defaultContent.getStateToken().getGroup();
}
+ @Ignore
@Test
public void setTagsAndResults() throws Exception {
contentService.setTags(getHash(), defaultContent.getStateToken(), "bfoo cfoa afoo2");
1
0
r1387 - in trunk/src/main/java/cc/kune: barters/client/actions core/client/auth core/client/state core/server/state gspace/client/options wave/client wiki/client/actions
by Vicente J. Ruiz Jurado 13 May '11
by Vicente J. Ruiz Jurado 13 May '11
13 May '11
Author: vjrj_
Date: 2011-05-13 17:23:17 +0200 (Fri, 13 May 2011)
New Revision: 1387
Modified:
trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
trunk/src/main/java/cc/kune/barters/client/actions/NewFolderBtn.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
Log:
Some minor fixes
Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -27,8 +27,6 @@
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
-import cc.kune.docs.client.actions.DelFolderMenuItem;
-import cc.kune.docs.client.actions.NewFolderBtn;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
Modified: trunk/src/main/java/cc/kune/barters/client/actions/NewFolderBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/NewFolderBtn.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/barters/client/actions/NewFolderBtn.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -31,7 +31,7 @@
@Inject
public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action,
final NavResources res) {
- super(i18n, action, res.barterAdd(), i18n.t("New folder"), i18n.t("Create a new folder here"),
+ super(i18n, action, res.folderAdd(), i18n.t("New folder"), i18n.t("Create a new folder here"),
i18n.t("New folder"), BartersConstants.TYPE_FOLDER);
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -32,64 +32,64 @@
import com.gwtplatform.mvp.client.proxy.Proxy;
public abstract class SignInAbstractPresenter<V extends View, Proxy_ extends Proxy<?>> extends
- Presenter<View, Proxy<?>> {
+ Presenter<View, Proxy<?>> {
- protected final UserPassAutocompleteManager autocomplete;
- protected final CookiesManager cookiesManager;
- protected final I18nUITranslationService i18n;
- protected final Session session;
- protected final StateManager stateManager;
+ protected final UserPassAutocompleteManager autocomplete;
+ protected final CookiesManager cookiesManager;
+ protected final I18nUITranslationService i18n;
+ protected final Session session;
+ protected final StateManager stateManager;
- public SignInAbstractPresenter(final EventBus eventBus, final View view, final Proxy<?> proxy,
- final Session session, final StateManager stateManager, final I18nUITranslationService i18n,
- final CookiesManager cookiesManager, final UserPassAutocompleteManager autocomplete) {
- super(eventBus, view, proxy);
- this.session = session;
- this.stateManager = stateManager;
- this.i18n = i18n;
- this.cookiesManager = cookiesManager;
- this.autocomplete = autocomplete;
- }
+ public SignInAbstractPresenter(final EventBus eventBus, final View view, final Proxy<?> proxy,
+ final Session session, final StateManager stateManager, final I18nUITranslationService i18n,
+ final CookiesManager cookiesManager, final UserPassAutocompleteManager autocomplete) {
+ super(eventBus, view, proxy);
+ this.session = session;
+ this.stateManager = stateManager;
+ this.i18n = i18n;
+ this.cookiesManager = cookiesManager;
+ this.autocomplete = autocomplete;
+ }
- @Override
- public SignInAbstractView getView() {
- return (SignInAbstractView) super.getView();
- }
+ @Override
+ public SignInAbstractView getView() {
+ return (SignInAbstractView) super.getView();
+ }
- public void hide() {
- getView().hide();
- }
+ public void hide() {
+ getView().hide();
+ }
- public void onCancel() {
- getView().reset();
- getView().hideMessages();
- getView().hide();
- }
+ public void onCancel() {
+ getView().reset();
+ getView().hideMessages();
+ getView().hide();
+ }
- public void onClose() {
- getView().reset();
- getView().hideMessages();
- if (!session.isLogged()) {
- stateManager.redirectOrRestorePreviousToken();
- }
+ public void onClose() {
+ getView().reset();
+ getView().hideMessages();
+ if (!session.isLogged()) {
+ stateManager.redirectOrRestorePreviousToken();
}
+ }
- protected void onSignIn(final UserInfoDTO userInfoDTO) {
- final String userHash = userInfoDTO.getUserHash();
- cookiesManager.setCookie(userHash);
- getView().reset();
- session.setUserHash(userHash);
- session.setCurrentUserInfo(userInfoDTO);
- final I18nLanguageDTO language = userInfoDTO.getLanguage();
- i18n.changeCurrentLanguage(language.getCode());
- session.setCurrentLanguage(language);
- stateManager.redirectOrRestorePreviousToken();
- }
+ protected void onSignIn(final UserInfoDTO userInfoDTO) {
+ final String userHash = userInfoDTO.getUserHash();
+ cookiesManager.setCookie(userHash);
+ getView().reset();
+ session.setUserHash(userHash);
+ session.setCurrentUserInfo(userInfoDTO);
+ final I18nLanguageDTO language = userInfoDTO.getLanguage();
+ i18n.changeCurrentLanguage(language.getCode());
+ session.setCurrentLanguage(language);
+ stateManager.redirectOrRestorePreviousToken();
+ }
- protected void saveAutocompleteLoginData(final String nickOrEmail, final String password) {
- autocomplete.setNickOrEmail(nickOrEmail);
- autocomplete.setPassword(password);
- autocomplete.clickFormLogin();
- }
+ protected void saveAutocompleteLoginData(final String nickOrEmail, final String password) {
+ autocomplete.setNickOrEmail(nickOrEmail);
+ autocomplete.setPassword(password);
+ autocomplete.clickFormLogin();
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -32,48 +32,50 @@
import com.google.inject.Inject;
public class ContentCacheDefault implements ContentCache {
- private final Map<StateToken, StateAbstractDTO> cacheMap;
- private final EventBus eventBus;
- private final ContentServiceAsync server;
- private final boolean useCache;
+ private final Map<StateToken, StateAbstractDTO> cacheMap;
+ private final EventBus eventBus;
+ private final ContentServiceAsync server;
+ private final boolean useCache;
- @Inject
- public ContentCacheDefault(final ContentServiceAsync server, final EventBus eventBus) {
- this.server = server;
- this.eventBus = eventBus;
- this.cacheMap = new HashMap<StateToken, StateAbstractDTO>();
- // Don't use while we don't check changes in the server
- useCache = false;
- }
+ @Inject
+ public ContentCacheDefault(final ContentServiceAsync server, final EventBus eventBus) {
+ this.server = server;
+ this.eventBus = eventBus;
+ this.cacheMap = new HashMap<StateToken, StateAbstractDTO>();
+ // Don't use while we don't check changes in the server
+ useCache = false;
+ }
- @Override
- public void cache(final StateToken encodeState, final StateAbstractDTO content) {
- assert encodeState != null;
- if (useCache) {
- cacheMap.put(encodeState, content);
- }
+ @Override
+ public void cache(final StateToken encodeState, final StateAbstractDTO content) {
+ assert encodeState != null;
+ if (useCache) {
+ cacheMap.put(encodeState, content);
}
+ }
- private StateAbstractDTO getCached(final StateToken newState) {
- assert newState != null;
- return useCache ? cacheMap.get(newState) : null;
- }
+ private StateAbstractDTO getCached(final StateToken newState) {
+ assert newState != null;
+ return useCache ? cacheMap.get(newState) : null;
+ }
- @Override
- public void getContent(final String user, final StateToken newState, final AsyncCallback<StateAbstractDTO> callback) {
- assert newState != null;
- eventBus.fireEvent(new ProgressShowEvent(""));
- final StateAbstractDTO catched = getCached(newState);
- if (catched != null) {
- callback.onSuccess(catched);
- } else {
- server.getContent(user, newState, callback);
- }
+ @Override
+ public void getContent(final String user, final StateToken newState,
+ final AsyncCallback<StateAbstractDTO> callback) {
+ assert newState != null;
+ eventBus.fireEvent(new ProgressShowEvent(""));
+ final StateAbstractDTO catched = getCached(newState);
+ if (catched != null) {
+ callback.onSuccess(catched);
+ } else {
+ // NotifyUser.info("Getting state of: " + newState, true);
+ server.getContent(user, newState, callback);
}
+ }
- @Override
- public void removeContent(final StateToken token) {
- cacheMap.remove(token);
- }
+ @Override
+ public void removeContent(final StateToken token) {
+ cacheMap.remove(token);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -84,7 +84,7 @@
session.onUserSignIn(false, new UserSignInEvent.UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
- refreshCurrentGroupState();
+ // refreshCurrentGroupState();
}
});
session.onUserSignOut(false, new UserSignOutEvent.UserSignOutHandler() {
@@ -323,7 +323,7 @@
// signin(inbox) && cancel
restorePreviousToken();
} else {
- history.newItem(previousToken);
+ history.newItem(previousToken); // FIXMEKK
}
} else {
// No redirect then restore previous token
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -165,7 +165,7 @@
state.setContainer(container);
state.setContainerRights(rightsService.get(userLogged, container.getAccessLists()));
state.setEnabledTools(groupManager.findEnabledTools(group.getId()));
- state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
+ // state.setTagCloudResult(tagManager.getTagCloudResultByGroup(group));
setSocialNetwork(state, userLogged, group);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -60,7 +60,9 @@
// groupPrefsAction.putValue(Action.NAME, i18n.t("Group options"));
groupPrefsAction.putValue(Action.SMALL_ICON, img.prefs());
prefsItem = new ButtonDescriptor(groupPrefsAction);
- prefsItem.withStyles("k-ent-header-btn, k-noborder, k-nobackcolor, k-btn-min");
+ prefsItem.withStyles("k-ent-header-btn, k-btn-min"); // , k-noborder,
+ // k-nobackcolor,
+ // k-btn-min");
prefsItem.setId(GROUP_OPTIONS_ICON);
prefsItem.setVisible(false);
view.addAction(prefsItem);
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -285,7 +285,7 @@
setupUi();
- History.fireCurrentHistoryState();
+ // History.fireCurrentHistoryState();
LOG.info("SimpleWebClient.onModuleLoad() done");
}
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-05-13 10:56:37 UTC (rev 1386)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-05-13 15:23:17 UTC (rev 1387)
@@ -28,8 +28,6 @@
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.StateManager;
-import cc.kune.docs.client.actions.DelFolderMenuItem;
-import cc.kune.docs.client.actions.NewFolderBtn;
import cc.kune.gspace.client.actions.AbstractFoldableToolActions;
import cc.kune.gspace.client.actions.ActionGroups;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
1
0
r1386 - in trunk: . script src/main/java/cc/kune/core/server/manager/impl src/main/java/cc/kune/core/server/xmpp src/main/resources src/test/java/org/ourproject/kune/chat/server/managers
by Vicente J. Ruiz Jurado 13 May '11
by Vicente J. Ruiz Jurado 13 May '11
13 May '11
Author: vjrj_
Date: 2011-05-13 12:56:37 +0200 (Fri, 13 May 2011)
New Revision: 1386
Added:
trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerDefaultTest.java
Removed:
trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java
Modified:
trunk/.classpath
trunk/pom.xml
trunk/script/css-update.sh
trunk/script/kune client -no-server.launch
trunk/script/mvn-eclipse.sh
trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
trunk/src/main/java/cc/kune/core/server/xmpp/XmppManagerDefault.java
trunk/src/main/resources/wave-server.properties
Log:
Chat welcome fixed, other updates to 0.0.8
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/.classpath 2011-05-13 10:56:37 UTC (rev 1386)
@@ -2,7 +2,7 @@
<classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/kune-0.0.7/WEB-INF/classes"/>
+ <classpathentry kind="output" path="target/kune-0.0.8/WEB-INF/classes"/>
<classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
@@ -107,8 +107,8 @@
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.0-SNAPSHOT/proto-msg-0.3.0-SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smack/smack/3.0.4/smack-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/smackx/3.0.4/smackx-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.1.0/smack-3.1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jivesoftware/smackx/3.1.0/smackx-3.1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.0-SNAPSHOT/util-src-0.3.0-SNAPSHOT.jar"/>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/pom.xml 2011-05-13 10:56:37 UTC (rev 1386)
@@ -324,14 +324,14 @@
<version>r1697</version>
</dependency>
<dependency>
- <groupId>org.jivesoftware.smack</groupId>
+ <groupId>jivesoftware</groupId>
<artifactId>smack</artifactId>
- <version>3.0.4</version>
+ <version>3.1.0</version>
</dependency>
<dependency>
- <groupId>org.jivesoftware.smackx</groupId>
+ <groupId>jivesoftware</groupId>
<artifactId>smackx</artifactId>
- <version>3.0.4</version>
+ <version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.jivesoftware.smackx.debugger</groupId>
Modified: trunk/script/css-update.sh
===================================================================
--- trunk/script/css-update.sh 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/script/css-update.sh 2011-05-13 10:56:37 UTC (rev 1386)
@@ -9,12 +9,14 @@
#rsync -aC $APPPUB/css/ $WEBAPP/css
#rsync -aC $APPPUB/images/ $WEBAPP/images
-cp src/main/java/cc/kune/chat/public/kune-chat.css target/kune-0.0.7/ws/
-cp src/main/java/cc/kune/chat/public/kune-hablar.css target/kune-0.0.7/ws/
-cp src/main/java/cc/kune/msgs/public/kune-message.css target/kune-0.0.7/ws/
-cp src/main/java/cc/kune/common/public/kune-common.css target/kune-0.0.7/ws/
-cp src/main/java/cc/kune/core/public/ws.css target/kune-0.0.7/ws/
-cp src/main/java/cc/kune/core/public/ws.html target/kune-0.0.7/ws/
-#cp src/main/webapp/templates/basic/basic.css target/kune-0.0.7/templates/basic/basic.css
-#cp src/main/webapp/templates/basic/docs.liquid.html target/kune-0.0.7/templates/basic/
-cp src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css target/kune-0.0.7/ws/gxt-custom/css/gxt-op-common.css
+VERSION=0.0.8
+
+cp src/main/java/cc/kune/chat/public/kune-chat.css target/kune-$VERSION/ws/
+cp src/main/java/cc/kune/chat/public/kune-hablar.css target/kune-$VERSION/ws/
+cp src/main/java/cc/kune/msgs/public/kune-message.css target/kune-$VERSION/ws/
+cp src/main/java/cc/kune/common/public/kune-common.css target/kune-$VERSION/ws/
+cp src/main/java/cc/kune/core/public/ws.css target/kune-$VERSION/ws/
+cp src/main/java/cc/kune/core/public/ws.html target/kune-$VERSION/ws/
+#cp src/main/webapp/templates/basic/basic.css target/kune-$VERSION/templates/basic/basic.css
+#cp src/main/webapp/templates/basic/docs.liquid.html target/kune-$VERSION/templates/basic/
+cp src/main/java/cc/kune/common/public/gxt-custom/css/gxt-op-common.css target/kune-$VERSION/ws/gxt-custom/css/gxt-op-common.css
Modified: trunk/script/kune client -no-server.launch
===================================================================
--- trunk/script/kune client -no-server.launch 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/script/kune client -no-server.launch 2011-05-13 10:56:37 UTC (rev 1386)
@@ -20,7 +20,7 @@
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war /home/vjrj/proyectos/dev/kune/trunk/target/kune-0.0.7 -startupUrl /ws/?locale=en&log_level=INFO -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9997 cc.kune.Kune"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war /home/vjrj/proyectos/dev/kune/trunk/target/kune-0.0.8 -startupUrl /ws/?locale=en&log_level=INFO -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9997 cc.kune.Kune"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="kune"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
</launchConfiguration>
Modified: trunk/script/mvn-eclipse.sh
===================================================================
--- trunk/script/mvn-eclipse.sh 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/script/mvn-eclipse.sh 2011-05-13 10:56:37 UTC (rev 1386)
@@ -1,4 +1,4 @@
-mvn eclipse:eclipse -o -Dgwt.compiler.skip=true
+mvn eclipse:eclipse -Dgwt.compiler.skip=true
RESULT=$?
perl -p -i -e 's/<\/classpath>//g' .classpath
#perl -p -i -e 's/\/home\/vjrj\/nfsdev\///g' .classpath
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 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-05-13 10:56:37 UTC (rev 1386)
@@ -23,6 +23,8 @@
import java.util.HashSet;
import java.util.List;
import java.util.TimeZone;
+import java.util.Timer;
+import java.util.TimerTask;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
@@ -64,212 +66,221 @@
@Singleton
public class UserManagerDefault extends DefaultManager<User, Long> implements UserManager {
- private final ChatProperties chatProperties;
- private final I18nCountryManager countryManager;
- private final DatabaseProperties databaseProperties;
- private final UserFinder finder;
- private final I18nTranslationService i18n;
- private final KuneWaveManager kuneWaveManager;
- private final I18nLanguageManager languageManager;
- private final ParticipantUtils participantUtils;
- private final AccountStore waveAccountStore;
- // private final PropertiesManager propManager;
- private final CustomUserRegistrationServlet waveUserRegister;
- private final XmppManager xmppManager;
+ private final ChatProperties chatProperties;
+ private final I18nCountryManager countryManager;
+ private final DatabaseProperties databaseProperties;
+ private final UserFinder finder;
+ private final I18nTranslationService i18n;
+ private final KuneWaveManager kuneWaveManager;
+ private final I18nLanguageManager languageManager;
+ private final ParticipantUtils participantUtils;
+ private final AccountStore waveAccountStore;
+ // private final PropertiesManager propManager;
+ private final CustomUserRegistrationServlet waveUserRegister;
+ private final XmppManager xmppManager;
- @Inject
- public UserManagerDefault(final Provider<EntityManager> provider, final UserFinder finder,
- final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
- final XmppManager xmppManager, final ChatProperties chatProperties, final I18nTranslationService i18n,
- final CustomUserRegistrationServlet waveUserRegister, final AccountStore waveAccountStore,
- final KuneWaveManager kuneWaveManager, final ParticipantUtils participantUtils,
- final DatabaseProperties databaseProperties) {
- super(provider, User.class);
- this.finder = finder;
- this.languageManager = languageManager;
- this.countryManager = countryManager;
- this.xmppManager = xmppManager;
- this.chatProperties = chatProperties;
- this.i18n = i18n;
- this.waveUserRegister = waveUserRegister;
- this.waveAccountStore = waveAccountStore;
- this.kuneWaveManager = kuneWaveManager;
- this.participantUtils = participantUtils;
- this.databaseProperties = databaseProperties;
- }
+ @Inject
+ public UserManagerDefault(final Provider<EntityManager> provider, final UserFinder finder,
+ final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
+ final XmppManager xmppManager, final ChatProperties chatProperties,
+ final I18nTranslationService i18n, final CustomUserRegistrationServlet waveUserRegister,
+ final AccountStore waveAccountStore, final KuneWaveManager kuneWaveManager,
+ final ParticipantUtils participantUtils, final DatabaseProperties databaseProperties) {
+ super(provider, User.class);
+ this.finder = finder;
+ this.languageManager = languageManager;
+ this.countryManager = countryManager;
+ this.xmppManager = xmppManager;
+ this.chatProperties = chatProperties;
+ this.i18n = i18n;
+ this.waveUserRegister = waveUserRegister;
+ this.waveAccountStore = waveAccountStore;
+ this.kuneWaveManager = kuneWaveManager;
+ this.participantUtils = participantUtils;
+ this.databaseProperties = databaseProperties;
+ }
- @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) throws I18nNotFoundException {
- I18nLanguage language;
- I18nCountry country;
- TimeZone tz;
- try {
- language = languageManager.findByCode(langCode);
- country = countryManager.findByCode(countryCode);
- tz = TimeZone.getTimeZone(timezone);
- } catch (final NoResultException e) {
- throw new I18nNotFoundException();
- }
- final PasswordDigest passwdDigest = new PasswordDigest(passwd.toCharArray());
-
- try {
- createWaveAccount(shortName, passwdDigest);
- } catch (final UserRegistrationException e) {
- try {
- if (finder.getByShortName(shortName) != null) {
- throw new GroupNameInUseException();
- } else {
- // Other kind of exception
- throw e;
- }
- } catch (final NoResultException e2) {
- // Other kind of exception
- throw e;
- }
- }
- // if (userPropGroup == null) {
- // userPropGroup = propGroupManager.find(User.PROPS_ID);
- // }
- // final Properties userProp = new Properties(userPropGroup);
- // propManager.persist(userProp);
- try {
- final User user = new User(shortName, longName, email, passwd, passwdDigest.getDigest(),
- passwdDigest.getSalt(), language, country, tz);
- kuneWaveManager.createWave(
- ContentConstants.WELCOME_WAVE_CONTENT_TITLE.replaceAll("\\[%s\\]",
- databaseProperties.getDefaultSiteName()),
- ContentConstants.WELCOME_WAVE_CONTENT.replaceAll("\\[%s\\]",
- databaseProperties.getDefaultSiteName()),
- participantUtils.of(databaseProperties.getAdminShortName()), participantUtils.of(shortName));
- return user;
- } catch (final RuntimeException e) {
- try {
- // Try to remove wave account
- waveAccountStore.removeAccount(participantUtils.of(shortName));
- } catch (final Exception e2) {
- throw e;
- }
- throw e;
- }
+ @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)
+ throws I18nNotFoundException {
+ I18nLanguage language;
+ I18nCountry country;
+ TimeZone tz;
+ try {
+ language = languageManager.findByCode(langCode);
+ country = countryManager.findByCode(countryCode);
+ tz = TimeZone.getTimeZone(timezone);
+ } catch (final NoResultException e) {
+ throw new I18nNotFoundException();
}
+ final PasswordDigest passwdDigest = new PasswordDigest(passwd.toCharArray());
- @Override
- public void createWaveAccount(final String shortName, final PasswordDigest passwdDigest) {
- final String msg = waveUserRegister.tryCreateUser(shortName, passwdDigest);
- if (msg != null) {
- throw new UserRegistrationException(msg);
+ try {
+ createWaveAccount(shortName, passwdDigest);
+ } catch (final UserRegistrationException e) {
+ try {
+ if (finder.getByShortName(shortName) != null) {
+ throw new GroupNameInUseException();
+ } else {
+ // Other kind of exception
+ throw e;
}
+ } catch (final NoResultException e2) {
+ // Other kind of exception
+ throw e;
+ }
}
-
- @Override
- public User find(final Long userId) {
- try {
- return finder.getById(userId);
- } catch (final NoResultException e) {
- return User.UNKNOWN_USER;
- }
+ // if (userPropGroup == null) {
+ // userPropGroup = propGroupManager.find(User.PROPS_ID);
+ // }
+ // final Properties userProp = new Properties(userPropGroup);
+ // propManager.persist(userProp);
+ try {
+ final User user = new User(shortName, longName, email, passwd, passwdDigest.getDigest(),
+ passwdDigest.getSalt(), language, country, tz);
+ kuneWaveManager.createWave(
+ ContentConstants.WELCOME_WAVE_CONTENT_TITLE.replaceAll("\\[%s\\]",
+ databaseProperties.getDefaultSiteName()),
+ ContentConstants.WELCOME_WAVE_CONTENT.replaceAll("\\[%s\\]",
+ databaseProperties.getDefaultSiteName()),
+ participantUtils.of(databaseProperties.getAdminShortName()), participantUtils.of(shortName));
+ return user;
+ } catch (final RuntimeException e) {
+ try {
+ // Try to remove wave account
+ waveAccountStore.removeAccount(participantUtils.of(shortName));
+ } catch (final Exception e2) {
+ throw e;
+ }
+ throw e;
}
+ }
- @Override
- public User findByShortname(final String shortName) {
- return finder.getByShortName(shortName);
+ @Override
+ public void createWaveAccount(final String shortName, final PasswordDigest passwdDigest) {
+ final String msg = waveUserRegister.tryCreateUser(shortName, passwdDigest);
+ if (msg != null) {
+ throw new UserRegistrationException(msg);
}
+ }
- public List<User> getAll() {
- return finder.getAll();
+ @Override
+ public User find(final Long userId) {
+ try {
+ return finder.getById(userId);
+ } catch (final NoResultException e) {
+ return User.UNKNOWN_USER;
}
+ }
- @Override
- @Deprecated
- public UserBuddiesData getUserBuddies(final String shortName) {
- // XEP-133 get roster by admin part is not implemented in openfire
- // also access to the openfire db is not easy with hibernate (the use of
- // two db at the same time). This compromise solution is server
- // independent.
- // In the future cache this.
- final String domain = "@" + chatProperties.getDomain();
- final UserBuddiesData buddiesData = new UserBuddiesData();
+ @Override
+ public User findByShortname(final String shortName) {
+ return finder.getByShortName(shortName);
+ }
- final User user = finder.getByShortName(shortName);
- Collection<RosterEntry> roster;
- try {
- final ChatConnection connection = xmppManager.login(user.getShortName() + domain, user.getPassword(),
- "kserver");
- roster = xmppManager.getRoster(connection);
- xmppManager.disconnect(connection);
- } catch (final ChatException e) {
- // Seems that it not possible to get the buddy list, then we follow
- // with a empty buddy list
- log.error("Cannot retrieve the buddie list", e);
- roster = new HashSet<RosterEntry>();
- }
- for (final RosterEntry entry : roster) {
- if (entry.getType().equals(ItemType.both)) {
- // only show buddies with subscription 'both'
- final int index = entry.getUser().indexOf(domain);
- if (index > 0) {
- // local user
- try {
- String username = entry.getUser().substring(0, index);
- final User buddie = finder.getByShortName(username);
- buddiesData.getBuddies().add(buddie);
- } catch (final NoResultException e) {
- // No existent buddie, skip
- }
- } else {
- // ext user (only count)
- buddiesData.setOtherExtBuddies(buddiesData.getOtherExtBuddies() + 1);
- }
- }
- }
- return buddiesData;
+ public List<User> getAll() {
+ return finder.getAll();
+ }
+
+ @Override
+ @Deprecated
+ public UserBuddiesData getUserBuddies(final String shortName) {
+ // XEP-133 get roster by admin part is not implemented in openfire
+ // also access to the openfire db is not easy with hibernate (the use of
+ // two db at the same time). This compromise solution is server
+ // independent.
+ // In the future cache this.
+ final String domain = "@" + chatProperties.getDomain();
+ final UserBuddiesData buddiesData = new UserBuddiesData();
+
+ final User user = finder.getByShortName(shortName);
+ Collection<RosterEntry> roster;
+ try {
+ final ChatConnection connection = xmppManager.login(user.getShortName() + domain,
+ user.getPassword(), "kserver");
+ roster = xmppManager.getRoster(connection);
+ xmppManager.disconnect(connection);
+ } catch (final ChatException e) {
+ // Seems that it not possible to get the buddy list, then we follow
+ // with a empty buddy list
+ log.error("Cannot retrieve the buddie list", e);
+ roster = new HashSet<RosterEntry>();
}
-
- @Override
- public User login(final String nickOrEmail, final String passwd) {
- User user;
- try {
- user = finder.getByShortName(nickOrEmail);
- } catch (final NoResultException e) {
- try {
- user = finder.getByEmail(nickOrEmail);
- } catch (final NoResultException e2) {
- return null;
- }
- }
- if (user.getPassword().equals(passwd)) {
- if (user.getLastLogin() == null) {
- xmppManager.sendMessage(
- user.getShortName(),
- i18n.t("This is the chat window. "
- + ""
- + "Here you can communicate with other users of this site but also with other users with compatible accounts (like gmail accounts). "
- + "" + "Just add some buddie and start to chat."));
- }
- user.setLastLogin(System.currentTimeMillis());
- return user;
+ for (final RosterEntry entry : roster) {
+ if (entry.getType().equals(ItemType.both)) {
+ // only show buddies with subscription 'both'
+ final int index = entry.getUser().indexOf(domain);
+ if (index > 0) {
+ // local user
+ try {
+ final String username = entry.getUser().substring(0, index);
+ final User buddie = finder.getByShortName(username);
+ buddiesData.getBuddies().add(buddie);
+ } catch (final NoResultException e) {
+ // No existent buddie, skip
+ }
} else {
- return null;
+ // ext user (only count)
+ buddiesData.setOtherExtBuddies(buddiesData.getOtherExtBuddies() + 1);
}
+ }
}
+ return buddiesData;
+ }
- @Override
- public SearchResult<User> search(final String search) {
- return this.search(search, null, null);
+ @Override
+ public User login(final String nickOrEmail, final String passwd) {
+ User user;
+ try {
+ user = finder.getByShortName(nickOrEmail);
+ } catch (final NoResultException e) {
+ try {
+ user = finder.getByEmail(nickOrEmail);
+ } catch (final NoResultException e2) {
+ return null;
+ }
}
+ if (user.getPassword().equals(passwd)) {
+ if (user.getLastLogin() == null) {
+ final String userName = user.getShortName();
+ final Timer timer = new Timer();
+ timer.schedule(new TimerTask() {
+ @Override
+ public void run() {
+ xmppManager.sendMessage(
+ userName,
+ i18n.t("This is the chat window. "
+ + ""
+ + "Here you can communicate with other users of this site but also with other users with compatible accounts (like gmail accounts). "
+ + "" + "Just add some buddie and start to chat."));
+ }
+ }, 5000);
+ }
+ user.setLastLogin(System.currentTimeMillis());
+ return user;
+ } else {
+ return null;
+ }
+ }
- @Override
- public SearchResult<User> search(final String search, final Integer firstResult, final Integer maxResults) {
- final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "name", "shortName" },
- new StandardAnalyzer());
- Query query;
- try {
- query = parser.parse(search);
- } catch (final ParseException e) {
- throw new ServerManagerException("Error parsing search", e);
- }
- return super.search(query, firstResult, maxResults);
+ @Override
+ public SearchResult<User> search(final String search) {
+ return this.search(search, null, null);
+ }
+
+ @Override
+ public SearchResult<User> search(final String search, final Integer firstResult,
+ final Integer maxResults) {
+ final MultiFieldQueryParser parser = new MultiFieldQueryParser(new String[] { "name", "shortName" },
+ new StandardAnalyzer());
+ Query query;
+ try {
+ query = parser.parse(search);
+ } catch (final ParseException e) {
+ throw new ServerManagerException("Error parsing search", e);
}
+ return super.search(query, firstResult, maxResults);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/server/xmpp/XmppManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/xmpp/XmppManagerDefault.java 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/src/main/java/cc/kune/core/server/xmpp/XmppManagerDefault.java 2011-05-13 10:56:37 UTC (rev 1386)
@@ -34,6 +34,7 @@
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.packet.Message.Type;
import org.jivesoftware.smackx.Form;
import org.jivesoftware.smackx.FormField;
import org.jivesoftware.smackx.muc.MultiUserChat;
@@ -45,150 +46,160 @@
@Singleton
public class XmppManagerDefault implements XmppManager {
- public static final Log LOG = LogFactory.getLog(XmppManagerDefault.class);
+ public static final Log LOG = LogFactory.getLog(XmppManagerDefault.class);
- private final ChatProperties chatProperties;
+ private final ChatProperties chatProperties;
- @Inject
- public XmppManagerDefault(final ChatProperties chatProperties) {
- this.chatProperties = chatProperties;
- }
+ @Inject
+ public XmppManagerDefault(final ChatProperties chatProperties) {
+ this.chatProperties = chatProperties;
+ }
- public Room createRoom(final ChatConnection conn, final String roomName, final String alias) {
- XmppConnection xConn = (XmppConnection) conn;
- MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
- try {
- muc.create(alias);
- configure(muc);
- XmppRoom room = new XmppRoom(muc, alias);
- muc.addMessageListener(room);
- return room;
- } catch (XMPPException e) {
- throw new ChatException(e);
- }
- }
+ private void configure(final MultiUserChat muc) throws XMPPException {
+ final Form form = muc.getConfigurationForm();
+ final Form answer = form.createAnswerForm();
- public void destroyRoom(final ChatConnection conn, final String roomName) {
- XmppConnection xConn = (XmppConnection) conn;
- MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
- try {
- muc.destroy("Room removed by kune server", "");
- } catch (XMPPException e) {
- throw new ChatException(e);
+ for (final Iterator<FormField> fields = form.getFields(); fields.hasNext();) {
+ final FormField field = fields.next();
+ final String type = field.getType();
+ if (isVisible(type) && isNotEmpty(field) && isNotList(type)) {
+ final List<String> values = new ArrayList<String>();
+ for (final Iterator<String> it = field.getValues(); it.hasNext();) {
+ values.add(it.next());
}
+ answer.setAnswer(field.getVariable(), values);
+ }
}
+ answer.setAnswer("muc#roomconfig_persistentroom", true);
+ muc.sendConfigurationForm(answer);
+ }
- public void disconnect(final ChatConnection connection) {
- XmppConnection xConn = (XmppConnection) connection;
- xConn.getConn().disconnect();
-
+ @Override
+ public Room createRoom(final ChatConnection conn, final String roomName, final String alias) {
+ final XmppConnection xConn = (XmppConnection) conn;
+ final MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
+ try {
+ muc.create(alias);
+ configure(muc);
+ final XmppRoom room = new XmppRoom(muc, alias);
+ muc.addMessageListener(room);
+ return room;
+ } catch (final XMPPException e) {
+ throw new ChatException(e);
}
+ }
- public Collection<RosterEntry> getRoster(final ChatConnection conn) {
- XmppConnection xConn = (XmppConnection) conn;
- Roster roster = xConn.getConn().getRoster();
- return roster.getEntries();
+ @Override
+ public void destroyRoom(final ChatConnection conn, final String roomName) {
+ final XmppConnection xConn = (XmppConnection) conn;
+ final MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
+ try {
+ muc.destroy("Room removed by kune server", "");
+ } catch (final XMPPException e) {
+ throw new ChatException(e);
}
+ }
- public Room joinRoom(final ChatConnection connection, final String roomName, final String alias) {
- XmppConnection xConn = (XmppConnection) connection;
- MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
- try {
- muc.join(alias);
- // configure(muc);
- XmppRoom room = new XmppRoom(muc, alias);
- muc.addMessageListener(room);
- return room;
- } catch (XMPPException e) {
- throw new ChatException(e);
- }
- }
+ @Override
+ public void disconnect(final ChatConnection connection) {
+ final XmppConnection xConn = (XmppConnection) connection;
+ xConn.getConn().disconnect();
- public ChatConnection login(final String userName, final String password, final String resource) {
- ConnectionConfiguration config = new ConnectionConfiguration(getServerName(), 5222);
- XMPPConnection conn = new XMPPConnection(config);
- try {
- conn.connect();
- conn.login(userName, password, resource, true);
- return new XmppConnection(userName, conn);
- } catch (XMPPException e) {
- throw new ChatException(e);
- }
- }
+ }
- public void sendMessage(final Room room, final String body) {
- XmppRoom xAccess = (XmppRoom) room;
- MultiUserChat muc = xAccess.getMuc();
- Message message = muc.createMessage();
- message.setBody(body);
- message.setFrom(muc.getNickname());
- try {
- muc.sendMessage(body);
- } catch (XMPPException e) {
- throw new ChatException(e);
- }
- }
+ private String getRoomName(final String room) {
+ return room + "@" + chatProperties.getRoomHost();
+ }
- public void sendMessage(final String userName, final String text) {
- ChatConnection connection = login(chatProperties.getAdminJID(), chatProperties.getAdminPasswd(),
- "kuneserveradmin" + System.currentTimeMillis());
- XMPPConnection xmppConn = ((XmppConnection) connection).getConn();
+ @Override
+ public Collection<RosterEntry> getRoster(final ChatConnection conn) {
+ final XmppConnection xConn = (XmppConnection) conn;
+ final Roster roster = xConn.getConn().getRoster();
+ return roster.getEntries();
+ }
- String userJid = userName + "@" + chatProperties.getDomain();
- Chat newChat = xmppConn.getChatManager().createChat(userJid, new MessageListener() {
- public void processMessage(final Chat arg0, final Message arg1) {
- LOG.info("Sended message: " + text);
- }
- });
- try {
- final Message message = new Message();
- message.setFrom(chatProperties.getDomain());
- message.setTo(userJid);
- message.setBody(text);
- newChat.sendMessage(message);
- } catch (Exception e) {
- LOG.error("Error Delivering xmpp message to " + userName);
- }
- xmppConn.disconnect();
- }
+ private String getServerName() {
+ return chatProperties.getDomain();
+ }
- private void configure(final MultiUserChat muc) throws XMPPException {
- Form form = muc.getConfigurationForm();
- Form answer = form.createAnswerForm();
+ private boolean isNotEmpty(final FormField field) {
+ return field.getVariable() != null;
+ }
- for (Iterator<FormField> fields = form.getFields(); fields.hasNext();) {
- FormField field = fields.next();
- String type = field.getType();
- if (isVisible(type) && isNotEmpty(field) && isNotList(type)) {
- List<String> values = new ArrayList<String>();
- for (Iterator<String> it = field.getValues(); it.hasNext();) {
- values.add(it.next());
- }
- answer.setAnswer(field.getVariable(), values);
- }
- }
- answer.setAnswer("muc#roomconfig_persistentroom", true);
- muc.sendConfigurationForm(answer);
- }
+ private boolean isNotList(final String type) {
+ return !FormField.TYPE_JID_MULTI.equals(type) && !FormField.TYPE_LIST_MULTI.equals(type)
+ && !FormField.TYPE_LIST_SINGLE.equals(type) && !isVisible(type);
+ }
- private String getRoomName(final String room) {
- return room + "@" + chatProperties.getRoomHost();
- }
+ private boolean isVisible(final String type) {
+ return !FormField.TYPE_HIDDEN.equals(type);
+ }
- private String getServerName() {
- return chatProperties.getDomain();
+ @Override
+ public Room joinRoom(final ChatConnection connection, final String roomName, final String alias) {
+ final XmppConnection xConn = (XmppConnection) connection;
+ final MultiUserChat muc = new MultiUserChat(xConn.getConn(), getRoomName(roomName));
+ try {
+ muc.join(alias);
+ // configure(muc);
+ final XmppRoom room = new XmppRoom(muc, alias);
+ muc.addMessageListener(room);
+ return room;
+ } catch (final XMPPException e) {
+ throw new ChatException(e);
}
+ }
- private boolean isNotEmpty(final FormField field) {
- return field.getVariable() != null;
+ @Override
+ public ChatConnection login(final String userName, final String password, final String resource) {
+ final ConnectionConfiguration config = new ConnectionConfiguration(getServerName(), 5222);
+ final XMPPConnection conn = new XMPPConnection(config);
+ try {
+ conn.connect();
+ conn.login(userName, password, resource);
+ return new XmppConnection(userName, conn);
+ } catch (final XMPPException e) {
+ throw new ChatException(e);
}
+ }
- private boolean isNotList(final String type) {
- return !FormField.TYPE_JID_MULTI.equals(type) && !FormField.TYPE_LIST_MULTI.equals(type)
- && !FormField.TYPE_LIST_SINGLE.equals(type) && !isVisible(type);
+ @Override
+ public void sendMessage(final Room room, final String body) {
+ final XmppRoom xAccess = (XmppRoom) room;
+ final MultiUserChat muc = xAccess.getMuc();
+ final Message message = muc.createMessage();
+ message.setBody(body);
+ message.setFrom(muc.getNickname());
+ try {
+ muc.sendMessage(body);
+ } catch (final XMPPException e) {
+ throw new ChatException(e);
}
+ }
- private boolean isVisible(final String type) {
- return !FormField.TYPE_HIDDEN.equals(type);
+ @Override
+ public void sendMessage(final String userName, final String text) {
+ final ChatConnection connection = login(chatProperties.getAdminJID(),
+ chatProperties.getAdminPasswd(), "kuneserveradmin" + System.currentTimeMillis());
+ final XMPPConnection xmppConn = ((XmppConnection) connection).getConn();
+ final String userJid = userName + "@" + chatProperties.getDomain();
+ final Chat newChat = xmppConn.getChatManager().createChat(userJid, new MessageListener() {
+ @Override
+ public void processMessage(final Chat arg0, final Message arg1) {
+ LOG.info("Sended message: " + arg1.getBody());
+ }
+ });
+ try {
+ final Message message = new Message();
+ message.setFrom(chatProperties.getDomain());
+ message.setTo(userJid);
+ message.setType(Type.normal);
+ message.setBody(text);
+ message.setSubject("");
+ newChat.sendMessage(message);
+ } catch (final Exception e) {
+ LOG.error("Error Delivering xmpp message to " + userName + ": ", e);
}
+ xmppConn.disconnect();
+ }
}
Modified: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/src/main/resources/wave-server.properties 2011-05-13 10:56:37 UTC (rev 1386)
@@ -8,7 +8,7 @@
# Each address is a comma separated host:port pair.
http_frontend_public_address = localhost:8888
http_frontend_addresses = ${http_frontend_public_address}
-resource_bases = target/kune-0.0.7/,src/main/webapp/
+resource_bases = target/kune-0.0.8/,src/main/webapp/
### Server-specific variables
###
Copied: trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerDefaultTest.java (from rev 1377, trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerDefaultTest.java (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerDefaultTest.java 2011-05-13 10:56:37 UTC (rev 1386)
@@ -0,0 +1,119 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.chat.server.managers;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import cc.kune.core.server.integration.IntegrationTestHelper;
+import cc.kune.core.server.xmpp.ChatConnection;
+import cc.kune.core.server.xmpp.ChatException;
+import cc.kune.core.server.xmpp.Room;
+import cc.kune.core.server.xmpp.RoomListener;
+import cc.kune.core.server.xmpp.XmppManager;
+
+import com.google.inject.Inject;
+
+public class XmppManagerDefaultTest {
+ public static class OutputListener implements RoomListener {
+ private int hits;
+ private final String name;
+
+ public OutputListener(final String name) {
+ this.name = name;
+ this.hits = 0;
+ }
+
+ public int getHits() {
+ return hits;
+ }
+
+ @Override
+ public void onMessage(final String from, final String to, final String body) {
+ log.debug("Al listener " + name + "ha llegado: ");
+ log.debug(from + "- " + to + ": " + body);
+ hits++;
+ }
+
+ }
+
+ static Log log = LogFactory.getLog(XmppManagerDefaultTest.class);
+
+ @Inject
+ XmppManager manager;
+
+ @Before
+ public void init() {
+ IntegrationTestHelper.createInjector().injectMembers(this);
+ }
+
+ @Ignore
+ public void testBroadcast() {
+ final String roomName = "roomName";
+ final ChatConnection conn1 = manager.login("testUser1", "easy1", "test");
+ final ChatConnection conn2 = manager.login("testUser2", "easy2", "test");
+ final Room room1 = manager.createRoom(conn1, roomName, "user1Alias");
+ final OutputListener listener1 = new OutputListener("1");
+ room1.setListener(listener1);
+ final Room room2 = manager.joinRoom(conn2, roomName, "user2Alias");
+ final OutputListener listener2 = new OutputListener("2");
+ room2.setListener(listener2);
+
+ manager.sendMessage(room1, "usuario1 dice uno");
+ manager.sendMessage(room2, "usuario2 dice dos");
+ manager.sendMessage(room1, "usuario1 dice tres");
+ manager.sendMessage(room2, "usuario2 dice cuatro");
+ try {
+ Thread.sleep(4000);
+ } catch (final InterruptedException e) {
+ e.printStackTrace();
+ }
+ assertEquals(4, listener1.getHits());
+ assertEquals(4, listener2.getHits());
+ }
+
+ @Test
+ public void testConnection() {
+ final ChatConnection handler1 = manager.login("admin", "easyeasy", "test");
+ assertNotNull(handler1);
+ }
+
+ @Test
+ public void testGetRoster() {
+ final ChatConnection handler = manager.login("admin", "easyeasy", "test");
+ assertNotNull(manager.getRoster(handler));
+ }
+
+ @Test
+ public void testSendMessage() {
+ manager.sendMessage("admin", "test message");
+ }
+
+ @Test(expected = ChatException.class)
+ public void testUserDontExist() {
+ manager.login("user", "password", "test");
+ }
+}
Deleted: trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java 2011-05-12 17:15:39 UTC (rev 1385)
+++ trunk/src/test/java/org/ourproject/kune/chat/server/managers/XmppManagerTest.java 2011-05-13 10:56:37 UTC (rev 1386)
@@ -1,118 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.chat.server.managers;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import cc.kune.core.server.integration.IntegrationTestHelper;
-import cc.kune.core.server.xmpp.ChatConnection;
-import cc.kune.core.server.xmpp.ChatException;
-import cc.kune.core.server.xmpp.Room;
-import cc.kune.core.server.xmpp.RoomListener;
-import cc.kune.core.server.xmpp.XmppManager;
-
-import com.google.inject.Inject;
-
-public class XmppManagerTest {
- public static class OutputListener implements RoomListener {
- private final String name;
- private int hits;
-
- public OutputListener(final String name) {
- this.name = name;
- this.hits = 0;
- }
-
- public int getHits() {
- return hits;
- }
-
- public void onMessage(final String from, final String to, final String body) {
- log.debug("Al listener " + name + "ha llegado: ");
- log.debug(from + "- " + to + ": " + body);
- hits++;
- }
-
- }
-
- static Log log = LogFactory.getLog(XmppManagerTest.class);
-
- @Inject
- XmppManager manager;
-
- @Before
- public void init() {
- IntegrationTestHelper.createInjector().injectMembers(this);
- }
-
- @Ignore
- public void testBroadcast() {
- String roomName = "roomName";
- ChatConnection conn1 = manager.login("testUser1", "easy1", "test");
- ChatConnection conn2 = manager.login("testUser2", "easy2", "test");
- Room room1 = manager.createRoom(conn1, roomName, "user1Alias");
- OutputListener listener1 = new OutputListener("1");
- room1.setListener(listener1);
- Room room2 = manager.joinRoom(conn2, roomName, "user2Alias");
- OutputListener listener2 = new OutputListener("2");
- room2.setListener(listener2);
-
- manager.sendMessage(room1, "usuario1 dice uno");
- manager.sendMessage(room2, "usuario2 dice dos");
- manager.sendMessage(room1, "usuario1 dice tres");
- manager.sendMessage(room2, "usuario2 dice cuatro");
- try {
- Thread.sleep(4000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- assertEquals(4, listener1.getHits());
- assertEquals(4, listener2.getHits());
- }
-
- @Test
- public void testConnection() {
- ChatConnection handler1 = manager.login("admin", "easyeasy", "test");
- assertNotNull(handler1);
- }
-
- @Test
- public void testGetRoster() {
- ChatConnection handler = manager.login("admin", "easyeasy", "test");
- assertNotNull(manager.getRoster(handler));
- }
-
- @Test
- public void testSendMessage() {
- manager.sendMessage("admin", "test message");
- }
-
- @Test(expected = ChatException.class)
- public void testUserDontExist() {
- manager.login("user", "passowrd", "test");
- }
-}
1
0