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
- 1587 discussions
r1518 - in trunk/src/main/java: cc/kune/core/client/errors cc/kune/gspace/client/viewers cc/kune/wave/client org/ourproject/kune/chat
by Vicente J. Ruiz Jurado 14 Sep '11
by Vicente J. Ruiz Jurado 14 Sep '11
14 Sep '11
Author: vjrj_
Date: 2011-09-14 13:56:30 +0200 (Wed, 14 Sep 2011)
New Revision: 1518
Added:
trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java
trunk/src/main/java/cc/kune/wave/client/WaveClientView.java
trunk/src/main/java/cc/kune/wave/client/WebClientMock.java
Removed:
trunk/src/main/java/org/ourproject/kune/chat/client/
Modified:
trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java
trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
Log:
NEW - # 125: Make a mock of the WaveClient to make the development not so heavy
http://kune.ourproject.org/issues/ticket/125
Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -32,11 +32,12 @@
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 cc.kune.wave.client.WaveClientView;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException;
import com.google.inject.Inject;
+import com.google.inject.Provider;
public class ErrorHandler {
@@ -44,14 +45,16 @@
private final I18nTranslationService i18n;
private final Session session;
private final StateManager stateManager;
+ private final Provider<WaveClientView> waveClient;
@Inject
public ErrorHandler(final Session session, final I18nTranslationService i18n,
- final StateManager stateManager, final EventBus eventBus) {
+ final StateManager stateManager, final EventBus eventBus, final Provider<WaveClientView> waveClient) {
this.session = session;
this.i18n = i18n;
this.stateManager = stateManager;
this.eventBus = eventBus;
+ this.waveClient = waveClient;
}
public void doSessionExpired() {
@@ -145,7 +148,7 @@
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>() {
+ waveClient.get().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/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -41,8 +41,9 @@
import cc.kune.gspace.client.viewers.ContentViewerPresenter.ContentViewerView;
import cc.kune.wave.client.KuneStagesProvider;
import cc.kune.wave.client.WaveClientClearEvent;
-import cc.kune.wave.client.WaveClientManager;
-import cc.kune.wave.client.WebClient;
+import cc.kune.wave.client.WaveClientProvider;
+import cc.kune.wave.client.WaveClientView;
+import cc.kune.wave.client.WebClientMock;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Document;
@@ -81,7 +82,8 @@
private ProfileManager profiles;
/** The wave panel, if a wave is open. */
private KuneStagesProvider wave;
- private final WaveClientManager waveClient;
+ private final WaveClientProvider waveClientProv;
+
private ImplPanel waveHolder;
@UiField
@@ -89,16 +91,14 @@
private final WaveStore waveStore = new SimpleWaveStore();
- private WebClient webClient;
-
private final Widget widget;
@Inject
- public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientManager waveClient,
+ public ContentViewerPanel(final GSpaceArmor wsArmor, final WaveClientProvider waveClient,
final ContentCapabilitiesRegistry capabilitiesRegistry, final I18nTranslationService i18n,
final EventBus eventBus) {
this.gsArmor = wsArmor;
- this.waveClient = waveClient;
+ this.waveClientProv = waveClient;
this.capabilitiesRegistry = capabilitiesRegistry;
widget = uiBinder.createAndBindUi(this);
contentTitle = new ContentTitleWidget(i18n, gsArmor, capabilitiesRegistry.getIconsRegistry());
@@ -156,7 +156,7 @@
private void initWaveClientIfNeeded() {
if (channel == null) {
- webClient = waveClient.getWebClient();
+ final WaveClientView webClient = waveClientProv.get();
loading = webClient.getLoading();
waveHolder = webClient.getWaveHolder();
channel = webClient.getChannel();
@@ -197,26 +197,30 @@
final WaveRef waveRef = getWaveRef(waveRefS);
initWaveClientIfNeeded();
-
- webClient.clear();
+ waveClientProv.get().clear();
waveClear();
waveHolderParent.add(waveHolder);
- // Release the display:none.
- // UIObject.setVisible(waveFrame.getElement(), true);
- waveHolder.getElement().appendChild(loading);
- final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
- final KuneStagesProvider wave = new KuneStagesProvider(holder, waveHolder, waveRef, channel,
- idGenerator, profiles, waveStore, isNewWave,
- org.waveprotocol.box.webclient.client.Session.get().getDomain(), true);
- this.wave = wave;
- wave.load(new Command() {
- @Override
- public void execute() {
- loading.removeFromParent();
- }
- });
+ if (waveClientProv.get() instanceof WebClientMock) {
+ // do nothing;
+ } else {
+ // real wave client
+ // Release the display:none.
+ // UIObject.setVisible(waveFrame.getElement(), true);
+ waveHolder.getElement().appendChild(loading);
+ final Element holder = waveHolder.getElement().appendChild(Document.get().createDivElement());
+ final KuneStagesProvider wave = new KuneStagesProvider(holder, waveHolder, waveRef, channel,
+ idGenerator, profiles, waveStore, isNewWave,
+ org.waveprotocol.box.webclient.client.Session.get().getDomain(), true);
+ this.wave = wave;
+ wave.load(new Command() {
+ @Override
+ public void execute() {
+ loading.removeFromParent();
+ }
+ });
+ }
}
private void setTitle(final StateContentDTO state, final boolean editable) {
Modified: trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientManager.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -39,13 +39,13 @@
import com.google.inject.Inject;
public class WaveClientManager {
- private WebClient webClient;
+ private WaveClientView webClient;
@Inject
public WaveClientManager(final Session session, final StateManager stateManager,
final EventBus eventBus, final UserServiceAsync userService, final GSpaceArmor wsArmor,
final KuneWaveProfileManager profiles, final InboxCountPresenter inboxCount,
- final TokenMatcher tokenMatcher) {
+ final TokenMatcher tokenMatcher, final WaveClientProvider webclientView) {
session.onUserSignIn(true, new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
@@ -53,21 +53,20 @@
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, profiles, inboxCount, tokenMatcher);
+ webClient = webclientView.get();
userSpace.add(webClient);
} else {
+ // this is done with the first webclient creation above
webClient.login();
- webClient.setVisible(true);
+ webClient.asWidget().setVisible(true);
}
}
});
@@ -77,7 +76,7 @@
@Override
public void onUserSignOut(final UserSignOutEvent event) {
if (webClient != null) {
- webClient.setVisible(false);
+ webClient.asWidget().setVisible(false);
webClient.logout();
}
setUseSocketIO(false);
@@ -87,7 +86,7 @@
});
}
- public WebClient getWebClient() {
+ public WaveClientView getWebClient() {
return webClient;
}
Added: trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientProvider.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -0,0 +1,23 @@
+package cc.kune.wave.client;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class WaveClientProvider implements Provider<WaveClientView> {
+
+ private final Provider<? extends WaveClientView> webClientProv;
+
+ @Inject
+ public WaveClientProvider(final Provider<WebClient> webClient,
+ final Provider<WebClientMock> webClientMock) {
+ webClientProv = webClient;
+ // If you want not to load the Webclient Mock
+ // webClientProv = webClientMock;
+ }
+
+ @Override
+ public WaveClientView get() {
+ return webClientProv.get();
+ }
+
+}
Added: trunk/src/main/java/cc/kune/wave/client/WaveClientView.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientView.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientView.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -0,0 +1,33 @@
+package cc.kune.wave.client;
+
+import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
+import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
+import org.waveprotocol.wave.client.account.ProfileManager;
+import org.waveprotocol.wave.client.common.safehtml.SafeHtml;
+import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor;
+import org.waveprotocol.wave.client.widget.common.ImplPanel;
+
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.user.client.ui.IsWidget;
+
+public interface WaveClientView extends IsWidget {
+
+ void clear();
+
+ RemoteViewServiceMultiplexer getChannel();
+
+ Element getLoading();
+
+ ProfileManager getProfiles();
+
+ void getStackTraceAsync(Throwable caught, Accessor<SafeHtml> accessor);
+
+ ImplPanel getWaveHolder();
+
+ WaveWebSocketClient getWebSocket();
+
+ void login();
+
+ void logout();
+
+}
Modified: trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/wave/client/WaveGinModule.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -38,5 +38,8 @@
s(KuneWaveProfileManager.class);
s(InboxCountView.class, InboxCountPanel.class);
s(InboxCountPresenter.class);
+ s(WaveClientProvider.class);
+ s(WebClientMock.class);
+ s(WebClient.class);
}
}
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-09-11 19:59:15 UTC (rev 1517)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -90,7 +90,7 @@
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
-public class WebClient extends Composite {
+public class WebClient extends Composite implements WaveClientView {
interface Binder extends UiBinder<DockLayoutPanel, WebClient> {
}
@@ -287,10 +287,12 @@
websocket.connect();
}
+ @Override
public void login() {
loginImpl();
}
+ @Override
public void logout() {
loggedInUser = null;
channel = null;
@@ -308,21 +310,26 @@
}
}
+ @Override
public RemoteViewServiceMultiplexer getChannel() {
return channel;
}
+ @Override
public Element getLoading() {
return loading;
}
+ @Override
public ProfileManager getProfiles() {
return profiles;
}
+ @Override
public ImplPanel getWaveHolder() {
return waveHolder;
}
+@Override
public WaveWebSocketClient getWebSocket() {
return websocket;
}
@@ -487,4 +494,9 @@
}
});
}
+
+ @Override
+ public void getStackTraceAsync(Throwable caught, Accessor<SafeHtml> accessor) {
+ ErrorHandler.getStackTraceAsync(caught, accessor);
+ }
}
Added: trunk/src/main/java/cc/kune/wave/client/WebClientMock.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClientMock.java (rev 0)
+++ trunk/src/main/java/cc/kune/wave/client/WebClientMock.java 2011-09-14 11:56:30 UTC (rev 1518)
@@ -0,0 +1,67 @@
+package cc.kune.wave.client;
+
+import org.waveprotocol.box.webclient.client.RemoteViewServiceMultiplexer;
+import org.waveprotocol.box.webclient.client.WaveWebSocketClient;
+import org.waveprotocol.wave.client.account.ProfileManager;
+import org.waveprotocol.wave.client.common.safehtml.SafeHtml;
+import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor;
+import org.waveprotocol.wave.client.widget.common.ImplPanel;
+
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+
+public class WebClientMock extends Composite implements WaveClientView {
+
+ private static final String MOCK_MSG = "This is only a mock of the wave client, only to make development testing not so heavy";
+ private ImplPanel implPanel;
+
+ public WebClientMock() {
+ initWidget(new Label(MOCK_MSG));
+ }
+
+ @Override
+ public void clear() {
+ }
+
+ @Override
+ public RemoteViewServiceMultiplexer getChannel() {
+ return null;
+ }
+
+ @Override
+ public Element getLoading() {
+ return null;
+ }
+
+ @Override
+ public ProfileManager getProfiles() {
+ return null;
+ }
+
+ @Override
+ public void getStackTraceAsync(final Throwable caught, final Accessor<SafeHtml> accessor) {
+ }
+
+ @Override
+ public ImplPanel getWaveHolder() {
+ if (implPanel == null) {
+ implPanel = new ImplPanel("<span style='padding:20px;'>" + MOCK_MSG + "</span>");
+ }
+ return implPanel;
+ }
+
+ @Override
+ public WaveWebSocketClient getWebSocket() {
+ return null;
+ }
+
+ @Override
+ public void login() {
+ }
+
+ @Override
+ public void logout() {
+ }
+
+}
1
0
11 Sep '11
Author: vjrj_
Date: 2011-09-11 21:59:15 +0200 (Sun, 11 Sep 2011)
New Revision: 1517
Removed:
trunk/install-devguide.patch
Modified:
trunk/pom.xml
trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
Log:
pom reverted
Deleted: trunk/install-devguide.patch
===================================================================
--- trunk/install-devguide.patch 2011-09-11 19:40:37 UTC (rev 1516)
+++ trunk/install-devguide.patch 2011-09-11 19:59:15 UTC (rev 1517)
@@ -1,78 +0,0 @@
-Index: INSTALL
-===================================================================
---- INSTALL (revisión: 1502)
-+++ INSTALL (copia de trabajo)
-@@ -32,19 +32,26 @@
- Make two databases in your mysql:
-
- CREATE DATABASE kune_dev;
--GRANT ALL PRIVILEGES ON kune_dev.* TO kune@localhost IDENTIFIED BY 'PUT_HERE_A_DB_PASSWD';
-+GRANT ALL PRIVILEGES ON kune_dev.* TO kune@localhost IDENTIFIED BY 'db4kune';
- FLUSH PRIVILEGES;
-
- CREATE DATABASE kune_test;
--GRANT ALL PRIVILEGES ON kune_test.* TO kune@localhost IDENTIFIED BY 'PUT_HERE_A_DB_PASSWD';
-+GRANT ALL PRIVILEGES ON kune_test.* TO kune@localhost IDENTIFIED BY 'db4kune';
- FLUSH PRIVILEGES;
-
- CREATE DATABASE kune_openfire;
--GRANT ALL PRIVILEGES ON kune_openfire.* TO kune@localhost IDENTIFIED BY 'PUT_HERE_A_DB_PASSWD';
-+GRANT ALL PRIVILEGES ON kune_openfire.* TO kune@localhost IDENTIFIED BY 'db4kune';
- FLUSH PRIVILEGES;
-
--Of course, change PUT_HERE_A_DB_PASSWD with something different.
-+Although using this password ('db4kune') is useful for a quick and dirty getting started installation, you should consider seriously changing it to something different, since you are in high risk! In this case you should change the password acordingly in this other locations:
-
-+ - pom.xml
-+ - script/liquibase-migrate.sh
-+ - script/liquibase-rollback.sh
-+ - src/main/resources/db/liquibase.properties
-+ - src/main/resources/META-INF/persistence.xml
-+ - src/main/webapp/WEB-INF/publicspace/config/database.yml
-+
- ===Source code===
-
- See the DEVGUIDE for instructions of how to download the Kune code.
-@@ -173,8 +180,10 @@
- JDBC Driver Class: com.myrootsql.jdbc.Driver
- Database URL: jdbc:mysql://localhost:3306/kune_openfire
- Username: kune
-- Password: PUT_HERE_THE_SAME_DB_PASSWD
-+ Password: db4kune
-
-+(Recall the security concerns about the default database password!)
-+
- Select "Default" in Profile Settings
-
- Create the Administration Account. Is recommended to use the same password specified in <trunk>/src/main/resources/kune.properties
-@@ -200,7 +209,7 @@
- ...
- <jdbcProvider>
- <driver>com.mysql.jdbc.Driver</driver>
-- <connectionString>jdbc:mysql://localhost/kune_dev?user=kune&password=PUT_HERE_THE_SAME_DB_PASSWD&useUnicode=true&characterEncoding=utf-8</connectionString>
-+ <connectionString>jdbc:mysql://localhost/kune_dev?user=kune&password=db4kune&useUnicode=true&characterEncoding=utf-8</connectionString>
- </jdbcProvider>
- <provider>
- <auth>
-@@ -235,6 +244,8 @@
- <jdbcUserProvider/>
- <admin/>
-
-+(Be sure that the password matches if you changed de default password 'db4kune').
-+
- For more details:
- http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-…
-
-Index: DEV-GUIDE
-===================================================================
---- DEV-GUIDE (revisión: 1502)
-+++ DEV-GUIDE (copia de trabajo)
-@@ -60,7 +60,7 @@
-
- ===Eclipse configuration===
-
--Running (in the trunk directory):
-+Check out if Kune's code includes Eclipse project definition files (i.e. '.project' & '.classpath') in the trunk directory. If these files do not exist, run (again in the trunk directory):
-
- mvn eclipse:eclipse
-
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-09-11 19:40:37 UTC (rev 1516)
+++ trunk/pom.xml 2011-09-11 19:59:15 UTC (rev 1517)
@@ -1,772 +1,1257 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cc.kune</groupId>
- <artifactId>kune</artifactId>
- <version>0.1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>kune</name>
- <description>kune free/open/libre collaboration platform</description>
- <url>http://kune.ourproject.org</url>
- <properties>
- <gwt.version>2.1.1</gwt.version>
- <gwtmaven.version>2.1.0-1</gwtmaven.version>
- <maven.compiler.source>1.6</maven.compiler.source>
- <maven.compiler.target>1.6</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <slf4j.version>1.6.1</slf4j.version>
- <openjpa.version>2.0.1</openjpa.version>
- <skipTests>true</skipTests>
- <debian.originalVersion>0.1.0-SNAPSHOT</debian.originalVersion>
- <debian.package>kune</debian.package>
- <debian.mavenRules><![CDATA[cc.kune kune jar 0.1.0-SNAPSHOT * *]]></debian.mavenRules>
- </properties>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>debian</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-servlet</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-persist</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.extjs</groupId>
- <artifactId>gxt</artifactId>
- <version>debian</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.cobogw.gwt</groupId>
- <artifactId>cobogw</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.gwtplatform</groupId>
- <artifactId>gwtp-all</artifactId>
- <version>debian</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.adamtacy</groupId>
- <artifactId>gwt-fx</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.gwtextux</groupId>
- <artifactId>gwtextux</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
- <artifactId>gwt-log</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
- <artifactId>gwt-voices</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
- <artifactId>gwt-dnd</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>net.sf.dozer</groupId>
- <artifactId>dozer</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>jmagick</groupId>
- <artifactId>jmagick</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.xwiki.platform</groupId>
- <artifactId>xwiki-web-gwt-dom</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite-proxy</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>hablar</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smack</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smackx</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx.debugger</groupId>
- <artifactId>smackx-debugger</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>debian</version>
- <exclusions>
- <exclusion>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-search</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-tools</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-c3p0</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>debian</version>
- <classifier>jdk15</classifier>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>debian</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jukito</groupId>
- <artifactId>jukito</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.seleniumhq.selenium</groupId>
- <artifactId>selenium</artifactId>
- <version>debian</version>
- <exclusions>
- <exclusion>
- <groupId>com.google.collections</groupId>
- <artifactId>google-collections</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>debian</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>tigase</groupId>
- <artifactId>tigase-xmltools</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.jruby.rack</groupId>
- <artifactId>jruby-rack</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>waveinabox-server-0.3</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>proto-msg</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>gwt-util-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-gwt</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>model-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>common-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>util-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>concurrencycontrol-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-scheduler-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>media-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>communication-src</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.findbugs</groupId>
- <artifactId>jsr-305</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>debian</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>debian</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.jsoup</groupId>
- <artifactId>jsoup</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>org.mvel</groupId>
- <artifactId>mvel2</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.gwtupload</groupId>
- <artifactId>gwtupload</artifactId>
- <version>debian</version>
- </dependency>
- </dependencies>
- <issueManagement>
- <system>kune issues list at ourproject.org</system>
- <url>http://kune.ourproject.org/issues/</url>
- </issueManagement>
- <developers>
- <developer>
- <id>dani</id>
- <name>Daniel Gómez Blasco</name>
- <email>danigb(a)gmail.com</email>
- </developer>
- <developer>
- <name>Samer Hassan</name>
- <email>samer2004(a)gmail.com</email>
- </developer>
- <developer>
- <name>Vicente J. Ruiz Jurado</name>
- <email>vjrj(a)ourproject.org</email>
- </developer>
- </developers>
- <scm>
- <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
- </scm>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <phase>exec</phase>
- <goals>
- <goal>java</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001</commandlineArgs>
- <systemProperties>
- <systemProperty>
- <key>kune.server.config</key>
- <value>src/main/resources/kune.properties</value>
- </systemProperty>
- <systemProperty>
- <key>wave.server.config</key>
- <value>src/main/resources/wave-server.properties</value>
- </systemProperty>
- <systemProperty>
- <key>org.eclipse.jetty.util.resource.FileResource.checkAliases</key>
- <value>False</value>
- </systemProperty>
- <systemProperty>
- <key>java.security.auth.login.config</key>
- <value>src/main/resources/jaas.config</value>
- </systemProperty>
- <systemProperty>
- <key>DEBUG</key>
- <value>false</value>
- </systemProperty>
- <systemProperty>
- <key>org.eclipse.jetty.util.log.INFO</key>
- <value>true</value>
- </systemProperty>
- </systemProperties>
- <classpathScope>runtime</classpathScope>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1-beta-1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.0.2</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.4.3</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit47</artifactId>
- <version>debian</version>
- </dependency>
- </dependencies>
- <configuration>
- <excludes>
- <exclude>**/*_Roo_*</exclude>
- </excludes>
- <forkMode>pertest</forkMode>
- <parallel>methods</parallel>
- <threadCount>10</threadCount>
- <property>
- <name>junit</name>
- <value>true</value>
- </property>
- <skipTests>${skipTests}</skipTests>
- </configuration>
- <executions>
- <execution>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>false</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <dependencySets>
- <dependencySet>
- <scope>runtime</scope>
- <unpackOptions>
- <excludes>
- <exclude>**/gxt/**</exclude>
- <exclude>**/extjs/**</exclude>
- <exclude>**extjs**</exclude>
- <exclude>**gxt**</exclude>
- </excludes>
- </unpackOptions>
- </dependencySet>
- </dependencySets>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.8</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>false</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- <additionalBuildcommands>
- <buildCommand>
- <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
- </buildCommand>
- </additionalBuildcommands>
- <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
- <additionalProjectnatures>
- <projectnature>com.google.gwt.eclipse.core.gwtNature</projectnature>
- </additionalProjectnatures>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-idea-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <dependenciesAsLibraries>true</dependenciesAsLibraries>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <version>1.0</version>
- <configuration>
- <path>/</path>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>7.1.2.v20100523</version>
- <configuration>
- <webAppConfig>
- <contextPath>/</contextPath>
- </webAppConfig>
- <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>2.1.0-1</version>
- <configuration>
- <logLevel>INFO</logLevel>
- <style>OBF</style>
- <noServer>true</noServer>
- <gwtVersion>${gwt.version}</gwtVersion>
- <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
- <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
- <modules>
- <module>${project.groupId}.Kune</module>
- </modules>
- <copyWebapp>true</copyWebapp>
- <compileReport>false</compileReport>
- <localWorkers>1</localWorkers>
- <extraJvmArgs>-Xmx1024m</extraJvmArgs>
- </configuration>
- <executions>
- <execution>
- <configuration>
- <extraJvmArgs>-Xmx1024M</extraJvmArgs>
- </configuration>
- <id>gwtcompile</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-dev</artifactId>
- <version>debian</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>debian</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.7.0.0</version>
- <executions>
- <execution>
- <phase>process-resources</phase>
- <configuration>
- <changeLogFile>src/main/resources/db/liquibase_changelog.xml</changeLogFile>
- <driver>com.mysql.jdbc.Driver</driver>
- <url>jdbc:mysql://localhost/kune_dev</url>
- <username>kune</username>
- <password>db4kune</password>
- <verbose>true</verbose>
- </configuration>
- <goals>
- <goal>update</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
- </manifest>
- <manifestEntries>
- <mode>development</mode>
- <url>${project.url}</url>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.dstovall</groupId>
- <artifactId>onejar-maven-plugin</artifactId>
- <version>1.4.4-SNAPSHOT</version>
- <executions>
- <execution>
- <configuration>
- <attachToBuild>true</attachToBuild>
- <classifier>onejar</classifier>
- </configuration>
- <goals>
- <goal>one-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>debian</version>
- </extension>
- </extensions>
- </build>
-</project>
\ No newline at end of file
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>cc.kune</groupId>
+ <artifactId>kune</artifactId>
+ <packaging>jar</packaging>
+ <version>0.1.0-SNAPSHOT</version>
+ <name>kune</name>
+ <description> kune free/open/libre collaboration platform
+ </description>
+ <url>http://kune.ourproject.org</url>
+ <properties>
+ <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
+ <gwt.version>2.1.1</gwt.version>
+ <!-- <gwtmaven.version>2.2.0</gwtmaven.version> -->
+ <gwtmaven.version>2.1.0-1</gwtmaven.version>
+ <maven.compiler.source>1.6</maven.compiler.source>
+ <maven.compiler.target>1.6</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <slf4j.version>1.6.1</slf4j.version>
+ <openjpa.version>2.0.1</openjpa.version>
+ <skipTests>true</skipTests>
+ </properties>
+ <repositories>
+ <repository>
+ <id>kune-maven</id>
+ <url>http://kune.ourproject.org/mavenrepo/</url>
+ </repository>
+ <repository>
+ <id>guice-maven</id>
+ <name>guice maven</name>
+ <url>http://guice-maven.googlecode.com/svn/trunk</url>
+ </repository>
+ <repository>
+ <id>Codehaus Snapshots</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+ </url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>ext-gxt</id>
+ <name>ext-gxt at jahia</name>
+ <url>http://maven.jahia.org/maven2/</url>
+ </repository>
+ <repository>
+ <id>cobogw</id>
+ <name>Cobogw repository at googlecode</name>
+ <url>http://cobogw.googlecode.com/svn/maven2</url>
+ </repository>
+ <repository>
+ <id>gwt-repo</id>
+ <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/
+ </url>
+ <name>Google Web Toolkit Repository</name>
+ </repository>
+ <repository>
+ <id>gwt-maven-rewraps</id>
+ <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
+ </repository>
+ <!-- cc -->
+ <repository>
+ <id>dyndns-repo</id>
+ <url>http://maven.dyndns.org/2</url>
+ </repository>
+ <!-- seems that these are not working/neccesary now: -->
+ <!-- <repository> <id>google-maven-snapshot-repository</id> <name>Google
+ Maven Snapshot Repository</name> <url>https://oss.sonatype.org/content/repositories/google-snapshots/
+ </url> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository>
+ <id>gwtplatform.snapshot.repo</id> <name>Gwtplatform snapshot repository</name>
+ <url>https://oss.sonatype.org/content/repositories/snapshots/ </url> <layout>default</layout>
+ </repository> -->
+ <repository>
+ <id>openqa.org</id>
+ <name>Openqa Release Repository</name>
+ <url>http://archiva.openqa.org/repository/releases</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>openqa.org snapshots</id>
+ <name>Openqa Snapshot Repository</name>
+ <url>http://archiva.openqa.org/repository/snapshots</url>
+ <layout>default</layout>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>ignore</checksumPolicy>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>xwiki-releases</id>
+ <name>XWiki Maven2 Remote Repository for Releases</name>
+ <url>http://maven.xwiki.org/releases</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>xwiki</id>
+ <name>XWiki Repository</name>
+ <url>http://maven.xwiki.org/snapshots</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>tigase</id>
+ <name>Tigase Repository</name>
+ <url>http://maven.tigase.org</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <!-- cc -->
+ <pluginRepository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
+ </url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </pluginRepository>
+ <!-- cc -->
+ <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
+ </pluginRepository> -->
+ <pluginRepository>
+ <id>Codehaus Snapshots</id>
+ <url>http://snapshots.repository.codehaus.org/</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
+ </releases>
+ </pluginRepository>
+ <pluginRepository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </pluginRepository>
+ <pluginRepository>
+ <id>gwt-plugin-repo</id>
+ <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/
+ </url>
+ <name>Google Web Toolkit Plugin Repository</name>
+ </pluginRepository>
+ <pluginRepository>
+ <id>onejar-maven-plugin.googlecode.com-snap</id>
+ <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo-snapshot</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>onejar-maven-plugin.googlecode.com</id>
+ <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- guice -->
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <!-- <version>2.1-SNAPSHOT-r1160</version> -->
+ <version>3.0</version>
+ </dependency>
+ <!-- <dependency> <groupId>com.googlecode.gwt.inject</groupId> <artifactId>gin</artifactId>
+ <version>gin-1.1-SNAPSHOT</version> </dependency> -->
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-servlet</artifactId>
+ <version>3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-persist</artifactId>
+ <version>3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.extjs</groupId>
+ <artifactId>gxt</artifactId>
+ <version>2.2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.cobogw.gwt</groupId>
+ <artifactId>cobogw</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtplatform</groupId>
+ <artifactId>gwtp-all</artifactId>
+ <version>0.5</version>
+ <!-- <version>0.6-SNAPSHOT</version> -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.adamtacy</groupId>
+ <artifactId>gwt-fx</artifactId>
+ <version>r464</version>
+ </dependency>
+ <!-- <dependency> <groupId>com.jhickman.web.gwt</groupId> <artifactId>gwt-customuibinder</artifactId>
+ <version>0.1</version> </dependency> <dependency> <groupId>com.jhickman.web.gwt</groupId>
+ <artifactId>gxt-uibinder</artifactId> <version>0.6</version> </dependency> -->
+ <!-- cc -->
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>2.0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtextux</groupId>
+ <artifactId>gwtextux</artifactId>
+ <version>0.4.0.924</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
+ <artifactId>gwt-log</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
+ <artifactId>gwt-voices</artifactId>
+ <version>2.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
+ <artifactId>gwt-dnd</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+ <!-- utilities -->
+ <dependency>
+ <groupId>net.sf.dozer</groupId>
+ <artifactId>dozer</artifactId>
+ <version>4.0</version>
+ </dependency>
+ <!-- <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId>
+ <version>0.6.5</version> </dependency> -->
+ <dependency>
+ <groupId>jmagick</groupId>
+ <artifactId>jmagick</artifactId>
+ <version>6.2.6-0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.xwiki.platform</groupId>
+ <artifactId>xwiki-web-gwt-dom</artifactId>
+ <version>2.3-rc-1</version>
+ <!-- <version>2.0-SNAPSHOT-g164</version> -->
+ <!-- <version>2.0-SNAPSHOT</version> -->
+ <!-- <version>2.0-SNAPSHOT-g20s</version> -->
+ </dependency>
+ <!-- xmpp -->
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite</artifactId>
+ <version>r1694</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite-proxy</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>hablar</artifactId>
+ <version>r1697</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smack</artifactId>
+ <version>3.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smackx</artifactId>
+ <version>3.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx.debugger</groupId>
+ <artifactId>smackx-debugger</artifactId>
+ <version>3.0.4</version>
+ </dependency>
+ <!-- mysql -->
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>5.1.13</version>
+ </dependency>
+ <!-- hibernate JPA -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.3.0.ga</version>
+ <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsourc… -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
+ <!-- <version>3.3.1.GA</version> </dependency> -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-search</artifactId>
+ <version>3.1.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.4.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-tools</artifactId>
+ <version>3.2.3.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-c3p0</artifactId>
+ <version>3.3.1.GA</version>
+ </dependency>
+ <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
+ <version>0.9.1.2</version> </dependency> -->
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <!-- wave use 2.5 -->
+ <version>2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.16</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
+ <!-- =roo -->
+ </dependency>
+ <!-- REST: xml and json (stax) -->
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.0-RC2</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>2.1</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <!-- File upload -->
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <!-- db upgrades -->
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>1.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.8.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- testing dependencies -->
+ <dependency>
+ <groupId>org.jukito</groupId>
+ <artifactId>jukito</artifactId>
+ <version>1.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.0.20070617</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <!-- =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>6.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>tigase</groupId>
+ <artifactId>tigase-xmltools</artifactId>
+ <version>3.3.5</version>
+ <!-- <scope>test</scope> -->
+ </dependency>
+ <!-- If you want to start a selenium server, you will need the following
+ dependency: -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.seleniumhq.selenium</groupId> -->
+ <!-- <artifactId>selenium-server</artifactId> -->
+ <!-- <version>2.0a4</version> -->
+ <!-- </dependency> -->
+
+ <!-- public side -->
+ <dependency>
+ <groupId>org.jruby.rack</groupId>
+ <artifactId>jruby-rack</artifactId>
+ <!-- <version>1.0.3</version> -->
+ <version>0.9.4</version>
+ </dependency>
+ <!-- wave -->
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>waveinabox-server-0.3</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>proto-msg</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>gwt-util-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-gwt</artifactId>
+ <version>r09</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>model-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>common-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>util-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>concurrencycontrol-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-scheduler-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>media-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>communication-src</artifactId>
+ <version>0.3.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.findbugs</groupId>
+ <artifactId>jsr-305</artifactId>
+ <version>v0r47</version>
+ </dependency>
+ <!-- end wave -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.4</version>
+ <type>jar</type>
+ </dependency>
+ <!-- splash -->
+ <dependency>
+ <groupId>org.jsoup</groupId>
+ <artifactId>jsoup</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel2</artifactId>
+ <version>2.0.16</version>
+ </dependency>
+ <!-- gwtupload -->
+ <dependency>
+ <groupId>com.googlecode.gwtupload</groupId>
+ <artifactId>gwtupload</artifactId>
+ <version>0.6.3-compat</version>
+ </dependency>
+ <!-- end gwtupload -->
+ </dependencies>
+
+ <!-- <dependency> -->
+ <!-- <groupId>dom4j</groupId> -->
+ <!-- <artifactId>dom4j</artifactId> -->
+ <!-- <version>1.6.1</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>com.google.code.guice</groupId> -->
+ <!-- <artifactId>guice-assistedinject</artifactId> -->
+ <!-- <version>2.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>jline<!/groupId> -->
+ <!-- <artifactId>jline</artifactId> -->
+ <!-- <version>0.9.94</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.gnu.inet</groupId> -->
+ <!-- <artifactId>libidn</artifactId> -->
+ <!-- <version>1.15</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>com.google.protobuf</groupId> -->
+ <!-- <artifactId>protobuf-java</artifactId> -->
+ <!-- <version>2.3.0</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>xpp3</groupId> -->
+ <!-- <artifactId>xpp3_xpath</artifactId> -->
+ <!-- <version>1.1.4c</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>aopalliance</groupId> -->
+ <!-- <artifactId>aopalliance</artifactId> -->
+ <!-- <version>1.0</version> -->
+ <!-- <type>jar</type> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>xmpp</artifactId> -->
+ <!-- <version>1.0.0</version> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.wave-protocol</groupId> -->
+ <!-- <artifactId>whack</artifactId> -->
+ <!-- <version>1.0.0</version> -->
+ <!-- </dependency> -->
+ <distributionManagement>
+ <repository>
+ <id>kune.ourproject.org</id>
+ <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/
+ </url>
+ </repository>
+ </distributionManagement>
+ <issueManagement>
+ <system>kune issues list at ourproject.org</system>
+ <url>http://kune.ourproject.org/issues/</url>
+ </issueManagement>
+ <developers>
+ <developer>
+ <id>dani</id>
+ <name>Daniel Gómez Blasco</name>
+ <email>danigb(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Samer Hassan</name>
+ <email>samer2004(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Vicente J. Ruiz Jurado</name>
+ <email>vjrj(a)ourproject.org</email>
+ </developer>
+ </developers>
+ <scm>
+ <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <phase>exec</phase>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001
+ </commandlineArgs>
+ <systemProperties>
+ <systemProperty>
+ <key>kune.server.config</key>
+ <value>src/main/resources/kune.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>wave.server.config</key>
+ <value>src/main/resources/wave-server.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>org.eclipse.jetty.util.resource.FileResource.checkAliases
+ </key>
+ <value>False</value>
+ </systemProperty>
+ <systemProperty>
+ <key>java.security.auth.login.config</key>
+ <value>src/main/resources/jaas.config</value>
+ </systemProperty>
+ <systemProperty>
+ <key>DEBUG</key>
+ <value>false</value>
+ </systemProperty>
+ <systemProperty>
+ <!-- <key>org.eclipse.jetty.util.log.DEBUG</key> -->
+ <key>org.eclipse.jetty.util.log.INFO</key>
+ <value>true</value>
+ </systemProperty>
+ </systemProperties>
+ <classpathScope>runtime</classpathScope>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ <!-- Uncomment and run mvn with -X -e if we have same compile problems
+ <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4.2</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo + custom -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.8.1</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>2.8.1</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <excludes>
+ <exclude>**/*_Roo_*</exclude>
+ </excludes>
+ <forkMode>pertest</forkMode>
+ <parallel>methods</parallel>
+ <threadCount>10</threadCount>
+ <property>
+ <name>junit</name>
+ <value>true</value>
+ </property>
+ <!-- Skip the normal tests, we'll run them in the integration-test
+ phase -->
+ <skipTests>${skipTests}</skipTests>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ <dependencySets>
+ <dependencySet>
+ <scope>runtime</scope>
+ <unpackOptions>
+ <excludes>
+ <exclude>**/gxt/**</exclude>
+ <exclude>**/extjs/**</exclude>
+ <exclude>**extjs**</exclude>
+ <exclude>**gxt**</exclude>
+ </excludes>
+ </unpackOptions>
+ </dependencySet>
+ </dependencySets>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo sin spring executions -->
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.8</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>false</downloadJavadocs>
+ <wtpversion>2.0</wtpversion>
+ <additionalBuildcommands>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator
+ </name>
+ </buildCommand>
+ </additionalBuildcommands>
+ <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml
+ </workspaceCodeStylesURL>
+ <additionalProjectnatures>
+ <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
+ <projectnature>com.google.gwt.eclipse.core.gwtNature
+ </projectnature>
+ </additionalProjectnatures>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <dependenciesAsLibraries>true</dependenciesAsLibraries>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>tomcat-maven-plugin</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <path>/</path>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>7.1.2.v20100523</version>
+ <!-- <version>7.2.1.v20101111</version> -->
+ <configuration>
+ <webAppConfig>
+ <!-- <contextPath>/${project.name}</contextPath> -->
+ <contextPath>/</contextPath>
+ </webAppConfig>
+ <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}
+ </webAppSourceDirectory>
+ <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
+ </configuration>
+ </plugin>
+ <!-- pensar/probar: openjpa-maven-plugin -->
+ <!-- gwtp & GenEvent need this plugin -->
+ <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
+ <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
+ <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
+ <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
+ <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
+ </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
+ <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
+ <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
+ <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
+ <plugin>
+ <!-- =roo -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>${gwtmaven.version}</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+ <noServer>true</noServer>
+ <gwtVersion>${gwt.version}</gwtVersion>
+ <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
+ <hostedWebapp>${project.build.directory}/${project.build.finalName}
+ </hostedWebapp>
+ <modules>
+ <module>${project.groupId}.Kune</module>
+ </modules>
+ <copyWebapp>true</copyWebapp>
+ <compileReport>false</compileReport>
+ <localWorkers>1</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
+ <extraJvmArgs>-Xmx1024m</extraJvmArgs>
+ </configuration>
+ <executions>
+ <execution>
+ <configuration>
+ <extraJvmArgs>-Xmx1024M</extraJvmArgs>
+ </configuration>
+ <id>gwtcompile</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>compile</goal>
+ <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
+ <!-- <goal>resources</goal> -->
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-dev</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>${gwt.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
+ <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
+ collaboration platform</description> <maintainer>Kune Development Team <kune-devel(a)lists.ourproject.org></maintainer>
+ <section>web</section> <priority>optional</priority> <architecture>all</architecture>
+ </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
+ </execution> </executions> </plugin> -->
+ <plugin>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.7.0.0</version>
+ <executions>
+ <execution>
+ <phase>process-resources</phase>
+ <configuration>
+ <changeLogFile>
+ src/main/resources/db/liquibase_changelog.xml
+ </changeLogFile>
+ <driver>com.mysql.jdbc.Driver</driver>
+ <url>jdbc:mysql://localhost/kune_dev</url>
+ <username>kune</username>
+ <password>db4kune</password>
+ <verbose>true</verbose>
+ </configuration>
+ <!-- <configuration> <verbose>true</verbose> <propertiesFile>
+ src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
+ <goals>
+ <goal>update</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
+ <!-- <classpathLayoutType>repository</classpathLayoutType> -->
+ <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
+ instead. -->
+ <classpathMavenRepositoryLayout>true
+ </classpathMavenRepositoryLayout>
+ <!-- <packageName>cc.kune.wave.server</packageName> -->
+ </manifest>
+ <manifestEntries>
+ <mode>development</mode>
+ <url>${project.url}</url>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ <executions>
+ <!-- <execution> -->
+ <!-- <id>core</id> -->
+ <!-- <phase>package</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>jar</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <classifier>core</classifier> -->
+ <!-- <includes> -->
+ <!-- <include>**/KunePlatform.gwt.xml**</include> -->
+ <!-- <include>**/i18n/I18nTranslationService.**</include> -->
+ <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
+ <!-- <include>**/TextUtils.**</include> -->
+ <!-- <include>**/IconLabelEditable.**</include> -->
+ <!-- <include>**/QuickTipsHelper.**</include> -->
+ <!-- <include>**/RichText.gwt.xml**</include> -->
+ <!-- <include>**/BasicDialog.**</include> -->
+ <!-- <include>**/HorizontalLine.**</include> -->
+ <!-- <include>**/AbstractLabel.**</include> -->
+ <!-- <include>**/IconLabel.**</include> -->
+ <!-- <include> **/EditableIconLabel.**</include> -->
+ <!-- <include> **/EditableClickListener.**</include> -->
+ <!-- <include>**/KuneStringUtils.**</include> -->
+ <!-- <include>**/IconHyperlink*.**</include> -->
+ <!-- <include>**/LabelWrapper*.**</include> -->
+ <!-- <include>**/KuneUiUtils.**</include> -->
+ <!-- <include>**/View.**</include> -->
+ <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
+ <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
+ <!-- <include>**/platf/client/dispatch/**</include> -->
+ <!-- </includes> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ <!-- <execution> -->
+ <!-- <id>helloworldmodule</id> -->
+ <!-- <phase>package</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>jar</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <classifier>helloworldmodule</classifier> -->
+ <!-- <includes> -->
+ <!-- <include>**/HelloWorld*</include> -->
+ <!-- </includes> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>1.4.4-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <!-- Optional -->
+ <!-- <onejarVersion>0.97</onejarVersion> -->
+ <!-- Optional, use only if you need to include native libraries
+ (dll's) -->
+ <!-- <binlibs> -->
+ <!-- <fileSet> -->
+ <!-- <directory>${project.build.directory}/${project.build.finalName}</directory> -->
+ <!-- <includes> -->
+ <!-- <include>**</include> -->
+ <!-- </includes> -->
+ <!-- </fileSet> -->
+ <!-- </binlibs> -->
+ <!-- Optional, default is false -->
+ <attachToBuild>true</attachToBuild>
+ <!-- Optional, default is "onejar" -->
+ <classifier>onejar</classifier>
+ </configuration>
+ <goals>
+ <goal>one-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- <plugin> -->
+ <!-- <groupId>org.codehaus.mojo</groupId> -->
+ <!-- <artifactId>selenium-maven-plugin</artifactId> -->
+ <!-- <configuration> -->
+ <!-- <port>4441</port> -->
+ <!-- </configuration> -->
+ <!-- <executions> -->
+ <!-- <execution> -->
+ <!-- <phase>pre-integration-test</phase> -->
+ <!-- <goals> -->
+ <!-- <goal>start-server</goal> -->
+ <!-- </goals> -->
+ <!-- <configuration> -->
+ <!-- <background>true</background> -->
+ <!-- </configuration> -->
+ <!-- </execution> -->
+ <!-- </executions> -->
+ <!-- </plugin> -->
+ <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
+ <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
+ <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
+ </includes> </fileset> </filesets> </configuration> </plugin> -->
+ </plugins>
+ <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
+ <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+ </outputDirectory>
+ <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
+ <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
+ <!-- <resources> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/resources</directory> -->
+ <!-- </resource> -->
+ <!-- <resource> -->
+ <!-- <directory>src/main/java</directory> -->
+ <!-- </resource> -->
+ <!-- </resources> -->
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>${gwtmaven.version}</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>compile-report</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <linkXref>true</linkXref>
+ <sourceEncoding>utf-8</sourceEncoding>
+ <minimumTokens>100</minimumTokens>
+ <targetJdk>1.5</targetJdk>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jdepend-maven-plugin</artifactId>
+ <version>2.0-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>2.3.2</version>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java 2011-09-11 19:40:37 UTC (rev 1516)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessagesPanel.java 2011-09-11 19:59:15 UTC (rev 1517)
@@ -40,6 +40,8 @@
@UiField
FlowPanel bottom;
+ private NotifyLevel currentLevel;
+ private UserMessage currentMsg;
@UiField
VerticalPanel panel;
@@ -50,7 +52,13 @@
@Override
public void add(final NotifyLevel level, final String title, final String message, final String id,
final boolean closeable, final CloseCallback closeCallback) {
+
final UserMessage msg = new UserMessage(level, title, message, id, closeable, closeCallback);
+ currentMsg = msg;
+ currentLevel = level;
+
+ // msg.getText().
+
panel.add(msg);
if (panel.getWidgetCount() == 1) {
bottom.setVisible(true);
1
0
Author: vjrj_
Date: 2011-09-11 21:40:37 +0200 (Sun, 11 Sep 2011)
New Revision: 1516
Added:
trunk/debian/README
trunk/debian/build.properties
trunk/debian/changelog
trunk/debian/compat
trunk/debian/control
trunk/debian/copyright
trunk/debian/kune.poms
trunk/debian/libkune-java.poms
trunk/debian/libkune-java.substvars
trunk/debian/maven.cleanIgnoreRules
trunk/debian/maven.ignoreRules
trunk/debian/maven.publishedRules
trunk/debian/maven.rules
trunk/debian/rules
trunk/debian/stamp-patched
trunk/debian/stamp-poms-patched
Modified:
trunk/pom.xml
Log:
NEW - # 119: Generate debian packages for production installs
http://kune.ourproject.org/issues/ticket/119
Added: trunk/debian/README
===================================================================
--- trunk/debian/README (rev 0)
+++ trunk/debian/README 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,2 @@
+See tipical workflow in: http://wiki.debian.org/Java/MavenRepoHelper
+$ mh_make
Added: trunk/debian/build.properties
===================================================================
--- trunk/debian/build.properties (rev 0)
+++ trunk/debian/build.properties 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,3 @@
+#javadoc.dir=target/api
+build.directory=target
+maven.test.skip=true
Added: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog (rev 0)
+++ trunk/debian/changelog 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,6 @@
+kune (0.1.0-SNAPSHOT) natty; urgency=low
+
+ * first packaging works
+
+ -- Vicente J. Ruiz Jurado <vjrj(a)ourproject.org> Sun, 11 Sep 2011 21:36:31 +0200
+
Added: trunk/debian/compat
===================================================================
--- trunk/debian/compat (rev 0)
+++ trunk/debian/compat 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1 @@
+5
Added: trunk/debian/control
===================================================================
--- trunk/debian/control (rev 0)
+++ trunk/debian/control 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,17 @@
+Source: kune
+Section: java
+Priority: optional
+Maintainer: vjrj(a)ourproject.org
+Build-Depends: debhelper (>= 5), cdbs, openjdk-6-jdk, quilt, maven-debian-helper,
+ libslf4j-java, libjdom1-java
+Build-Depends-Indep: maven-repo-helper
+Standards-Version: 3.9.2
+
+Package: kune
+Architecture: all
+Depends: libjmagick6-jni
+Recommends:
+Description: Kune (which means together in esperanto) is a new web tool, for creating environments of constant inter-communication, collective intelligence, knowledge and shared work.
+ .
+ Kune’s main objective is to multiply the capacity and skills of people, communities and organizations, allowing their constant cooperation, regardless of physical distance. Therefore, it aims to facilitate virtual meetings, coordinate common agendas, join people with similar interests and develop projects collaboratively. Other features include managing projects and contents, and sharing them freely with anyone, anywhere
+
Added: trunk/debian/copyright
===================================================================
--- trunk/debian/copyright (rev 0)
+++ trunk/debian/copyright 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1 @@
+link ../COPYRIGHT
\ No newline at end of file
Property changes on: trunk/debian/copyright
___________________________________________________________________
Name: svn:special
+ *
Added: trunk/debian/kune.poms
===================================================================
--- trunk/debian/kune.poms (rev 0)
+++ trunk/debian/kune.poms 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,7 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]
+# where option can be:
+# --ignore: ignore this POM or
+# --no-parent: remove the <parent> tag from the POM
+pom.xml
Added: trunk/debian/libkune-java.poms
===================================================================
--- trunk/debian/libkune-java.poms (rev 0)
+++ trunk/debian/libkune-java.poms 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,7 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]
+# where option can be:
+# --ignore: ignore this POM or
+# --no-parent: remove the <parent> tag from the POM
+pom.xml
Added: trunk/debian/libkune-java.substvars
===================================================================
--- trunk/debian/libkune-java.substvars (rev 0)
+++ trunk/debian/libkune-java.substvars 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,8 @@
+#List of dependencies for libkune-java, generated for use by debian/control
+#Sun Sep 11 19:31:18 CEST 2011
+maven.CompileDepends=libmaven-compiler-plugin-java (>\= 2.0.2), libmaven-resources-plugin-java (>\= 2.3), libsurefire-java (>\= 2.4.3)
+maven.Depends=
+maven.OptionalDepends=
+maven.TestDepends=
+maven.DocOptionalDepends=
+maven.DocDepends=default-jdk-doc
Added: trunk/debian/maven.cleanIgnoreRules
===================================================================
--- trunk/debian/maven.cleanIgnoreRules (rev 0)
+++ trunk/debian/maven.cleanIgnoreRules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,17 @@
+# Maven clean ignore rules - ignore some Maven dependencies and plugins
+# during the clean phase of a Maven build
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., this dependency is then removed
+# from the POM before mvn clean is called
+# junit junit jar s/3\\..*/3.x/
+
Added: trunk/debian/maven.ignoreRules
===================================================================
--- trunk/debian/maven.ignoreRules (rev 0)
+++ trunk/debian/maven.ignoreRules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,21 @@
+# Maven ignore rules - ignore some Maven dependencies and plugins
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., this dependency is then removed
+# from the POM
+# junit junit jar s/3\\..*/3.x/
+
+com.google.gwt gwt-dev * * * *
+com.google.gwt gwt-user * * * *
+org.apache.maven.plugins maven-war-plugin * * * *
+org.apache.maven.surefire surefire-junit47 * * * *
+org.codehaus.mojo exec-maven-plugin * * * *
Added: trunk/debian/maven.publishedRules
===================================================================
--- trunk/debian/maven.publishedRules (rev 0)
+++ trunk/debian/maven.publishedRules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,19 @@
+# Maven published rules - additional rules to publish, to help
+# the packaging work of Debian maintainers using mh_make
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# - a regular expression of the form s/match/replace/
+# in this case, elements that match are transformed using
+# the regex rule.
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., replacing the version with 3.x
+# junit junit jar s/3\\..*/3.x/
+
Added: trunk/debian/maven.rules
===================================================================
--- trunk/debian/maven.rules (rev 0)
+++ trunk/debian/maven.rules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,20 @@
+# Maven rules - transform Maven dependencies and plugins
+# Format of this file is:
+# [group] [artifact] [type] [version] [classifier] [scope]
+# where each element can be either
+# - the exact string, for example org.apache for the group, or 3.1
+# for the version. In this case, the element is simply matched
+# and left as it is
+# - * (the star character, alone). In this case, anything will
+# match and be left as it is. For example, using * on the
+# position of the artifact field will match any artifact id
+# - a regular expression of the form s/match/replace/
+# in this case, elements that match are transformed using
+# the regex rule.
+# All elements much match before a rule can be applied
+# Example rule: match jar with groupid= junit, artifactid= junit
+# and version starting with 3., replacing the version with 3.x
+# junit junit jar s/3\\..*/3.x/
+
+s/jdom/org.jdom/ jdom jar s/1\..*/debian/ * *
+junit junit jar s/3\..*/3.x/ * *
Added: trunk/debian/rules
===================================================================
--- trunk/debian/rules (rev 0)
+++ trunk/debian/rules 2011-09-11 19:40:37 UTC (rev 1516)
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/maven.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
+
+JAVA_HOME := /usr/lib/jvm/java-6-openjdk
+
+#get-orig-source:
+# sh -e debian/orig-tar.sh
Added: trunk/debian/stamp-patched
===================================================================
Added: trunk/debian/stamp-poms-patched
===================================================================
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-09-11 15:10:56 UTC (rev 1515)
+++ trunk/pom.xml 2011-09-11 19:40:37 UTC (rev 1516)
@@ -1,1255 +1,772 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cc.kune</groupId>
- <artifactId>kune</artifactId>
- <packaging>jar</packaging>
- <version>0.1.0-SNAPSHOT</version>
- <name>kune</name>
- <description> kune free/open/libre collaboration platform
- </description>
- <url>http://kune.ourproject.org</url>
- <properties>
- <!-- Available versions: http://repo1.maven.org/maven2/com/google/gwt/gwt-dev/ -->
- <gwt.version>2.1.1</gwt.version>
- <!-- <gwtmaven.version>2.2.0</gwtmaven.version> -->
- <gwtmaven.version>2.1.0-1</gwtmaven.version>
- <maven.compiler.source>1.6</maven.compiler.source>
- <maven.compiler.target>1.6</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <slf4j.version>1.6.1</slf4j.version>
- <openjpa.version>2.0.1</openjpa.version>
- <skipTests>true</skipTests>
- </properties>
- <repositories>
- <repository>
- <id>kune-maven</id>
- <url>http://kune.ourproject.org/mavenrepo/</url>
- </repository>
- <repository>
- <id>guice-maven</id>
- <name>guice maven</name>
- <url>http://guice-maven.googlecode.com/svn/trunk</url>
- </repository>
- <repository>
- <id>Codehaus Snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>jboss-public-repository-group</id>
- <name>JBoss Public Maven Repository Group</name>
- <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
- </url>
- <layout>default</layout>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- </repository>
- <repository>
- <id>ext-gxt</id>
- <name>ext-gxt at jahia</name>
- <url>http://maven.jahia.org/maven2/</url>
- </repository>
- <repository>
- <id>cobogw</id>
- <name>Cobogw repository at googlecode</name>
- <url>http://cobogw.googlecode.com/svn/maven2</url>
- </repository>
- <repository>
- <id>gwt-repo</id>
- <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/
- </url>
- <name>Google Web Toolkit Repository</name>
- </repository>
- <repository>
- <id>gwt-maven-rewraps</id>
- <url>http://gwt-maven-rewraps.googlecode.com/hg/</url>
- </repository>
- <!-- cc -->
- <repository>
- <id>dyndns-repo</id>
- <url>http://maven.dyndns.org/2</url>
- </repository>
- <!-- seems that these are not working/neccesary now: -->
- <!-- <repository> <id>google-maven-snapshot-repository</id> <name>Google
- Maven Snapshot Repository</name> <url>https://oss.sonatype.org/content/repositories/google-snapshots/
- </url> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository>
- <id>gwtplatform.snapshot.repo</id> <name>Gwtplatform snapshot repository</name>
- <url>https://oss.sonatype.org/content/repositories/snapshots/ </url> <layout>default</layout>
- </repository> -->
- <repository>
- <id>openqa.org</id>
- <name>Openqa Release Repository</name>
- <url>http://archiva.openqa.org/repository/releases</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- </releases>
- </repository>
- <repository>
- <id>openqa.org snapshots</id>
- <name>Openqa Snapshot Repository</name>
- <url>http://archiva.openqa.org/repository/snapshots</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>ignore</checksumPolicy>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>xwiki-releases</id>
- <name>XWiki Maven2 Remote Repository for Releases</name>
- <url>http://maven.xwiki.org/releases</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>xwiki</id>
- <name>XWiki Repository</name>
- <url>http://maven.xwiki.org/snapshots</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </snapshots>
- </repository>
- <repository>
- <id>tigase</id>
- <name>Tigase Repository</name>
- <url>http://maven.tigase.org</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <!-- cc -->
- <pluginRepository>
- <id>jboss-public-repository-group</id>
- <name>JBoss Public Maven Repository Group</name>
- <url>https://repository.jboss.org/nexus/content/groups/public-jboss/
- </url>
- <layout>default</layout>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- </pluginRepository>
- <!-- cc -->
- <!-- <pluginRepository> <id>gwt-maven</id> <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo</url>
- </pluginRepository> -->
- <pluginRepository>
- <id>Codehaus Snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>maven2-repository.dev.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </pluginRepository>
- <pluginRepository>
- <id>gwt-plugin-repo</id>
- <url>http://google-web-toolkit.googlecode.com/svn/2.1.0/gwt/maven/
- </url>
- <name>Google Web Toolkit Plugin Repository</name>
- </pluginRepository>
- <pluginRepository>
- <id>onejar-maven-plugin.googlecode.com</id>
- <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
- </pluginRepository>
- </pluginRepositories>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-servlet</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwt.version}</version>
- <scope>provided</scope>
- </dependency>
- <!-- guice -->
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <!-- <version>2.1-SNAPSHOT-r1160</version> -->
- <version>3.0</version>
- </dependency>
- <!-- <dependency> <groupId>com.googlecode.gwt.inject</groupId> <artifactId>gin</artifactId>
- <version>gin-1.1-SNAPSHOT</version> </dependency> -->
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-servlet</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-persist</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>com.extjs</groupId>
- <artifactId>gxt</artifactId>
- <version>2.2.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.cobogw.gwt</groupId>
- <artifactId>cobogw</artifactId>
- <version>1.3.1</version>
- </dependency>
- <dependency>
- <groupId>com.gwtplatform</groupId>
- <artifactId>gwtp-all</artifactId>
- <version>0.5</version>
- <!-- <version>0.6-SNAPSHOT</version> -->
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.adamtacy</groupId>
- <artifactId>gwt-fx</artifactId>
- <version>r464</version>
- </dependency>
- <!-- <dependency> <groupId>com.jhickman.web.gwt</groupId> <artifactId>gwt-customuibinder</artifactId>
- <version>0.1</version> </dependency> <dependency> <groupId>com.jhickman.web.gwt</groupId>
- <artifactId>gxt-uibinder</artifactId> <version>0.6</version> </dependency> -->
- <!-- cc -->
- <dependency>
- <groupId>com.gwtext</groupId>
- <artifactId>gwtext</artifactId>
- <version>2.0.5</version>
- </dependency>
- <dependency>
- <groupId>com.gwtextux</groupId>
- <artifactId>gwtextux</artifactId>
- <version>0.4.0.924</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
- <artifactId>gwt-log</artifactId>
- <version>3.0.1</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
- <artifactId>gwt-voices</artifactId>
- <version>2.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
- <artifactId>gwt-dnd</artifactId>
- <version>3.0.1</version>
- </dependency>
- <!-- utilities -->
- <dependency>
- <groupId>net.sf.dozer</groupId>
- <artifactId>dozer</artifactId>
- <version>4.0</version>
- </dependency>
- <!-- <dependency> <groupId>com.calclab</groupId> <artifactId>suco</artifactId>
- <version>0.6.5</version> </dependency> -->
- <dependency>
- <groupId>jmagick</groupId>
- <artifactId>jmagick</artifactId>
- <version>6.2.6-0</version>
- </dependency>
- <dependency>
- <groupId>org.xwiki.platform</groupId>
- <artifactId>xwiki-web-gwt-dom</artifactId>
- <version>2.3-rc-1</version>
- <!-- <version>2.0-SNAPSHOT-g164</version> -->
- <!-- <version>2.0-SNAPSHOT</version> -->
- <!-- <version>2.0-SNAPSHOT-g20s</version> -->
- </dependency>
- <!-- xmpp -->
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite</artifactId>
- <version>r1694</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>emite-proxy</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>com.calclab.emite</groupId>
- <artifactId>hablar</artifactId>
- <version>r1697</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smack</artifactId>
- <version>3.1.0</version>
- </dependency>
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smackx</artifactId>
- <version>3.1.0</version>
- </dependency>
- <dependency>
- <groupId>org.jivesoftware.smackx.debugger</groupId>
- <artifactId>smackx-debugger</artifactId>
- <version>3.0.4</version>
- </dependency>
- <!-- mysql -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.13</version>
- </dependency>
- <!-- hibernate JPA -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- <version>3.3.1.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>3.1.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>3.4.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>3.3.0.ga</version>
- <!-- http://stackoverflow.com/questions/882338/hibernate-preinsertevent-getsourc… -->
- <exclusions>
- <exclusion>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> -->
- <!-- <version>3.3.1.GA</version> </dependency> -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-search</artifactId>
- <version>3.1.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>3.4.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-tools</artifactId>
- <version>3.2.3.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-c3p0</artifactId>
- <version>3.3.1.GA</version>
- </dependency>
- <!-- <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId>
- <version>0.9.1.2</version> </dependency> -->
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <!-- wave use 2.5 -->
- <version>2.5</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.16</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
- <!-- =roo -->
- </dependency>
- <!-- REST: xml and json (stax) -->
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.2.2</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>1.0-RC2</version>
- </dependency>
- <dependency>
- <groupId>net.sf.json-lib</groupId>
- <artifactId>json-lib</artifactId>
- <version>2.1</version>
- <classifier>jdk15</classifier>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2</version>
- </dependency>
- <!-- File upload -->
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.7.0</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.3.1</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.2</version>
- </dependency>
- <!-- db upgrades -->
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>1.8.1</version>
- </dependency>
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.8.1.0</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <!-- testing dependencies -->
- <dependency>
- <groupId>org.jukito</groupId>
- <artifactId>jukito</artifactId>
- <version>1.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>1.0.20070617</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.2</version>
- <!-- =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>6.0.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>tigase</groupId>
- <artifactId>tigase-xmltools</artifactId>
- <version>3.3.5</version>
- <!-- <scope>test</scope> -->
- </dependency>
- <!-- If you want to start a selenium server, you will need the following
- dependency: -->
- <!-- <dependency> -->
- <!-- <groupId>org.seleniumhq.selenium</groupId> -->
- <!-- <artifactId>selenium-server</artifactId> -->
- <!-- <version>2.0a4</version> -->
- <!-- </dependency> -->
-
- <!-- public side -->
- <dependency>
- <groupId>org.jruby.rack</groupId>
- <artifactId>jruby-rack</artifactId>
- <!-- <version>1.0.3</version> -->
- <version>0.9.4</version>
- </dependency>
- <!-- wave -->
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>waveinabox-server-0.3</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>proto-msg</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>gwt-util-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-gwt</artifactId>
- <version>r09</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>box-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>model-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-common-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>common-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>util-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>concurrencycontrol-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>client-scheduler-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>media-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>communication-src</artifactId>
- <version>0.3.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.findbugs</groupId>
- <artifactId>jsr-305</artifactId>
- <version>v0r47</version>
- </dependency>
- <!-- end wave -->
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.2</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.4</version>
- <type>jar</type>
- </dependency>
- <!-- splash -->
- <dependency>
- <groupId>org.jsoup</groupId>
- <artifactId>jsoup</artifactId>
- <version>1.2.2</version>
- </dependency>
- <dependency>
- <groupId>org.mvel</groupId>
- <artifactId>mvel2</artifactId>
- <version>2.0.16</version>
- </dependency>
- <!-- gwtupload -->
- <dependency>
- <groupId>com.googlecode.gwtupload</groupId>
- <artifactId>gwtupload</artifactId>
- <version>0.6.3-compat</version>
- </dependency>
- <!-- end gwtupload -->
- </dependencies>
-
- <!-- <dependency> -->
- <!-- <groupId>dom4j</groupId> -->
- <!-- <artifactId>dom4j</artifactId> -->
- <!-- <version>1.6.1</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>com.google.code.guice</groupId> -->
- <!-- <artifactId>guice-assistedinject</artifactId> -->
- <!-- <version>2.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>jline<!/groupId> -->
- <!-- <artifactId>jline</artifactId> -->
- <!-- <version>0.9.94</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.gnu.inet</groupId> -->
- <!-- <artifactId>libidn</artifactId> -->
- <!-- <version>1.15</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>com.google.protobuf</groupId> -->
- <!-- <artifactId>protobuf-java</artifactId> -->
- <!-- <version>2.3.0</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>xpp3</groupId> -->
- <!-- <artifactId>xpp3</artifactId> -->
- <!-- <version>1.1.4c</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>xpp3</groupId> -->
- <!-- <artifactId>xpp3_xpath</artifactId> -->
- <!-- <version>1.1.4c</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>aopalliance</groupId> -->
- <!-- <artifactId>aopalliance</artifactId> -->
- <!-- <version>1.0</version> -->
- <!-- <type>jar</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.wave-protocol</groupId> -->
- <!-- <artifactId>xmpp</artifactId> -->
- <!-- <version>1.0.0</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.wave-protocol</groupId> -->
- <!-- <artifactId>whack</artifactId> -->
- <!-- <version>1.0.0</version> -->
- <!-- </dependency> -->
- <distributionManagement>
- <repository>
- <id>kune.ourproject.org</id>
- <url>scpexe://kune.ourproject.org/home/groups/kune/htdocs/mavenrepo/
- </url>
- </repository>
- </distributionManagement>
- <issueManagement>
- <system>kune issues list at ourproject.org</system>
- <url>http://kune.ourproject.org/issues/</url>
- </issueManagement>
- <developers>
- <developer>
- <id>dani</id>
- <name>Daniel Gómez Blasco</name>
- <email>danigb(a)gmail.com</email>
- </developer>
- <developer>
- <name>Samer Hassan</name>
- <email>samer2004(a)gmail.com</email>
- </developer>
- <developer>
- <name>Vicente J. Ruiz Jurado</name>
- <email>vjrj(a)ourproject.org</email>
- </developer>
- </developers>
- <scm>
- <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
- </scm>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <phase>exec</phase>
- <goals>
- <goal>java</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001
- </commandlineArgs>
- <systemProperties>
- <systemProperty>
- <key>kune.server.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>
- <systemProperty>
- <key>org.eclipse.jetty.util.resource.FileResource.checkAliases
- </key>
- <!-- <key>org.mortbay.util.FileResource.checkAliases</key> -->
- <value>False</value>
- </systemProperty>
- <systemProperty>
- <key>java.security.auth.login.config</key>
- <value>src/main/resources/jaas.config</value>
- </systemProperty>
- <systemProperty>
- <key>DEBUG</key>
- <value>false</value>
- </systemProperty>
- <systemProperty>
- <!-- <key>org.eclipse.jetty.util.log.DEBUG</key> -->
- <key>org.eclipse.jetty.util.log.INFO</key>
- <value>true</value>
- </systemProperty>
- </systemProperties>
- <classpathScope>runtime</classpathScope>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1-beta-1</version>
- <!-- <configuration> <webXml>target/web.xml</webXml> </configuration> -->
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <!-- Uncomment and run mvn with -X -e if we have same compile problems
- <compilerArgument>-verbose</compilerArgument> <fork>true</fork> <verbose>true</verbose> -->
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.4.2</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo + custom -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.8.1</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit47</artifactId>
- <version>2.8.1</version>
- </dependency>
- </dependencies>
- <configuration>
- <excludes>
- <exclude>**/*_Roo_*</exclude>
- </excludes>
- <forkMode>pertest</forkMode>
- <parallel>methods</parallel>
- <threadCount>10</threadCount>
- <property>
- <name>junit</name>
- <value>true</value>
- </property>
- <!-- Skip the normal tests, we'll run them in the integration-test
- phase -->
- <skipTests>${skipTests}</skipTests>
- </configuration>
- <executions>
- <execution>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>false</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <dependencySets>
- <dependencySet>
- <scope>runtime</scope>
- <unpackOptions>
- <excludes>
- <exclude>**/gxt/**</exclude>
- <exclude>**/extjs/**</exclude>
- <exclude>**extjs**</exclude>
- <exclude>**gxt**</exclude>
- </excludes>
- </unpackOptions>
- </dependencySet>
- </dependencySets>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo sin spring executions -->
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.8</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>false</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- <additionalBuildcommands>
- <buildCommand>
- <name>com.google.gwt.eclipse.core.gwtProjectValidator
- </name>
- </buildCommand>
- </additionalBuildcommands>
- <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml
- </workspaceCodeStylesURL>
- <additionalProjectnatures>
- <!-- <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> -->
- <projectnature>com.google.gwt.eclipse.core.gwtNature
- </projectnature>
- </additionalProjectnatures>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-idea-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <dependenciesAsLibraries>true</dependenciesAsLibraries>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>tomcat-maven-plugin</artifactId>
- <version>1.0</version>
- <configuration>
- <path>/</path>
- </configuration>
- </plugin>
- <plugin>
- <!-- =roo -->
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>7.1.2.v20100523</version>
- <!-- <version>7.2.1.v20101111</version> -->
- <configuration>
- <webAppConfig>
- <!-- <contextPath>/${project.name}</contextPath> -->
- <contextPath>/</contextPath>
- </webAppConfig>
- <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}
- </webAppSourceDirectory>
- <!-- <reload>manual</reload> <scanIntervalSeconds>0</scanIntervalSeconds> -->
- </configuration>
- </plugin>
- <!-- pensar/probar: openjpa-maven-plugin -->
- <!-- gwtp & GenEvent need this plugin -->
- <!-- maybe test: http://mojo.codehaus.org/apt-maven-plugin/index.html -->
- <!-- instead of this: https://code.google.com/p/maven-annotation-plugin/ -->
- <!-- <plugin> <groupId>org.bsc.maven</groupId> <artifactId>maven-processor-plugin</artifactId>
- <version>1.3.7</version> <executions> <execution> <id>process</id> <goals>
- <goal>process</goal> </goals> <phase>generate-sources</phase> </execution>
- </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>apt-maven-plugin</artifactId>
- <version>1.0-alpha-4</version> <executions> <execution> <goals> <goal>process</goal>
- <goal>test-process</goal> </goals> </execution> </executions> </plugin> -->
- <!-- BETTER user: http://code.google.com/p/acris/wiki/AnnotationProcessing -->
- <plugin>
- <!-- =roo -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>${gwtmaven.version}</version>
- <configuration>
- <logLevel>INFO</logLevel>
- <style>OBF</style>
- <noServer>true</noServer>
- <gwtVersion>${gwt.version}</gwtVersion>
- <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
- <hostedWebapp>${project.build.directory}/${project.build.finalName}
- </hostedWebapp>
- <modules>
- <module>${project.groupId}.Kune</module>
- </modules>
- <copyWebapp>true</copyWebapp>
- <compileReport>false</compileReport>
- <localWorkers>1</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
- <extraJvmArgs>-Xmx1024m</extraJvmArgs>
- </configuration>
- <executions>
- <execution>
- <configuration>
- <extraJvmArgs>-Xmx1024M</extraJvmArgs>
- </configuration>
- <id>gwtcompile</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>compile</goal>
- <!-- http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html -->
- <!-- <goal>resources</goal> -->
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-dev</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${gwt.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>deb-maven-plugin</artifactId>
- <version>1.0-SNAPSHOT</version> <configuration> <description>kune free/open/libre
- collaboration platform</description> <maintainer>Kune Development Team <kune-devel(a)lists.ourproject.org></maintainer>
- <section>web</section> <priority>optional</priority> <architecture>all</architecture>
- </configuration> <executions> <execution> <goals> <goal>deb</goal> </goals>
- </execution> </executions> </plugin> -->
- <plugin>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-plugin</artifactId>
- <version>1.7.0.0</version>
- <executions>
- <execution>
- <phase>process-resources</phase>
- <configuration>
- <changeLogFile>
- src/main/resources/db/liquibase_changelog.xml
- </changeLogFile>
- <driver>com.mysql.jdbc.Driver</driver>
- <url>jdbc:mysql://localhost/kune_dev</url>
- <username>kune</username>
- <password>db4kune</password>
- <verbose>true</verbose>
- </configuration>
- <!-- <configuration> <verbose>true</verbose> <propertiesFile>
- src/main/resources/db/liquibase.properties </propertiesFile> </configuration> -->
- <goals>
- <goal>update</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <mainClass>cc.kune.wave.server.WaveMain</mainClass>
- <!-- <classpathPrefix>~/.m2/repository/</classpathPrefix> -->
- <!-- <classpathLayoutType>repository</classpathLayoutType> -->
- <!-- NOTE: Deprecated in version 2.4. Use 'classpathLayoutType'
- instead. -->
- <classpathMavenRepositoryLayout>true
- </classpathMavenRepositoryLayout>
- <!-- <packageName>cc.kune.wave.server</packageName> -->
- </manifest>
- <manifestEntries>
- <mode>development</mode>
- <url>${project.url}</url>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- <!-- <execution> -->
- <!-- <id>core</id> -->
- <!-- <phase>package</phase> -->
- <!-- <goals> -->
- <!-- <goal>jar</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <classifier>core</classifier> -->
- <!-- <includes> -->
- <!-- <include>**/KunePlatform.gwt.xml**</include> -->
- <!-- <include>**/i18n/I18nTranslationService.**</include> -->
- <!-- <include>**/i18n/I18nTranslationServiceMocked.** </include> -->
- <!-- <include>**/TextUtils.**</include> -->
- <!-- <include>**/IconLabelEditable.**</include> -->
- <!-- <include>**/QuickTipsHelper.**</include> -->
- <!-- <include>**/RichText.gwt.xml**</include> -->
- <!-- <include>**/BasicDialog.**</include> -->
- <!-- <include>**/HorizontalLine.**</include> -->
- <!-- <include>**/AbstractLabel.**</include> -->
- <!-- <include>**/IconLabel.**</include> -->
- <!-- <include> **/EditableIconLabel.**</include> -->
- <!-- <include> **/EditableClickListener.**</include> -->
- <!-- <include>**/KuneStringUtils.**</include> -->
- <!-- <include>**/IconHyperlink*.**</include> -->
- <!-- <include>**/LabelWrapper*.**</include> -->
- <!-- <include>**/KuneUiUtils.**</include> -->
- <!-- <include>**/View.**</include> -->
- <!-- <include>**/platf/**</include> <include>**/platf/client/extend/**</include> -->
- <!-- <include>**/platf/client/*java</include> <include>**/platf/client/app/**</include> -->
- <!-- <include>**/platf/client/dispatch/**</include> -->
- <!-- </includes> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- <!-- <execution> -->
- <!-- <id>helloworldmodule</id> -->
- <!-- <phase>package</phase> -->
- <!-- <goals> -->
- <!-- <goal>jar</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <classifier>helloworldmodule</classifier> -->
- <!-- <includes> -->
- <!-- <include>**/HelloWorld*</include> -->
- <!-- </includes> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- </executions>
- </plugin>
- <plugin>
- <groupId>org.dstovall</groupId>
- <artifactId>onejar-maven-plugin</artifactId>
- <version>1.4.4</version>
- <executions>
- <execution>
- <configuration>
- <!-- Optional -->
- <!-- <onejarVersion>0.97</onejarVersion> -->
- <!-- Optional, use only if you need to include native libraries
- (dll's) -->
- <!-- <binlibs> -->
- <!-- <fileSet> -->
- <!-- <directory>${project.build.directory}/${project.build.finalName}</directory> -->
- <!-- <includes> -->
- <!-- <include>**</include> -->
- <!-- </includes> -->
- <!-- </fileSet> -->
- <!-- </binlibs> -->
- <!-- Optional, default is false -->
- <attachToBuild>true</attachToBuild>
- <!-- Optional, default is "onejar" -->
- <classifier>onejar</classifier>
- </configuration>
- <goals>
- <goal>one-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- <plugin> -->
- <!-- <groupId>org.codehaus.mojo</groupId> -->
- <!-- <artifactId>selenium-maven-plugin</artifactId> -->
- <!-- <configuration> -->
- <!-- <port>4441</port> -->
- <!-- </configuration> -->
- <!-- <executions> -->
- <!-- <execution> -->
- <!-- <phase>pre-integration-test</phase> -->
- <!-- <goals> -->
- <!-- <goal>start-server</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <background>true</background> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- <!-- </executions> -->
- <!-- </plugin> -->
- <!-- <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.2</version>
- <configuration> <filesets> <fileset> <directory>src/main/webapp/gwt/</directory>
- <includes> <include>**/org.ourproject.kune.app.Kune*</include> <followSymlinks>false</followSymlinks>
- </includes> </fileset> </filesets> </configuration> </plugin> -->
- </plugins>
- <!-- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> -->
- <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes
- </outputDirectory>
- <!-- <outputDirectory>war/WEB-INF/classes</outputDirectory> -->
- <!-- <testOutputDirectory>war/WEB-INF/test-classes</testOutputDirectory> -->
- <!-- <resources> -->
- <!-- <resource> -->
- <!-- <directory>src/main/resources</directory> -->
- <!-- </resource> -->
- <!-- <resource> -->
- <!-- <directory>src/main/java</directory> -->
- <!-- </resource> -->
- <!-- </resources> -->
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>1.0-beta-2</version>
- </extension>
- </extensions>
- </build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>${gwtmaven.version}</version>
- <reportSets>
- <reportSet>
- <reports>
- <report>compile-report</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <linkXref>true</linkXref>
- <sourceEncoding>utf-8</sourceEncoding>
- <minimumTokens>100</minimumTokens>
- <targetJdk>1.5</targetJdk>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>2.4</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jdepend-maven-plugin</artifactId>
- <version>2.0-beta-2</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
- <version>2.3.2</version>
- </plugin>
- </plugins>
- </reporting>
-</project>
+<?xml version='1.0' encoding='UTF-8'?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>cc.kune</groupId>
+ <artifactId>kune</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>kune</name>
+ <description>kune free/open/libre collaboration platform</description>
+ <url>http://kune.ourproject.org</url>
+ <properties>
+ <gwt.version>2.1.1</gwt.version>
+ <gwtmaven.version>2.1.0-1</gwtmaven.version>
+ <maven.compiler.source>1.6</maven.compiler.source>
+ <maven.compiler.target>1.6</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <slf4j.version>1.6.1</slf4j.version>
+ <openjpa.version>2.0.1</openjpa.version>
+ <skipTests>true</skipTests>
+ <debian.originalVersion>0.1.0-SNAPSHOT</debian.originalVersion>
+ <debian.package>kune</debian.package>
+ <debian.mavenRules><![CDATA[cc.kune kune jar 0.1.0-SNAPSHOT * *]]></debian.mavenRules>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>debian</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-servlet</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-persist</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.extjs</groupId>
+ <artifactId>gxt</artifactId>
+ <version>debian</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.cobogw.gwt</groupId>
+ <artifactId>cobogw</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtplatform</groupId>
+ <artifactId>gwtp-all</artifactId>
+ <version>debian</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.adamtacy</groupId>
+ <artifactId>gwt-fx</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtext</groupId>
+ <artifactId>gwtext</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gwtextux</groupId>
+ <artifactId>gwtextux</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
+ <artifactId>gwt-log</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
+ <artifactId>gwt-voices</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.allen_sauer.gwt.dnd.gwt-dnd</groupId>
+ <artifactId>gwt-dnd</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.dozer</groupId>
+ <artifactId>dozer</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>jmagick</groupId>
+ <artifactId>jmagick</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.xwiki.platform</groupId>
+ <artifactId>xwiki-web-gwt-dom</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>emite-proxy</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.calclab.emite</groupId>
+ <artifactId>hablar</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smack</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>jivesoftware</groupId>
+ <artifactId>smackx</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jivesoftware.smackx.debugger</groupId>
+ <artifactId>smackx-debugger</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>debian</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-search</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-tools</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-c3p0</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.json-lib</groupId>
+ <artifactId>json-lib</artifactId>
+ <version>debian</version>
+ <classifier>jdk15</classifier>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>debian</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jukito</groupId>
+ <artifactId>jukito</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.seleniumhq.selenium</groupId>
+ <artifactId>selenium</artifactId>
+ <version>debian</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.collections</groupId>
+ <artifactId>google-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>debian</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>tigase</groupId>
+ <artifactId>tigase-xmltools</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jruby.rack</groupId>
+ <artifactId>jruby-rack</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>waveinabox-server-0.3</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>proto-msg</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>gwt-util-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-gwt</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>box-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>model-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-common-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>common-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>util-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>concurrencycontrol-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>client-scheduler-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>media-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
+ <artifactId>communication-src</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.findbugs</groupId>
+ <artifactId>jsr-305</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>debian</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>debian</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jsoup</groupId>
+ <artifactId>jsoup</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mvel</groupId>
+ <artifactId>mvel2</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.gwtupload</groupId>
+ <artifactId>gwtupload</artifactId>
+ <version>debian</version>
+ </dependency>
+ </dependencies>
+ <issueManagement>
+ <system>kune issues list at ourproject.org</system>
+ <url>http://kune.ourproject.org/issues/</url>
+ </issueManagement>
+ <developers>
+ <developer>
+ <id>dani</id>
+ <name>Daniel Gómez Blasco</name>
+ <email>danigb(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Samer Hassan</name>
+ <email>samer2004(a)gmail.com</email>
+ </developer>
+ <developer>
+ <name>Vicente J. Ruiz Jurado</name>
+ <email>vjrj(a)ourproject.org</email>
+ </developer>
+ </developers>
+ <scm>
+ <url>svn://scm.ourproject.org/svnroot/kune/trunk</url>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <phase>exec</phase>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <commandlineArgs>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001</commandlineArgs>
+ <systemProperties>
+ <systemProperty>
+ <key>kune.server.config</key>
+ <value>src/main/resources/kune.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>wave.server.config</key>
+ <value>src/main/resources/wave-server.properties</value>
+ </systemProperty>
+ <systemProperty>
+ <key>org.eclipse.jetty.util.resource.FileResource.checkAliases</key>
+ <value>False</value>
+ </systemProperty>
+ <systemProperty>
+ <key>java.security.auth.login.config</key>
+ <value>src/main/resources/jaas.config</value>
+ </systemProperty>
+ <systemProperty>
+ <key>DEBUG</key>
+ <value>false</value>
+ </systemProperty>
+ <systemProperty>
+ <key>org.eclipse.jetty.util.log.INFO</key>
+ <value>true</value>
+ </systemProperty>
+ </systemProperties>
+ <classpathScope>runtime</classpathScope>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.3</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit47</artifactId>
+ <version>debian</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <excludes>
+ <exclude>**/*_Roo_*</exclude>
+ </excludes>
+ <forkMode>pertest</forkMode>
+ <parallel>methods</parallel>
+ <threadCount>10</threadCount>
+ <property>
+ <name>junit</name>
+ <value>true</value>
+ </property>
+ <skipTests>${skipTests}</skipTests>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ <dependencySets>
+ <dependencySet>
+ <scope>runtime</scope>
+ <unpackOptions>
+ <excludes>
+ <exclude>**/gxt/**</exclude>
+ <exclude>**/extjs/**</exclude>
+ <exclude>**extjs**</exclude>
+ <exclude>**gxt**</exclude>
+ </excludes>
+ </unpackOptions>
+ </dependencySet>
+ </dependencySets>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.8</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>false</downloadJavadocs>
+ <wtpversion>2.0</wtpversion>
+ <additionalBuildcommands>
+ <buildCommand>
+ <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
+ </buildCommand>
+ </additionalBuildcommands>
+ <workspaceCodeStylesURL>http://kune.ourproject.org/kune.formatter.eclipse.preferences.xml</workspaceCodeStylesURL>
+ <additionalProjectnatures>
+ <projectnature>com.google.gwt.eclipse.core.gwtNature</projectnature>
+ </additionalProjectnatures>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <dependenciesAsLibraries>true</dependenciesAsLibraries>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>tomcat-maven-plugin</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <path>/</path>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>7.1.2.v20100523</version>
+ <configuration>
+ <webAppConfig>
+ <contextPath>/</contextPath>
+ </webAppConfig>
+ <webAppSourceDirectory>${project.build.directory}/${project.build.finalName}</webAppSourceDirectory>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>gwt-maven-plugin</artifactId>
+ <version>2.1.0-1</version>
+ <configuration>
+ <logLevel>INFO</logLevel>
+ <style>OBF</style>
+ <noServer>true</noServer>
+ <gwtVersion>${gwt.version}</gwtVersion>
+ <runTarget>/ws/ws.html?log_level=DEBUG</runTarget>
+ <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
+ <modules>
+ <module>${project.groupId}.Kune</module>
+ </modules>
+ <copyWebapp>true</copyWebapp>
+ <compileReport>false</compileReport>
+ <localWorkers>1</localWorkers>
+ <extraJvmArgs>-Xmx1024m</extraJvmArgs>
+ </configuration>
+ <executions>
+ <execution>
+ <configuration>
+ <extraJvmArgs>-Xmx1024M</extraJvmArgs>
+ </configuration>
+ <id>gwtcompile</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-dev</artifactId>
+ <version>debian</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>debian</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-plugin</artifactId>
+ <version>1.7.0.0</version>
+ <executions>
+ <execution>
+ <phase>process-resources</phase>
+ <configuration>
+ <changeLogFile>src/main/resources/db/liquibase_changelog.xml</changeLogFile>
+ <driver>com.mysql.jdbc.Driver</driver>
+ <url>jdbc:mysql://localhost/kune_dev</url>
+ <username>kune</username>
+ <password>db4kune</password>
+ <verbose>true</verbose>
+ </configuration>
+ <goals>
+ <goal>update</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>cc.kune.wave.server.WaveMain</mainClass>
+ <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+ </manifest>
+ <manifestEntries>
+ <mode>development</mode>
+ <url>${project.url}</url>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ <executions>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>1.4.4-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <attachToBuild>true</attachToBuild>
+ <classifier>onejar</classifier>
+ </configuration>
+ <goals>
+ <goal>one-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>debian</version>
+ </extension>
+ </extensions>
+ </build>
+</project>
\ No newline at end of file
1
0
Author: vjrj_
Date: 2011-09-11 17:10:56 +0200 (Sun, 11 Sep 2011)
New Revision: 1515
Modified:
trunk/pom.xml
Log:
Fast compilation
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-09-11 12:02:36 UTC (rev 1514)
+++ trunk/pom.xml 2011-09-11 15:10:56 UTC (rev 1515)
@@ -986,7 +986,6 @@
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwtmaven.version}</version>
<configuration>
- <compileReport>true</compileReport>
<logLevel>INFO</logLevel>
<style>OBF</style>
<noServer>true</noServer>
@@ -999,7 +998,8 @@
</modules>
<copyWebapp>true</copyWebapp>
<compileReport>false</compileReport>
- <extraJvmArgs>-Xmx1024m -Xss1024k</extraJvmArgs>
+ <localWorkers>1</localWorkers><!-- Using all workers can temporarily hang the mouse and isn't much faster -->
+ <extraJvmArgs>-Xmx1024m</extraJvmArgs>
</configuration>
<executions>
<execution>
1
0
11 Sep '11
Author: vjrj_
Date: 2011-09-11 14:02:36 +0200 (Sun, 11 Sep 2011)
New Revision: 1514
Added:
trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java
trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java
trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
Modified:
trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java
trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java
trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java
Log:
NEW - # 79: I18n refactorization
http://kune.ourproject.org/issues/ticket/79
Modified: trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -57,22 +57,19 @@
private static final int WIDTH_NOT_DEFINED = -1;
public static Tooltip to(final Widget widget, final String text) {
- if (TextUtils.notEmpty(text)) {
- final Tooltip tip = new Tooltip();
- tip.to(widget);
- tip.setText(text);
- widget.addAttachHandler(new Handler() {
- @Override
- public void onAttachOrDetach(final AttachEvent event) {
- if (!event.isAttached()) {
- tip.hide();
- }
+ final Tooltip tip = new Tooltip();
+ tip.to(widget);
+ tip.setText(text);
+ widget.addAttachHandler(new Handler() {
+ @Override
+ public void onAttachOrDetach(final AttachEvent event) {
+ if (!event.isAttached()) {
+ tip.hide();
}
+ }
- });
- return tip;
- }
- return null;
+ });
+ return tip;
}
public static Tooltip to(final Widget widget, final Widget withContent) {
@@ -85,16 +82,20 @@
HTMLPanel arrow;
@UiField
HTMLPanel arrowBorder;
+ private boolean containsText;
@UiField
FlowPanel content;
@UiField
FlowPanel flow;
private Widget ofWidget;
+ private final Label textLabel;
private final TooltipTimers timers;
@UiField
InlineLabel title;
+
@UiField
HTMLPanel tooltip;
+
private int width = WIDTH_NOT_DEFINED;
public Tooltip() {
@@ -120,6 +121,7 @@
outTimer.configure(hideExecuter);
securityTimer.configure(hideExecuter);
timers = new TooltipTimers(overTimer, outTimer, securityTimer);
+ textLabel = new Label();
}
protected int getHeight() {
@@ -145,11 +147,14 @@
private void setContent(final Widget widget) {
content.clear();
content.add(widget);
+ containsText = false;
}
public void setText(final String text) {
content.clear();
- content.add(new Label(text));
+ content.add(textLabel);
+ textLabel.setText(text);
+ containsText = true;
}
public void setWidth(final int width) {
@@ -158,7 +163,8 @@
@Override
public void show() {
- if (!Tooltip.this.isShowing() && ofWidget.isAttached() && ofWidget.isVisible()) {
+ if (!Tooltip.this.isShowing() && ofWidget.isAttached() && ofWidget.isVisible()
+ && (!containsText || TextUtils.notEmpty(textLabel.getText()))) {
Tooltip.super.show();
if (Tooltip.current != null) {
Tooltip.current.hide();
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -144,12 +144,11 @@
}
messageErrorBar = new MessageToolbar(images, errorLabelId);
tabPanel = new TabLayoutPanel(25, Unit.PX);
- tabPanel.addStyleName("oc-noselec");
+ tabPanel.addStyleName("oc-noselect");
+ dialog.getInnerPanel().add(tabPanel);
tabPanel.addSelectionHandler(new SelectionHandler<Integer>() {
@Override
public void onSelection(final SelectionEvent<Integer> event) {
- // dialog.recalculateSize();
- dialog.showCentered();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
@@ -165,7 +164,6 @@
if (height != NO_SIZE) {
tabPanel.setHeight(String.valueOf(height) + "px");
}
- dialog.getInnerPanel().add(tabPanel);
tabPanel.addStyleName("k-tabpanel-aditionalpadding");
tabPanel.addStyleName("k-tabs");
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -75,8 +75,8 @@
import cc.kune.core.client.sitebar.SitebarSignOutLink.BeforeSignOut;
import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
import cc.kune.core.client.sitebar.logo.SiteLogoViewImpl;
+import cc.kune.core.client.sitebar.spaces.SpaceSelectorPanel;
import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter;
-import cc.kune.core.client.sitebar.spaces.SpaceSelectorPanel;
import cc.kune.core.client.sn.GroupSNPanel;
import cc.kune.core.client.sn.GroupSNPresenter;
import cc.kune.core.client.sn.UserSNPanel;
Modified: trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/server/PlatformServerModule.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -30,6 +30,7 @@
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.server.access.AccessRightsService;
import cc.kune.core.server.access.AccessRightsServiceDefault;
+import cc.kune.core.server.access.AccessRightsUtils;
import cc.kune.core.server.access.AccessService;
import cc.kune.core.server.access.AccessServiceDefault;
import cc.kune.core.server.access.FinderService;
@@ -40,6 +41,8 @@
import cc.kune.core.server.auth.AuthorizatedMethodInterceptor;
import cc.kune.core.server.auth.SessionService;
import cc.kune.core.server.auth.SessionServiceDefault;
+import cc.kune.core.server.auth.SuperAdmin;
+import cc.kune.core.server.auth.SuperAdminMethodInterceptor;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContainerManagerDefault;
import cc.kune.core.server.content.ContentManager;
@@ -176,11 +179,13 @@
bind(EntityLogoUploadManager.class);
bind(EntityLogoDownloadManager.class);
bind(ParticipantUtils.class);
-
+ requestStaticInjection(AccessRightsUtils.class);
bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authenticated.class),
outermostCall(new AuthenticatedMethodInterceptor()));
bindInterceptor(Matchers.any(), Matchers.annotatedWith(Authorizated.class),
outermostCall(new AuthorizatedMethodInterceptor()));
+ bindInterceptor(Matchers.any(), Matchers.annotatedWith(SuperAdmin.class),
+ outermostCall(new SuperAdminMethodInterceptor()));
}
}
Added: trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/access/AccessRightsUtils.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,30 @@
+package cc.kune.core.server.access;
+
+import cc.kune.core.shared.domain.AccessRol;
+import cc.kune.core.shared.domain.utils.AccessRights;
+import cc.kune.domain.Group;
+import cc.kune.domain.User;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class AccessRightsUtils {
+
+ @Inject
+ private static AccessRightsService rightsService;
+
+ public static boolean correctMember(final User user, final Group group, final AccessRol memberType) {
+
+ final AccessRights accessRights = rightsService.get(user, group.getSocialNetwork().getAccessLists());
+
+ switch (memberType) {
+ case Administrator:
+ return accessRights.isAdministrable();
+ case Editor:
+ return accessRights.isEditable();
+ default:
+ return accessRights.isVisible();
+ }
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/server/auth/AuthorizatedMethodInterceptor.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -26,12 +26,11 @@
import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.server.UserSession;
-import cc.kune.core.server.access.AccessRightsService;
+import cc.kune.core.server.access.AccessRightsUtils;
import cc.kune.core.server.access.AccessService;
import cc.kune.core.server.content.ContentUtils;
import cc.kune.core.server.manager.GroupManager;
import cc.kune.core.shared.domain.AccessRol;
-import cc.kune.core.shared.domain.utils.AccessRights;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
@@ -45,84 +44,67 @@
@Singleton
public class AuthorizatedMethodInterceptor implements MethodInterceptor {
- @Inject
- private Provider<UserSession> userSessionProvider;
- @Inject
- private Provider<GroupManager> groupManagerProvider;
- @Inject
- private Provider<AccessRightsService> accessRightsServiceProvider;
- @Inject
- private Provider<AccessService> accessServiceProvider;
+ @Inject
+ private Provider<AccessService> accessServiceProvider;
+ @Inject
+ private Provider<GroupManager> groupManagerProvider;
+ @Inject
+ private Provider<UserSession> userSessionProvider;
- public Object invoke(final MethodInvocation invocation) throws Throwable {
- final Object[] arguments = invocation.getArguments();
- final StateToken token = (StateToken) arguments[1];
+ @Override
+ public Object invoke(final MethodInvocation invocation) throws Throwable {
+ final Object[] arguments = invocation.getArguments();
+ final StateToken token = (StateToken) arguments[1];
- final UserSession userSession = userSessionProvider.get();
- final GroupManager groupManager = groupManagerProvider.get();
- final AccessService accessService = accessServiceProvider.get();
+ final UserSession userSession = userSessionProvider.get();
+ final GroupManager groupManager = groupManagerProvider.get();
+ final AccessService accessService = accessServiceProvider.get();
- final Authorizated authoAnnotation = invocation.getStaticPart().getAnnotation(Authorizated.class);
- final AccessRol accessRol = authoAnnotation.accessRolRequired();
- final ActionLevel actionLevel = authoAnnotation.actionLevel();
- final boolean mustBeMember = authoAnnotation.mustCheckMembership();
+ final Authorizated authoAnnotation = invocation.getStaticPart().getAnnotation(Authorizated.class);
+ final AccessRol accessRol = authoAnnotation.accessRolRequired();
+ final ActionLevel actionLevel = authoAnnotation.actionLevel();
+ final boolean mustBeMember = authoAnnotation.mustCheckMembership();
- final User user = userSession.getUser();
- Group group = Group.NO_GROUP;
- try {
- group = groupManager.findByShortName(token.getGroup());
- } catch (final NoResultException e) {
- // continue, and check later
- }
+ final User user = userSession.getUser();
+ Group group = Group.NO_GROUP;
+ try {
+ group = groupManager.findByShortName(token.getGroup());
+ } catch (final NoResultException e) {
+ // continue, and check later
+ }
- switch (actionLevel) {
- case content:
- default:
- final Content content = accessService.accessToContent(ContentUtils.parseId(token.getDocument()), user,
- accessRol);
- if (!content.getContainer().getOwner().equals(group)) {
- throw new AccessViolationException();
- }
- if (!content.getContainer().getId().equals(ContentUtils.parseId(token.getFolder()))) {
- throw new AccessViolationException();
- }
- if (!content.getContainer().getToolName().equals(token.getTool())) {
- throw new AccessViolationException();
- }
- case container:
- final Container container = accessService.accessToContainer(ContentUtils.parseId(token.getFolder()), user,
- accessRol);
- if (!container.getOwner().equals(group)) {
- throw new AccessViolationException();
- }
- case tool:
- case group:
- break;
- }
-
- if (mustBeMember) {
- if (!correctMember(user, group, accessRol)) {
- throw new AccessViolationException();
- }
- }
-
- return invocation.proceed();
+ switch (actionLevel) {
+ case content:
+ default:
+ final Content content = accessService.accessToContent(ContentUtils.parseId(token.getDocument()),
+ user, accessRol);
+ if (!content.getContainer().getOwner().equals(group)) {
+ throw new AccessViolationException();
+ }
+ if (!content.getContainer().getId().equals(ContentUtils.parseId(token.getFolder()))) {
+ throw new AccessViolationException();
+ }
+ if (!content.getContainer().getToolName().equals(token.getTool())) {
+ throw new AccessViolationException();
+ }
+ case container:
+ final Container container = accessService.accessToContainer(
+ ContentUtils.parseId(token.getFolder()), user, accessRol);
+ if (!container.getOwner().equals(group)) {
+ throw new AccessViolationException();
+ }
+ case tool:
+ case group:
+ break;
}
- private boolean correctMember(final User user, final Group group, final AccessRol memberType)
- throws AccessViolationException {
-
- final AccessRights accessRights = accessRightsServiceProvider.get().get(user,
- group.getSocialNetwork().getAccessLists());
-
- switch (memberType) {
- case Administrator:
- return accessRights.isAdministrable();
- case Editor:
- return accessRights.isEditable();
- default:
- return accessRights.isVisible();
- }
+ if (mustBeMember) {
+ if (!AccessRightsUtils.correctMember(user, group, accessRol)) {
+ throw new AccessViolationException();
+ }
}
+ return invocation.proceed();
+ }
+
}
Added: trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/auth/SuperAdmin.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,40 @@
+/*
+ *
+ * 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 cc.kune.core.server.auth;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import cc.kune.core.shared.domain.AccessRol;
+
+import com.google.inject.BindingAnnotation;
+
+/**
+ * Use in *RPC methods to check if user is superadmin
+ *
+ * The first param in the method must be the userHash
+ */
+@BindingAnnotation
+(a)Retention(RetentionPolicy.RUNTIME)
+public @interface SuperAdmin {
+
+ AccessRol rol() default AccessRol.Administrator;
+
+}
Added: trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/auth/SuperAdminMethodInterceptor.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,93 @@
+/*
+ *
+ * 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 cc.kune.core.server.auth;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.aopalliance.intercept.MethodInterceptor;
+import org.aopalliance.intercept.MethodInvocation;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.client.errors.SessionExpiredException;
+import cc.kune.core.client.errors.UserMustBeLoggedException;
+import cc.kune.core.server.UserSession;
+import cc.kune.core.server.access.AccessRightsUtils;
+import cc.kune.core.server.properties.KuneProperties;
+import cc.kune.core.shared.domain.AccessRol;
+import cc.kune.domain.Group;
+import cc.kune.domain.User;
+import cc.kune.domain.finders.GroupFinder;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class SuperAdminMethodInterceptor implements MethodInterceptor {
+
+ public static final Log LOG = LogFactory.getLog(SuperAdminMethodInterceptor.class);
+
+ @Inject
+ Provider<GroupFinder> groupFinder;
+ @Inject
+ Provider<KuneProperties> kuneProperties;
+ @Inject
+ Provider<HttpServletRequest> requestProvider;
+ @Inject
+ Provider<SessionService> sessionServiceProvider;
+ private Group siteGroup;
+ @Inject
+ Provider<UserSession> userSessionProvider;
+
+ @Override
+ public Object invoke(final MethodInvocation invocation) throws Throwable {
+ final Object[] arguments = invocation.getArguments();
+ // Some browsers getCookie returns "null" as String instead of null
+ final String userHash = arguments[0] == null || arguments[0].equals("null") ? null
+ : (String) arguments[0];
+
+ LOG.info("Method: " + invocation.getMethod().getName());
+ LOG.info("Userhash received: " + userHash);
+ LOG.info("--------------------------------------------------------------------------------");
+ final UserSession userSession = userSessionProvider.get();
+
+ final SuperAdmin authAnnotation = invocation.getStaticPart().getAnnotation(SuperAdmin.class);
+ final AccessRol rol = authAnnotation.rol();
+
+ if (siteGroup == null) {
+ siteGroup = groupFinder.get().findByShortName(
+ kuneProperties.get().get(KuneProperties.DEFAULT_SITE_SHORT_NAME));
+ }
+
+ if (userHash == null) {
+ throw new UserMustBeLoggedException();
+ } else if (userSession.isUserNotLoggedIn()) {
+ LOG.info("Session expired (not logged in server and mandatory)");
+ throw new SessionExpiredException();
+ } else {
+ User user = userSession.getUser();
+ if (!AccessRightsUtils.correctMember(user, siteGroup, rol)) {
+ throw new AccessViolationException();
+ }
+ }
+ final Object result = invocation.proceed();
+ return result;
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -30,9 +30,11 @@
import cc.kune.core.client.rpcservices.I18nService;
import cc.kune.core.server.UserSession;
import cc.kune.core.server.auth.Authenticated;
+import cc.kune.core.server.auth.SuperAdmin;
import cc.kune.core.server.manager.I18nLanguageManager;
import cc.kune.core.server.manager.I18nTranslationManager;
import cc.kune.core.server.mapper.Mapper;
+import cc.kune.core.shared.domain.AccessRol;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.I18nTranslationDTO;
import cc.kune.domain.I18nLanguage;
@@ -139,6 +141,7 @@
@Override
@Authenticated
@Transactional
+ @SuperAdmin(rol = AccessRol.Editor)
public String setTranslation(final String userHash, final Long id, final String translation)
throws DefaultException {
return i18nTranslationManager.setTranslation(id, translation);
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.ui.xml 2011-09-11 12:02:36 UTC (rev 1514)
@@ -32,7 +32,8 @@
<s:RangeLabelPager ui:field='rangeLabelPager'/>
</td>
<td class='{style.formCell}' valign='top' align='center'>
- <s:I18nTranslatorForm ui:field='translatorForm'/>
+ <s:I18nTranslatorForm
+ ui:field='translatorForm'/>
<br/>
</td>
</tr>
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,186 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.tooltip.Tooltip;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-import cc.kune.core.shared.dto.I18nTranslationDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.dom.client.BlurEvent;
-import com.google.gwt.event.dom.client.ChangeEvent;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.KeyPressEvent;
-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.Label;
-import com.google.gwt.user.client.ui.PushButton;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.Widget;
-
-/**
- * A form used for editing contacts.
- */
-public class I18nTranslatorForm extends Composite {
-
- interface Binder extends UiBinder<Widget, I18nTranslatorForm> {
- }
-
- private static Binder uiBinder = GWT.create(Binder.class);
- @UiField
- PushButton copyIcon;
- private I18nTranslationDataProvider dataProvider;
- private I18nTranslationService i18n;
- private I18nTranslationDTO item;
- @UiField
- Label keyboardRecomendation;
- @UiField
- Label keyboardRecomendationTitle;
- private final Timer keyboardTimer;
- @UiField
- Label noteForTranslators;
- @UiField
- Label noteForTranslatorsTittle;
- private I18nTraslatorSaver saver;
- @UiField
- Label toLanguageTitle;
- @UiField
- Label toTranslate;
- @UiField
- Label toTranslateTitle;
- @UiField
- TextArea translation;
-
- public I18nTranslatorForm() {
- initWidget(uiBinder.createAndBindUi(this));
- keyboardTimer = new Timer() {
- @Override
- public void run() {
- update();
- }
- };
- }
-
- private void copyTranslation() {
- translation.setText(toTranslate.getText());
- }
-
- public void focusToTranslate() {
- translation.setFocus(true);
- }
-
- @UiHandler("translation")
- void handleBlur(final BlurEvent event) {
- update();
- }
-
- @UiHandler("copyIcon")
- void handleClickOnCopyIcon(final ClickEvent e) {
- copyTranslation();
- translation.setFocus(true);
- updateWithTimer();
- }
-
- @UiHandler("translation")
- void handleKeyPress(final ChangeEvent event) {
- updateWithTimer();
- }
-
- @UiHandler("translation")
- void handleKeyPress(final KeyPressEvent event) {
- if (event.isAltKeyDown()
- && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) {
- saveIfNeeded();
- dataProvider.selectPrevious();
- } else if (event.isAltKeyDown()
- && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) {
- saveIfNeeded();
- dataProvider.selectNext();
- } else if (event.isAltKeyDown() && event.getCharCode() == 'v') {
- copyTranslation();
- event.stopPropagation();
- updateWithTimer();
- }
- }
-
- public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
- final I18nTraslatorSaver saver) {
- this.dataProvider = dataProvider;
- this.i18n = i18n;
- this.saver = saver;
- Tooltip.to(copyIcon, i18n.t("Copy the text to translate"));
- toTranslateTitle.setText(i18n.t("translate this:"));
- noteForTranslatorsTittle.setText(i18n.t("Notes:"));
- keyboardRecomendationTitle.setText(i18n.t("Tip:"));
- keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved"));
- }
-
- private void saveIfNeeded() {
- keyboardTimer.cancel();
- final String newTranslation = translation.getText();
- if (item != null && !item.getText().equals(newTranslation)) {
- saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
- }
- }
-
- public void setInfo(final I18nTranslationDTO item) {
- saveIfNeeded();
- this.item = item;
- final String[] splitted = splitNT(item.getTrKey());
- toTranslate.setText(splitted[0]);
- final boolean hasNT = splitted.length > 1;
- noteForTranslators.setVisible(hasNT);
- noteForTranslatorsTittle.setVisible(hasNT);
- if (hasNT) {
- noteForTranslators.setText(splitted[1]);
- }
- translation.setText(item.getText());
- }
-
- public void setToLanguage(final I18nLanguageSimpleDTO language) {
- toLanguageTitle.setText(i18n.tWithNT("to [%s]:", "For example, 'to Spanish':",
- language.getEnglishName()));
- }
-
- private String[] splitNT(final String textWithNT) {
- String[] nt;
- final String[] splitted = textWithNT.split(" \\[%NT ");
- if (splitted.length > 1) {
- nt = splitted[1].split("\\]$");
- splitted[1] = nt[0];
- }
- return splitted;
- }
-
- private void update() {
- keyboardTimer.cancel();
- if (item != null) {
- item.setText(translation.getText());
- item.setDirty(true);
- dataProvider.refreshDisplays();
- saveIfNeeded();
- }
- }
-
- private void updateWithTimer() {
- keyboardTimer.cancel();
- keyboardTimer.schedule(3000);
- }
-}
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,180 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.tooltip.Tooltip;
+import cc.kune.common.client.utils.TextUtils;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.BlurEvent;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.KeyPressEvent;
+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.Label;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * A form used for editing contacts.
+ */
+public class I18nTranslatorForm extends Composite {
+
+ interface Binder extends UiBinder<Widget, I18nTranslatorForm> {
+ }
+
+ private static Binder uiBinder = GWT.create(Binder.class);
+ @UiField
+ PushButton copyIcon;
+ private I18nTranslationDataProvider dataProvider;
+ private I18nTranslationService i18n;
+ private I18nTranslationDTO item;
+ @UiField
+ Label keyboardRecomendation;
+ @UiField
+ Label keyboardRecomendationTitle;
+ private final Timer keyboardTimer;
+ @UiField
+ Label noteForTranslators;
+ @UiField
+ Label noteForTranslatorsTittle;
+ private I18nTraslatorSaver saver;
+ @UiField
+ Label toLanguageTitle;
+ @UiField
+ Label toTranslate;
+ @UiField
+ Label toTranslateTitle;
+ @UiField
+ TextArea translation;
+
+ public I18nTranslatorForm() {
+ initWidget(uiBinder.createAndBindUi(this));
+ keyboardTimer = new Timer() {
+ @Override
+ public void run() {
+ saveIfNeeded();
+ }
+ };
+ }
+
+ private void copyTranslation() {
+ translation.setText(toTranslate.getText());
+ }
+
+ public void focusToTranslate() {
+ translation.setFocus(true);
+ }
+
+ @UiHandler("translation")
+ void handleBlur(final BlurEvent event) {
+ saveIfNeeded();
+ }
+
+ @UiHandler("copyIcon")
+ void handleClickOnCopyIcon(final ClickEvent e) {
+ copyTranslation();
+ translation.setFocus(true);
+ updateWithTimer();
+ }
+
+ @UiHandler("translation")
+ void handleKeyPress(final ChangeEvent event) {
+ updateWithTimer();
+ }
+
+ @UiHandler("translation")
+ void handleKeyPress(final KeyPressEvent event) {
+ if (event.isAltKeyDown()
+ && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) {
+ saveIfNeeded();
+ dataProvider.selectPrevious();
+ } else if (event.isAltKeyDown()
+ && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) {
+ saveIfNeeded();
+ dataProvider.selectNext();
+ } else if (event.isAltKeyDown() && event.getCharCode() == 'v') {
+ copyTranslation();
+ event.stopPropagation();
+ updateWithTimer();
+ }
+ }
+
+ public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
+ final I18nTraslatorSaver saver) {
+ this.dataProvider = dataProvider;
+ this.i18n = i18n;
+ this.saver = saver;
+ Tooltip.to(copyIcon, i18n.t("Copy the text to translate"));
+ toTranslateTitle.setText(i18n.t("translate this:"));
+ noteForTranslatorsTittle.setText(i18n.t("Notes:"));
+ keyboardRecomendationTitle.setText(i18n.t("Tip:"));
+ keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved"));
+ }
+
+ private void saveIfNeeded() {
+ keyboardTimer.cancel();
+ final String newTranslation = translation.getText();
+ if (item != null && TextUtils.notEmpty(newTranslation) && !newTranslation.equals(item.getText())) {
+ item.setText(translation.getText());
+ item.setDirty(true);
+ dataProvider.refreshDisplays();
+ saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
+ }
+ }
+
+ public void setInfo(final I18nTranslationDTO item) {
+ saveIfNeeded();
+ this.item = item;
+ final String[] splitted = splitNT(item.getTrKey());
+ toTranslate.setText(splitted[0]);
+ final boolean hasNT = splitted.length > 1;
+ noteForTranslators.setVisible(hasNT);
+ noteForTranslatorsTittle.setVisible(hasNT);
+ if (hasNT) {
+ noteForTranslators.setText(splitted[1]);
+ }
+ translation.setText(item.getText());
+ }
+
+ public void setToLanguage(final I18nLanguageSimpleDTO language) {
+ toLanguageTitle.setText(i18n.tWithNT("to [%s]:", "For example, 'to Spanish':",
+ language.getEnglishName()));
+ }
+
+ private String[] splitNT(final String textWithNT) {
+ String[] nt;
+ final String[] splitted = textWithNT.split(" \\[%NT ");
+ if (splitted.length > 1) {
+ nt = splitted[1].split("\\]$");
+ splitted[1] = nt[0];
+ }
+ return splitted;
+ }
+
+ private void updateWithTimer() {
+ keyboardTimer.cancel();
+ keyboardTimer.schedule(3000);
+ }
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,102 +0,0 @@
-<!DOCTYPE ui:UiBinder SYSTEM 'http://dl.google.com/gwt/DTD/xhtml.ent'>
-<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
- xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:d='urn:import:com.google.gwt.user.datepicker.client'
- ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
- ui:generateLocales='default'>
-
- <ui:with field='res' type='cc.kune.core.client.resources.CoreResources'/>
-
- <ui:style>
- .titles {
- font-size: bold;
- text-align: right;
- padding-right: 10px;
- vertical-align: top;
- }
-
- .table {
- display: table;
- }
-
- .copyicon {
- vertical-align: top;
- height: 10px !important;
- -webkit-border-bottom-right-radius: 5px;
- -moz-border-radius-bottomright: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-radius-bottomleft: 5px;
- border-bottom-left-radius: 5px;
- }
-
- .row {
- display: table-row;
- margin: 5px 5px 15px 5px;
- }
-
- .cell {
- display: table-cell;
- padding: 5px;
- }
-
- .tip {
- width: 180px;
- padding: 5px;
- font-size: 9px;
- vertical-align: top;
- }
-
- .toTranslate {
- width: 180px;
- height: 95px;
- border: 1px dashed #BBBBBB;
- }
-
- div.toTranslate {
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- padding: 3px;
- }
-
- .toTranlateLabel {
- height: 95px !important;
- overflow-y: scroll;
- }
- </ui:style>
- <g:FlowPanel addStyleNames="{style.table}">
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="toTranslateTitle" addStyleNames="{style.titles} {style.cell}"/>
- <g:FlowPanel addStyleNames="{style.cell}" styleName="{style.toTranslate}">
- <g:Label ui:field="toTranslate" styleName="{style.toTranlateLabel}"/>
- </g:FlowPanel>
- <g:Label addStyleNames="{style.row}"/>
- </g:FlowPanel>
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="toLanguageTitle" addStyleNames="{style.titles} {style.cell}"/>
- <g:TextArea ui:field='translation' addStyleNames="{style.cell}"
- visibleLines="5"/>
- <g:FlowPanel styleName="k-button"
- addStyleNames="{style.cell} {style.copyicon} k-button k-btn k-5corners">
- <g:PushButton ui:field='copyIcon' enabled='true'>
- <g:upFace image='{res.arrowUndo}'/>
- <g:upHoveringFace/>
- <g:downFace/>
- <g:downHoveringFace/>
- </g:PushButton>
- </g:FlowPanel>
- </g:FlowPanel>
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="noteForTranslatorsTittle" visible="false"
- addStyleNames="{style.titles} {style.cell}"/>
- <g:Label ui:field="noteForTranslators" addStyleNames="{style.cell}"/>
- <g:Label addStyleNames="{style.row}"/>
- </g:FlowPanel>
- <g:FlowPanel addStyleNames="{style.row}">
- <g:Label ui:field="keyboardRecomendationTitle"
- addStyleNames="{style.titles} {style.cell}"/>
- <g:Label ui:field="keyboardRecomendation" addStyleNames="{style.cell} {style.tip}"/>
- <g:Label addStyleNames="{style.row}"/>
- </g:FlowPanel>
- </g:FlowPanel>
-</ui:UiBinder>
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,102 @@
+<!DOCTYPE ui:UiBinder SYSTEM 'http://dl.google.com/gwt/DTD/xhtml.ent'>
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:d='urn:import:com.google.gwt.user.datepicker.client'
+ ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
+ ui:generateLocales='default'>
+
+ <ui:with field='res' type='cc.kune.core.client.resources.CoreResources'/>
+
+ <ui:style>
+ .titles {
+ font-size: bold;
+ text-align: right;
+ padding-right: 10px;
+ vertical-align: top;
+ }
+
+ .table {
+ display: table;
+ }
+
+ .copyicon {
+ vertical-align: top;
+ height: 10px !important;
+ -webkit-border-bottom-right-radius: 5px;
+ -moz-border-radius-bottomright: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ }
+
+ .row {
+ display: table-row;
+ margin: 5px 5px 15px 5px;
+ }
+
+ .cell {
+ display: table-cell;
+ padding: 5px;
+ }
+
+ .tip {
+ width: 180px;
+ padding: 5px;
+ font-size: 9px;
+ vertical-align: top;
+ }
+
+ .toTranslate {
+ width: 180px;
+ height: 95px;
+ border: 1px dashed #BBBBBB;
+ }
+
+ div.toTranslate {
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ padding: 3px;
+ }
+
+ .toTranlateLabel {
+ height: 95px !important;
+ overflow-y: scroll;
+ }
+ </ui:style>
+ <g:FlowPanel addStyleNames="{style.table}">
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="toTranslateTitle" addStyleNames="{style.titles} {style.cell}"/>
+ <g:FlowPanel addStyleNames="{style.cell}" styleName="{style.toTranslate}">
+ <g:Label ui:field="toTranslate" styleName="{style.toTranlateLabel}"/>
+ </g:FlowPanel>
+ <g:Label addStyleNames="{style.row}"/>
+ </g:FlowPanel>
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="toLanguageTitle" addStyleNames="{style.titles} {style.cell}"/>
+ <g:TextArea ui:field='translation' addStyleNames="{style.cell}"
+ visibleLines="5"/>
+ <g:FlowPanel styleName="k-button"
+ addStyleNames="{style.cell} {style.copyicon} k-button k-btn k-5corners">
+ <g:PushButton ui:field='copyIcon' enabled='true'>
+ <g:upFace image='{res.arrowUndo}'/>
+ <g:upHoveringFace/>
+ <g:downFace/>
+ <g:downHoveringFace/>
+ </g:PushButton>
+ </g:FlowPanel>
+ </g:FlowPanel>
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="noteForTranslatorsTittle" visible="false"
+ addStyleNames="{style.titles} {style.cell}"/>
+ <g:Label ui:field="noteForTranslators" addStyleNames="{style.cell}"/>
+ <g:Label addStyleNames="{style.row}"/>
+ </g:FlowPanel>
+ <g:FlowPanel addStyleNames="{style.row}">
+ <g:Label ui:field="keyboardRecomendationTitle"
+ addStyleNames="{style.titles} {style.cell}"/>
+ <g:Label ui:field="keyboardRecomendation" addStyleNames="{style.cell} {style.tip}"/>
+ <g:Label addStyleNames="{style.row}"/>
+ </g:FlowPanel>
+ </g:FlowPanel>
+</ui:UiBinder>
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,6 +1,5 @@
package cc.kune.gspace.client.i18n;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
import cc.kune.core.client.i18n.I18nUITranslationService;
@@ -31,7 +30,6 @@
}
- private final I18nUITranslationService i18n;
private final Session session;
@Inject
@@ -39,7 +37,6 @@
final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view) {
super(eventBus, view, proxy);
this.session = session;
- this.i18n = i18n;
}
public void doClose() {
@@ -64,14 +61,8 @@
@Override
public void show() {
- NotifyUser.showProgressLoading();
- if (session.isLogged()) {
- final I18nLanguageDTO userLang = session.getCurrentLanguage();
- getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
- getView().show();
- } else {
- NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
- }
- NotifyUser.hideProgress();
+ final I18nLanguageDTO userLang = session.getCurrentLanguage();
+ getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
+ getView().show();
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -1,6 +1,7 @@
package cc.kune.gspace.client.i18n;
import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.errors.AccessViolationException;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.rpcservices.I18nServiceAsync;
import cc.kune.core.client.state.Session;
@@ -32,7 +33,13 @@
@Override
public void onFailure(final Throwable caught) {
NotifyUser.hideProgress();
- NotifyUser.error(i18n.t("Server error saving the translation"));
+ if (caught instanceof AccessViolationException) {
+ NotifyUser.error(
+ i18n.t("Only to authorized translators"),
+ i18n.t("To help with the translation of this software please contact before with this site administrators"));
+ } else {
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
}
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -19,12 +19,17 @@
*/
package cc.kune.gspace.client.i18n;
-import cc.kune.common.client.actions.AbstractExtendedAction;
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.actions.RolActionAutoUpdated;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
+import cc.kune.core.client.state.AccessRightsClientManager;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.AccessRolDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.inject.Inject;
@@ -32,14 +37,18 @@
import com.google.inject.Singleton;
@Singleton
-public class SiteOptionsI18nTranslatorAction extends AbstractExtendedAction {
+public class SiteOptionsI18nTranslatorAction extends RolActionAutoUpdated {
+ private final I18nTranslationService i18n;
private I18nTranslator translator;
private final Provider<I18nTranslator> translatorProv;
@Inject
- public SiteOptionsI18nTranslatorAction(final I18nTranslationService i18n, final CoreResources img,
- final Provider<I18nTranslator> translatorProv, final SitebarActionsPresenter siteOptions) {
- super();
+ public SiteOptionsI18nTranslatorAction(final StateManager stateManager, final Session session,
+ final AccessRightsClientManager rightsManager, final I18nTranslationService i18n,
+ final CoreResources img, final Provider<I18nTranslator> translatorProv,
+ final SitebarActionsPresenter siteOptions) {
+ super(stateManager, session, rightsManager, AccessRolDTO.Viewer, true, true, true);
+ this.i18n = i18n;
this.translatorProv = translatorProv;
putValue(Action.NAME, i18n.t("Help with the translation"));
putValue(Action.SMALL_ICON, img.language());
@@ -48,10 +57,15 @@
@Override
public void actionPerformed(final ActionEvent event) {
- if (translator == null) {
- translator = translatorProv.get();
+ NotifyUser.showProgressLoading();
+ if (session.isLogged()) {
+ if (translator == null) {
+ translator = translatorProv.get();
+ }
+ translator.show();
+ } else {
+ NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
}
- translator.show();
- // item.setPosition(1);
+ NotifyUser.hideProgress();
}
}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/lists/client/actions/NewListAction.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -67,21 +67,23 @@
diag.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- NotifyUser.showProgressProcessing();
- diag.hide();
- listsService.get().createList(session.getUserHash(), session.getCurrentStateToken(),
- diag.getTextFieldValue(), ListsConstants.TYPE_LIST, true,
- new AsyncCallbackSimple<StateContainerDTO>() {
- @Override
- public void onSuccess(final StateContainerDTO state) {
- stateManager.setRetrievedStateAndGo(state);
- NotifyUser.hideProgress();
+ if (diag.isValid()) {
+ NotifyUser.showProgressProcessing();
+ diag.hide();
+ listsService.get().createList(session.getUserHash(), session.getCurrentStateToken(),
+ diag.getTextFieldValue(), ListsConstants.TYPE_LIST, true,
+ new AsyncCallbackSimple<StateContainerDTO>() {
+ @Override
+ public void onSuccess(final StateContainerDTO state) {
+ stateManager.setRetrievedStateAndGo(state);
+ NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("List created"));
- folderViewer.highlightTitle();
- }
- });
- cache.removeContent(session.getCurrentStateToken());
+ NotifyUser.info(i18n.t("List created"));
+ folderViewer.highlightTitle();
+ }
+ });
+ cache.removeContent(session.getCurrentStateToken());
+ }
}
});
Modified: trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java 2011-09-07 21:37:23 UTC (rev 1513)
+++ trunk/src/main/java/cc/kune/lists/client/actions/NewListPostAction.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -73,20 +73,22 @@
diag.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- NotifyUser.showProgressProcessing();
- diag.hide();
- listsService.get().newPost(session.getUserHash(),
- session.getCurrentStateToken().copy().clearDocument(), diag.getTextFieldValue(),
- new AsyncCallbackSimple<StateContentDTO>() {
- @Override
- public void onSuccess(final StateContentDTO state) {
- stateManager.setRetrievedStateAndGo(state);
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Post created. Edit it"));
- folderViewer.highlightTitle();
- }
- });
- cache.removeContent(session.getCurrentStateToken());
+ if (diag.isValid()) {
+ NotifyUser.showProgressProcessing();
+ diag.hide();
+ listsService.get().newPost(session.getUserHash(),
+ session.getCurrentStateToken().copy().clearDocument(), diag.getTextFieldValue(),
+ new AsyncCallbackSimple<StateContentDTO>() {
+ @Override
+ public void onSuccess(final StateContentDTO state) {
+ stateManager.setRetrievedStateAndGo(state);
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Post created. Edit it"));
+ folderViewer.highlightTitle();
+ }
+ });
+ cache.removeContent(session.getCurrentStateToken());
+ }
}
});
} else {
Added: trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/core/server/auth/SuperAdminMethodInterceptorTest.java 2011-09-11 12:02:36 UTC (rev 1514)
@@ -0,0 +1,54 @@
+package cc.kune.core.server.auth;
+
+import java.lang.reflect.AccessibleObject;
+
+import org.aopalliance.intercept.MethodInvocation;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import cc.kune.core.client.errors.AccessViolationException;
+import cc.kune.core.server.integration.IntegrationTest;
+import cc.kune.core.server.integration.IntegrationTestHelper;
+import cc.kune.core.shared.domain.AccessRol;
+
+import com.google.inject.persist.Transactional;
+
+public class SuperAdminMethodInterceptorTest extends IntegrationTest {
+
+ private MethodInvocation invocation;
+ private SuperAdmin superAdminAnnotation;
+ private SuperAdminMethodInterceptor superAdminInterceptor;
+
+ @Transactional
+ @Before
+ public void before() {
+ superAdminInterceptor = new SuperAdminMethodInterceptor();
+ new IntegrationTestHelper(this, superAdminInterceptor);
+ invocation = Mockito.mock(MethodInvocation.class);
+ final AccessibleObject accessibleObject = Mockito.mock(AccessibleObject.class);
+ Mockito.when(invocation.getMethod()).thenReturn(this.getClass().getMethods()[0]);
+ Mockito.when(invocation.getStaticPart()).thenReturn(accessibleObject);
+ superAdminAnnotation = Mockito.mock(SuperAdmin.class);
+ Mockito.when(accessibleObject.getAnnotation(SuperAdmin.class)).thenReturn(superAdminAnnotation);
+ }
+
+ private void invoke() throws Throwable {
+ Mockito.when(superAdminAnnotation.rol()).thenReturn(AccessRol.Administrator);
+ final Object[] arguments = { getHash() };
+ Mockito.when(invocation.getArguments()).thenReturn(arguments);
+ superAdminInterceptor.invoke(invocation);
+ }
+
+ @Test(expected = AccessViolationException.class)
+ public void notMemberThrowsExcep() throws Throwable {
+ doLoginWithDummyUser();
+ invoke();
+ }
+
+ @Test
+ public void superAdminDoTheJob() throws Throwable {
+ doLogin();
+ invoke();
+ }
+}
1
0
r1513 - in trunk: script src/main/java/cc/kune/core/client/resources src/main/java/cc/kune/core/client/rpcservices src/main/java/cc/kune/core/server/manager src/main/java/cc/kune/core/server/manager/impl src/main/java/cc/kune/core/server/rpc src/main/java/cc/kune/gspace/client src/main/java/cc/kune/gspace/client/i18n
by Vicente J. Ruiz Jurado 07 Sep '11
by Vicente J. Ruiz Jurado 07 Sep '11
07 Sep '11
Author: vjrj_
Date: 2011-09-07 23:37:23 +0200 (Wed, 07 Sep 2011)
New Revision: 1513
Added:
trunk/script/findMsg.sh
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java
trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java
Modified:
trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java
trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java
trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
Log:
NEW - # 79: I18n refactorization
http://kune.ourproject.org/issues/ticket/79
Added: trunk/script/findMsg.sh
===================================================================
--- trunk/script/findMsg.sh (rev 0)
+++ trunk/script/findMsg.sh 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,3 @@
+#!/bin/bash
+STR=`echo $1 | sed 's/ /\\[\\\"\\\+\\\n \\]\*/g'`
+echo egrep -r -m 1 "\"$STR\"" src/main/java/cc
\ No newline at end of file
Property changes on: trunk/script/findMsg.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -32,8 +32,8 @@
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";
public final static String NAME_RESTRICTED = "This user name can not be used. 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";
public final static String PASSWD_MUST_BE_BETWEEN_6_AND_40 = "The password must be between 6 and 40 characters";
public final static String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group";
public final static String REGISTER_TITLE = "Register";
@@ -41,7 +41,7 @@
public final static String SIGN_IN_TITLE = "Sign in";
public final static String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage";
public final static String USER_OPTIONS_DIALOG_TITLE = "User options";
- public final static String YOUR_HOMEPAGE = "Your homepage";
+ public final static String YOUR_HOMEPAGE = "Your " + "homepage";
private CoreMessages() {
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -41,6 +41,6 @@
String getTranslation(String userHash, String language, String text);
- String setTranslation(String userHash, String id, String translation) throws DefaultException;
+ String setTranslation(String userHash, Long id, String translation) throws DefaultException;
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -38,6 +38,6 @@
void getTranslation(String userHash, String language, String text, AsyncCallback<String> callback);
- void setTranslation(String userHash, String id, String translation, AsyncCallback<String> asyncCallback);
+ void setTranslation(String userHash, Long id, String translation, AsyncCallback<String> asyncCallback);
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -46,7 +46,7 @@
SearchResult<I18nTranslation> getUntranslatedLexicon(String language, Integer firstResult,
Integer maxResults);
- String setTranslation(String id, String translation) throws DefaultException;
+ String setTranslation(Long id, String translation) throws DefaultException;
void setTranslation(String language, String text, String translation);
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -162,8 +162,8 @@
}
@Override
- public String setTranslation(final String id, final String translation) throws DefaultException {
- final I18nTranslation trans = super.find(Long.valueOf(id));
+ public String setTranslation(final Long id, final String translation) throws DefaultException {
+ final I18nTranslation trans = super.find(id);
if (trans != null) {
final String escapedTranslation = TextUtils.escapeHtmlLight(translation);
trans.setText(escapedTranslation);
Modified: trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -139,7 +139,7 @@
@Override
@Authenticated
@Transactional
- public String setTranslation(final String userHash, final String id, final String translation)
+ public String setTranslation(final String userHash, final Long id, final String translation)
throws DefaultException {
return i18nTranslationManager.setTranslation(id, translation);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -29,7 +29,7 @@
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
-import cc.kune.gspace.client.i18n.TranslatorTabsCollection;
+import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection;
import cc.kune.gspace.client.licensewizard.LicenseChangeAction;
import cc.kune.gspace.client.licensewizard.LicenseWizard;
import cc.kune.gspace.client.licensewizard.LicenseWizardPanel;
@@ -153,7 +153,7 @@
s(UserOptionsCollection.class);
s(GroupOptionsCollection.class);
- s(TranslatorTabsCollection.class);
+ s(I18nTranslatorTabsCollection.class);
s(GroupOptGeneral.class, GroupOptGeneralPresenter.class);
s(GroupOptGeneralView.class, GroupOptGeneralPanel.class);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -25,7 +25,7 @@
import cc.kune.core.client.state.Session;
import cc.kune.gspace.client.i18n.I18nToTranslateGridPanel;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
-import cc.kune.gspace.client.i18n.TranslatorTabsCollection;
+import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.GroupOptionsCollection;
import cc.kune.gspace.client.options.UserOptions;
@@ -68,7 +68,7 @@
final Provider<UserOptTools> utc, final Provider<SitebarSearchPresenter> siteSearch,
final Provider<SiteOptionsI18nTranslatorAction> transAction,
final Provider<I18nToTranslateGridPanel> toTrans,
- final Provider<TranslatorTabsCollection> gtranslator) {
+ final Provider<I18nTranslatorTabsCollection> gtranslator) {
session.onAppStart(true, new AppStartHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -18,13 +18,15 @@
package cc.kune.gspace.client.i18n;
import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import cc.kune.core.shared.dto.I18nTranslationDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.cell.client.ValueUpdater;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
@@ -101,7 +103,7 @@
*/
private final CellList<I18nTranslationDTO> cellList;
- private final I18nTranslationProvider data;
+ private final I18nTranslationDataProvider data;
/**
* The pager used to change the range of data.
@@ -122,8 +124,10 @@
I18nTranslatorForm translatorForm;
@Inject
- public I18nCellList(final I18nTranslationProvider data, final I18nTranslationService i18n) {
+ public I18nCellList(final I18nTranslationDataProvider data, final I18nUITranslationService i18n,
+ final I18nTraslatorSaver saver) {
this.data = data;
+
final TranslationCell cell = new TranslationCell();
// Set a key provider that provides a unique key for each contact. If key is
@@ -138,26 +142,31 @@
// Add a selection model so we can select cells.
cellList.setSelectionModel(selectionModel);
+
+ // Create the UiBinder.
+ final Binder uiBinder = GWT.create(Binder.class);
+ initWidget(uiBinder.createAndBindUi(this));
+ translatorForm.init(data, i18n, saver);
cellList.setValueUpdater(new ValueUpdater<I18nTranslationDTO>() {
+
@Override
public void update(final I18nTranslationDTO value) {
- // TODO Auto-generated method stub
+ // save(value);
}
});
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(final SelectionChangeEvent event) {
translatorForm.setInfo(selectionModel.getSelectedObject());
- translatorForm.focusToTranslate();
- // cellList.get
- // pagerPanel.ensureVisible((UIObject) event.getSource());
+ Scheduler.get().scheduleEntry(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ translatorForm.focusToTranslate();
+ }
+ });
}
});
- cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS);
- // Create the UiBinder.
- final Binder uiBinder = GWT.create(Binder.class);
- initWidget(uiBinder.createAndBindUi(this));
- translatorForm.init(data, i18n);
+ // cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS);
data.addDataDisplay(cellList);
data.setSelectionMode(selectionModel);
data.setLoadCallback(new SimpleCallback() {
@@ -180,4 +189,5 @@
data.setLanguage(language, toTranslate);
translatorForm.setToLanguage(language);
}
+
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -27,4 +27,5 @@
public void setLanguage(final I18nLanguageSimpleDTO language) {
list.setLanguage(language, true);
}
+
}
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package cc.kune.gspace.client.i18n;
+
+import java.util.List;
+
+import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+
+import com.google.gwt.user.cellview.client.CellList;
+import com.google.gwt.view.client.ListDataProvider;
+import com.google.gwt.view.client.SingleSelectionModel;
+import com.google.inject.Inject;
+
+public class I18nTranslationDataProvider {
+
+ private final ListDataProvider<I18nTranslationDTO> dataProvider = new ListDataProvider<I18nTranslationDTO>();
+ private final I18nServiceAsync i18n;
+ private SimpleCallback loadCallback;
+ private SingleSelectionModel<I18nTranslationDTO> selectionModel;
+ private final Session session;
+
+ @Inject
+ private I18nTranslationDataProvider(final Session session, final I18nServiceAsync i18n) {
+ this.session = session;
+ this.i18n = i18n;
+ }
+
+ public void addDataDisplay(final CellList<I18nTranslationDTO> displayList) {
+ dataProvider.addDataDisplay(displayList);
+ }
+
+ private void avance(final int increment) {
+ final I18nTranslationDTO selected = selectionModel.getSelectedObject();
+ final List<I18nTranslationDTO> list = dataProvider.getList();
+ final int pos = list.indexOf(selected);
+ final int next = pos + increment;
+ if (next >= 0 && next < list.size()) {
+ selectionModel.setSelected(list.get(next), true);
+ }
+ }
+
+ public void refreshDisplays() {
+ dataProvider.refresh();
+ }
+
+ public void selectNext() {
+ avance(1);
+ }
+
+ public void selectPrevious() {
+ avance(-1);
+ }
+
+ public void setLanguage(final I18nLanguageSimpleDTO language, final boolean toTranslate) {
+ dataProvider.getList().clear();
+ dataProvider.refresh();
+ i18n.getTranslatedLexicon(session.getUserHash(), language.getCode(), toTranslate,
+ new AsyncCallbackSimple<List<I18nTranslationDTO>>() {
+ @Override
+ public void onSuccess(final List<I18nTranslationDTO> result) {
+ dataProvider.setList(result);
+ dataProvider.refresh();
+ if (result.size() > 0) {
+ selectionModel.setSelected(result.get(0), true);
+ }
+ loadCallback.onCallback();
+ }
+ });
+ }
+
+ public void setLoadCallback(final SimpleCallback loadCallback) {
+ this.loadCallback = loadCallback;
+ }
+
+ public void setSelectionMode(final SingleSelectionModel<I18nTranslationDTO> selectionModel) {
+ this.selectionModel = selectionModel;
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -1,97 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package cc.kune.gspace.client.i18n;
-
-import java.util.List;
-
-import cc.kune.common.client.utils.SimpleCallback;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-import cc.kune.core.shared.dto.I18nTranslationDTO;
-
-import com.google.gwt.user.cellview.client.CellList;
-import com.google.gwt.view.client.ListDataProvider;
-import com.google.gwt.view.client.SingleSelectionModel;
-import com.google.inject.Inject;
-
-public class I18nTranslationProvider {
-
- private final ListDataProvider<I18nTranslationDTO> dataProvider = new ListDataProvider<I18nTranslationDTO>();
- private final I18nServiceAsync i18n;
- private SimpleCallback loadCallback;
- private SingleSelectionModel<I18nTranslationDTO> selectionModel;
- private final Session session;
-
- @Inject
- private I18nTranslationProvider(final Session session, final I18nServiceAsync i18n) {
- this.session = session;
- this.i18n = i18n;
- }
-
- public void addDataDisplay(final CellList<I18nTranslationDTO> displayList) {
- dataProvider.addDataDisplay(displayList);
- }
-
- private void avance(final int increment) {
- final I18nTranslationDTO selected = selectionModel.getSelectedObject();
- final List<I18nTranslationDTO> list = dataProvider.getList();
- final int pos = list.indexOf(selected);
- final int next = pos + increment;
- if (next >= 0 && next < list.size()) {
- selectionModel.setSelected(list.get(next), true);
- }
- }
-
- public void refreshDisplays() {
- dataProvider.refresh();
- }
-
- public void selectNext() {
- avance(1);
- }
-
- public void selectPrevious() {
- avance(-1);
- }
-
- public void setLanguage(final I18nLanguageSimpleDTO language, final boolean toTranslate) {
- dataProvider.getList().clear();
- dataProvider.refresh();
- i18n.getTranslatedLexicon(session.getUserHash(), language.getCode(), toTranslate,
- new AsyncCallbackSimple<List<I18nTranslationDTO>>() {
- @Override
- public void onSuccess(final List<I18nTranslationDTO> result) {
- dataProvider.setList(result);
- dataProvider.refresh();
- if (result.size() > 0) {
- selectionModel.setSelected(result.get(0), true);
- }
- loadCallback.onCallback();
- }
- });
- }
-
- public void setLoadCallback(final SimpleCallback loadCallback) {
- this.loadCallback = loadCallback;
- }
-
- public void setSelectionMode(final SingleSelectionModel<I18nTranslationDTO> selectionModel) {
- this.selectionModel = selectionModel;
- }
-
-}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -46,7 +46,7 @@
private static Binder uiBinder = GWT.create(Binder.class);
@UiField
PushButton copyIcon;
- private I18nTranslationProvider dataProvider;
+ private I18nTranslationDataProvider dataProvider;
private I18nTranslationService i18n;
private I18nTranslationDTO item;
@UiField
@@ -58,14 +58,13 @@
Label noteForTranslators;
@UiField
Label noteForTranslatorsTittle;
+ private I18nTraslatorSaver saver;
@UiField
Label toLanguageTitle;
@UiField
Label toTranslate;
-
@UiField
Label toTranslateTitle;
-
@UiField
TextArea translation;
@@ -108,11 +107,11 @@
void handleKeyPress(final KeyPressEvent event) {
if (event.isAltKeyDown()
&& event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) {
- // cellList.fireEvent(event);
+ saveIfNeeded();
dataProvider.selectPrevious();
} else if (event.isAltKeyDown()
&& event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) {
- // cellList.fireEvent(event);
+ saveIfNeeded();
dataProvider.selectNext();
} else if (event.isAltKeyDown() && event.getCharCode() == 'v') {
copyTranslation();
@@ -121,9 +120,11 @@
}
}
- public void init(final I18nTranslationProvider dataProvider, final I18nTranslationService i18n) {
+ public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n,
+ final I18nTraslatorSaver saver) {
this.dataProvider = dataProvider;
this.i18n = i18n;
+ this.saver = saver;
Tooltip.to(copyIcon, i18n.t("Copy the text to translate"));
toTranslateTitle.setText(i18n.t("translate this:"));
noteForTranslatorsTittle.setText(i18n.t("Notes:"));
@@ -131,7 +132,16 @@
keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved"));
}
+ private void saveIfNeeded() {
+ keyboardTimer.cancel();
+ final String newTranslation = translation.getText();
+ if (item != null && !item.getText().equals(newTranslation)) {
+ saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation));
+ }
+ }
+
public void setInfo(final I18nTranslationDTO item) {
+ saveIfNeeded();
this.item = item;
final String[] splitted = splitNT(item.getTrKey());
toTranslate.setText(splitted[0]);
@@ -160,10 +170,12 @@
}
private void update() {
+ keyboardTimer.cancel();
if (item != null) {
item.setText(translation.getText());
item.setDirty(true);
dataProvider.refreshDisplays();
+ saveIfNeeded();
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -24,7 +24,7 @@
@Inject
public I18nTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
- final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
+ final I18nTranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
super(TRANSLATOR_PANEL_ID, "", false, false, images, TRANSLATOR_ERROR_ID, i18n.t("Close"), null,
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -3,18 +3,14 @@
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView;
import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.I18nLanguageDTO;
import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
import com.gwtplatform.mvp.client.proxy.Proxy;
@@ -26,53 +22,30 @@
public interface I18nTranslatorProxy extends Proxy<I18nTranslatorPresenter> {
}
- public interface I18nTranslatorView extends AbstractTabbedDialogView {
- void hide();
+ public interface I18nTranslatorView extends
+ cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView {
void init();
void setLanguage(I18nLanguageSimpleDTO currentLanguage);
- void show();
-
}
private final I18nUITranslationService i18n;
- private final Provider<I18nServiceAsync> i18nService;
private final Session session;
@Inject
public I18nTranslatorPresenter(final EventBus eventBus, final I18nTranslatorProxy proxy,
- final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view,
- final Provider<I18nServiceAsync> i18nService) {
+ final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view) {
super(eventBus, view, proxy);
this.session = session;
this.i18n = i18n;
- this.i18nService = i18nService;
}
public void doClose() {
getView().hide();
}
- public void doTranslation(final String id, final String trKey, final String translation) {
- NotifyUser.showProgress(i18n.t("Saving"));
- i18nService.get().setTranslation(session.getUserHash(), id, translation,
- new AsyncCallback<String>() {
- @Override
- public void onFailure(final Throwable caught) {
- NotifyUser.hideProgress();
- NotifyUser.error(i18n.t("Server error saving the translation"));
- }
-
- @Override
- public void onSuccess(final String result) {
- NotifyUser.hideProgress();
- i18n.setTranslationAfterSave(trKey, result);
- }
- });
- }
-
@Override
public I18nTranslatorView getView() {
return (I18nTranslatorView) super.getView();
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,29 @@
+/*
+ *
+ * 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 cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.ProvidersCollection;
+
+import com.google.inject.Singleton;
+
+@SuppressWarnings("serial")
+@Singleton
+public class I18nTranslatorTabsCollection extends ProvidersCollection {
+}
Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -0,0 +1,46 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nTranslationDTO;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.Singleton;
+
+@Singleton
+public class I18nTraslatorSaver {
+ private final I18nUITranslationService i18n;
+ private final Provider<I18nServiceAsync> i18nService;
+ private final Session session;
+
+ @Inject
+ public I18nTraslatorSaver(final Session session, final Provider<I18nServiceAsync> i18nService,
+ final I18nUITranslationService i18n) {
+ this.session = session;
+ this.i18nService = i18nService;
+ this.i18n = i18n;
+ }
+
+ public void save(final I18nTranslationDTO item) {
+ NotifyUser.showProgress(i18n.t("Saving"));
+ i18nService.get().setTranslation(session.getUserHash(), item.getId(), item.getText(),
+ new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ NotifyUser.hideProgress();
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
+
+ @Override
+ public void onSuccess(final String result) {
+ NotifyUser.hideProgress();
+ i18n.setTranslationAfterSave(item.getTrKey(), result);
+ }
+ });
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java 2011-09-07 13:44:13 UTC (rev 1512)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java 2011-09-07 21:37:23 UTC (rev 1513)
@@ -1,29 +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 cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.ProvidersCollection;
-
-import com.google.inject.Singleton;
-
-@SuppressWarnings("serial")
-@Singleton
-public class TranslatorTabsCollection extends ProvidersCollection {
-}
1
0
Author: vjrj_
Date: 2011-09-07 15:44:13 +0200 (Wed, 07 Sep 2011)
New Revision: 1512
Added:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java
Removed:
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/
Modified:
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java
trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java
trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java
trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java
trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java
Log:
CLOSED - # 124: New group creation sometime don't go to group's home
http://kune.ourproject.org/issues/ticket/124
CLOSED - # 39: Dialogs height must be some percent of Client height to prevent overflows
http://kune.ourproject.org/issues/ticket/39
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -41,7 +41,7 @@
private final String dialogId;
private String firstButtonId;
private String firstButtonTitle;
- private String height = "70%";
+ private String height;
private String icon;
private final boolean modal;
private String sndButtonId;
@@ -83,8 +83,7 @@
}
public Builder height(final int height) {
- // FIXME
- this.height = String.valueOf(height); // + "px";
+ this.height = String.valueOf(height + "px");
return this;
}
@@ -119,8 +118,7 @@
}
public Builder width(final int width) {
- // FIXME
- this.width = String.valueOf(width); // + "px";
+ this.width = String.valueOf(width + "px");
return this;
}
@@ -154,7 +152,7 @@
super.getTitleText().setText(builder.title);
setWidthImpl(builder.width);
setHeightImpl(builder.height);
- setSizes();
+ recalculateSize();
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(final ResizeEvent event) {
@@ -175,6 +173,10 @@
popup.hide();
}
+ public void recalculateSize() {
+ setSizes(Window.getClientWidth(), Window.getClientHeight());
+ }
+
private void setCloseBtn(final boolean closeBtn) {
setCloseBtnVisible(closeBtn);
if (closeBtn) {
@@ -205,7 +207,7 @@
private void setHeightImpl(final String height) {
this.height = height;
- setSizes();
+ recalculateSize();
}
@Override
@@ -214,10 +216,6 @@
setHeightImpl(height);
}
- private void setSizes() {
- setSizes(Window.getClientWidth(), Window.getClientHeight());
- }
-
private void setSizes(final int windowWidth, final int windowHeight) {
String newWidth = null;
String newHeight = null;
@@ -250,7 +248,7 @@
private void setWidthImpl(final String width) {
this.width = width;
- setSizes();
+ recalculateSize();
}
public void showCentered() {
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -23,9 +23,12 @@
import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.common.client.notify.NotifyLevelImages;
import cc.kune.common.client.ui.dialogs.BasicTopDialog;
+import cc.kune.common.client.ui.dialogs.BasicTopDialog.Builder;
import cc.kune.common.client.ui.dialogs.MessageToolbar;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
@@ -40,15 +43,17 @@
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.TabLayoutPanel;
import com.google.gwt.user.client.ui.Widget;
+import com.gwtplatform.mvp.client.ViewImpl;
-public abstract class AbstractTabbedDialogPanel implements AbstractTabbedDialogView {
+public abstract class AbstractTabbedDialogPanel extends ViewImpl implements AbstractTabbedDialogView {
+ private static final int NO_SIZE = -1;
private final boolean autohide;
private BasicTopDialog dialog;
private final String dialogId;
private final String errorLabelId;
private final String firstBtnId;
private final String firstBtnTitle;
- private int height;
+ private int height = NO_SIZE;
private ImageResource icon;
private String iconCls;
private final NotifyLevelImages images;
@@ -59,7 +64,7 @@
private final String sndBtnTitle;
private TabLayoutPanel tabPanel;
private String title;
- private int width;
+ private int width = NO_SIZE;
public AbstractTabbedDialogPanel(final String dialogId, final String title, final boolean modal,
final boolean autoHide, final NotifyLevelImages images, final String errorLabelId,
@@ -82,8 +87,8 @@
final NotifyLevelImages images, final String errorLabelId, final String firstBtnTitle,
final String firstBtnId, final String sndBtnTitle, final String sndBtnId,
final ProvidersCollection provCollection) {
- this(dialogId, title, modal, false, images, errorLabelId, firstBtnTitle, firstBtnId, sndBtnTitle,
- sndBtnId, provCollection);
+ this(dialogId, title, NO_SIZE, NO_SIZE, modal, false, images, errorLabelId, firstBtnTitle,
+ firstBtnId, sndBtnTitle, sndBtnId, provCollection);
}
public AbstractTabbedDialogPanel(final String dialogId, final String title, final int width,
@@ -124,23 +129,42 @@
}
private void createDialog() {
- dialog = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(true).width(
- String.valueOf(width + 20)).height(String.valueOf(height + 20)).icon(iconCls).firstButtonId(
- firstBtnId).firstButtonTitle(firstBtnTitle).sndButtonId(dialogId).sndButtonTitle(sndBtnTitle).sndButtonId(
- sndBtnId).title(title).build();
+ final Builder builder = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(true).icon(
+ iconCls).firstButtonId(firstBtnId).firstButtonTitle(firstBtnTitle).sndButtonId(dialogId).sndButtonTitle(
+ sndBtnTitle).sndButtonId(sndBtnId).title(title);
+ if (width != NO_SIZE) {
+ builder.width(String.valueOf(width + 20) + "px");
+ }
+ if (height != NO_SIZE) {
+ builder.height(String.valueOf(height + 20) + "px");
+ }
+ dialog = builder.build();
if (icon != null) {
dialog.setTitleIcon(icon);
}
messageErrorBar = new MessageToolbar(images, errorLabelId);
tabPanel = new TabLayoutPanel(25, Unit.PX);
+ tabPanel.addStyleName("oc-noselec");
tabPanel.addSelectionHandler(new SelectionHandler<Integer>() {
@Override
public void onSelection(final SelectionEvent<Integer> event) {
+ // dialog.recalculateSize();
dialog.showCentered();
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ dialog.showCentered();
+ }
+ });
}
});
provCollection.createAll();
- tabPanel.setSize(String.valueOf(width) + "px", String.valueOf(height) + "px");
+ if (width != NO_SIZE) {
+ tabPanel.setWidth(String.valueOf(width) + "px");
+ }
+ if (height != NO_SIZE) {
+ tabPanel.setHeight(String.valueOf(height) + "px");
+ }
dialog.getInnerPanel().add(tabPanel);
tabPanel.addStyleName("k-tabpanel-aditionalpadding");
tabPanel.addStyleName("k-tabs");
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/tabbed/AbstractTabbedDialogPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -21,12 +21,18 @@
import cc.kune.common.client.notify.NotifyLevel;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.IsWidget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public abstract class AbstractTabbedDialogPresenter implements AbstractTabbedDialog {
+public abstract class AbstractTabbedDialogPresenter<V extends View, Proxy_ extends Proxy<?>> extends
+ Presenter<View, Proxy<?>> implements AbstractTabbedDialog {
- public interface AbstractTabbedDialogView extends IsWidget {
-
+ public interface AbstractTabbedDialogView extends View, IsWidget {
void activateTab(int index);
void addTab(IsWidget tab, IsWidget tabTitle);
@@ -44,50 +50,56 @@
void show();
}
- private AbstractTabbedDialogView view;
+ @Inject
+ public AbstractTabbedDialogPresenter(final EventBus eventBus, final AbstractTabbedDialogView view,
+ final Proxy<?> proxy) {
+ super(eventBus, view, proxy);
+ }
@Override
public void activateTab(final int index) {
- view.activateTab(index);
+ getView().activateTab(index);
}
@Override
public void addTab(final IsWidget tab, final IsWidget tabTitle) {
- view.addTab(tab, tabTitle);
+ getView().addTab(tab, tabTitle);
}
- public IsWidget getView() {
- return view;
+ @Override
+ public AbstractTabbedDialogView getView() {
+ return (AbstractTabbedDialogView) super.getView();
}
@Override
public void hide() {
- view.hide();
+ getView().hide();
}
@Override
public void hideMessages() {
- view.hideMessages();
+ getView().hideMessages();
}
- public void init(final AbstractTabbedDialogView view) {
- this.view = view;
+ @Override
+ public void insertTab(final IsWidget tab, final IsWidget tabTitle, final int index) {
+ getView().insertTab(tab, tabTitle, index);
}
@Override
- public void insertTab(final IsWidget tab, final IsWidget tabTitle, final int index) {
- view.insertTab(tab, tabTitle, index);
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
}
@Override
public void setErrorMessage(final String message, final NotifyLevel level) {
- view.setErrorMessage(message, level);
+ getView().setErrorMessage(message, level);
}
@Override
public void show() {
hideMessages();
- view.show();
+ getView().show();
}
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/wizard/WizardDialog.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -61,12 +61,10 @@
final I18nTranslationService i18n, final MaskWidget maskWidget, final WizardListener listener) {
this.maskWidget = maskWidget;
this.listener = listener;
+ this.i18n = i18n;
final Builder dialogBuilder = new BasicTopDialog.Builder(dialogId, false, modal).width(width).height(
height).firstButtonId(cancelId).sndButtonId(finishId).title(header);
-
dialog = dialogBuilder.build();
- this.i18n = i18n;
-
dialog.setFirstBtnText(i18n.tWithNT("Cancel", "used in button"));
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-09-07 13:44:13 UTC (rev 1512)
@@ -22,7 +22,7 @@
.k-opacity80 {
kfilter: alpha(opacity =
- 80);
+ 80);
-moz-opacity: 0.80;
-khtml-opacity: 0.80;
opacity: 0.80;
@@ -30,7 +30,7 @@
.k-opacity90 {
kfilter: alpha(opacity =
- 90);
+ 90);
-moz-opacity: 0.90;
-khtml-opacity: 0.90;
opacity: 0.90;
@@ -38,7 +38,7 @@
.k-opacity95 {
kfilter: alpha(opacity =
- 95);
+ 95);
-moz-opacity: 0.95;
-khtml-opacity: 0.95;
opacity: 0.95;
@@ -47,7 +47,7 @@
.gwt-PopupPanelGlass {
background-color: #f7ebe3 !important;
kfilter: alpha(opacity =
- 68) !important;
+ 68) !important;
-moz-opacity: 0.68 !important;
-khtml-opacity: 0.68 !important;
opacity: 0.68 !important;
@@ -308,7 +308,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;
@@ -551,7 +551,7 @@
_border-left-color: pink;
_border-bottom-color: pink;
_border-right-color: pink;
- _filter: chroma(color = pink);
+ _filter: chroma(color = pink);
}
/* end tooltip */
@@ -707,4 +707,4 @@
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 3px;
-}
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -48,11 +48,11 @@
@Inject
public RegisterPanel(final I18nTranslationService i18n, final Session session,
final MaskWidgetView mask, final NotifyLevelImages images) {
- super(REGISTER_DIALOG, mask, i18n, i18n.t(CoreMessages.REGISTER_TITLE), true, true, true, 400, 420,
- "", i18n.t(CoreMessages.REGISTER_TITLE), REGISTER_BUTTON_ID, i18n.tWithNT("Cancel",
- "used in button"), CANCEL_BUTTON_ID, images, ERRMSG, 5);
+ super(REGISTER_DIALOG, mask, i18n, i18n.t(CoreMessages.REGISTER_TITLE), true, true, true, "",
+ i18n.t(CoreMessages.REGISTER_TITLE), REGISTER_BUTTON_ID,
+ i18n.tWithNT("Cancel", "used in button"), CANCEL_BUTTON_ID, images, ERRMSG, 5);
registerForm = new RegisterForm(i18n, session);
- registerForm.setWidth(370);
+ registerForm.setWidth(330);
registerForm.getFormPanel().setId(REGISTER_FORM);
messageErrorBar = new MessageToolbar(images, errorLabelId);
registerForm.add(messageErrorBar);
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -45,13 +45,12 @@
public SignInAbstractPanel(final String dialogId, final MaskWidgetView mask,
final I18nTranslationService i18n, final String title, final boolean autohide,
- final boolean modal, final boolean autoscroll, final int width, final int heigth,
- final String icon, final String firstButtonTitle, final String firstButtonId,
- final String cancelButtonTitle, final String cancelButtonId, final NotifyLevelImages images,
- final String errorLabelId, final int tabIndexStart) {
+ final boolean modal, final boolean autoscroll, final String icon, final String firstButtonTitle,
+ final String firstButtonId, final String cancelButtonTitle, final String cancelButtonId,
+ final NotifyLevelImages images, final String errorLabelId, final int tabIndexStart) {
- final Builder builder = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(autoscroll);
- builder.width(width).height(heigth).title(title);
+ final Builder builder = new BasicTopDialog.Builder(dialogId, autohide, modal).autoscroll(autoscroll).title(
+ title);
builder.icon(icon);
builder.firstButtonTitle(firstButtonTitle).firstButtonId(firstButtonId);
builder.sndButtonTitle(cancelButtonTitle).sndButtonId(cancelButtonId);
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -48,12 +48,12 @@
@Inject
public SignInPanel(final I18nTranslationService i18n, final MaskWidgetView mask,
final NotifyLevelImages images) {
- super(SIGNIN_DIALOG, mask, i18n, i18n.t(CoreMessages.SIGN_IN_TITLE), true, true, true, 360, 430, "",
+ super(SIGNIN_DIALOG, mask, i18n, i18n.t(CoreMessages.SIGN_IN_TITLE), true, true, true, "",
i18n.t(CoreMessages.SIGN_IN_TITLE), SIGN_IN_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"),
CANCEL_BUTTON_ID, images, ERROR_MSG, 102);
signInForm = new SignInForm(i18n);
- signInForm.setWidth(370);
+ signInForm.setWidth(330);
signInForm.add(createNoAccountRegister());
messageErrorBar = new MessageToolbar(images, errorLabelId);
signInForm.add(messageErrorBar);
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -80,8 +80,8 @@
@Inject
public NewGroupPanel(final I18nTranslationService i18n, final NotifyLevelImages img,
final MaskWidgetView mask) {
- final Builder builder = new BasicTopDialog.Builder(NEWGROUP_WIZARD, false, true).autoscroll(true).height(
- 340).title(i18n.t("Register a new group"));
+ final Builder builder = new BasicTopDialog.Builder(NEWGROUP_WIZARD, false, true).autoscroll(true).title(
+ i18n.t("Register a new group"));
builder.icon("k-newgroup-icon");
builder.firstButtonTitle(i18n.t("Register")).firstButtonId(REGISTER_BUTTON);
builder.sndButtonTitle(i18n.t("Cancel")).sndButtonId(CANCEL_BUTTON);
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -32,11 +32,11 @@
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
-import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.GroupType;
import cc.kune.core.shared.dto.LicenseDTO;
import cc.kune.core.shared.dto.ReservedWordsRegistryDTO;
+import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.options.GroupOptions;
@@ -174,7 +174,7 @@
final GroupDTO group = new GroupDTO(shortName, longName, getTypeOfGroup());
group.setDefaultLicense(license);
- final AsyncCallback<StateToken> callback = new AsyncCallback<StateToken>() {
+ final AsyncCallback<StateAbstractDTO> callback = new AsyncCallback<StateAbstractDTO>() {
@Override
public void onFailure(final Throwable caught) {
if (caught instanceof GroupShortNameInUseException) {
@@ -195,12 +195,13 @@
}
@Override
- public void onSuccess(final StateToken token) {
+ public void onSuccess(final StateAbstractDTO state) {
getView().hide();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
- stateManager.gotoStateToken(token);
+ stateManager.setRetrievedStateAndGo(state);
+ NotifyUser.info("Test", true);
groupOptions.showTooltip();
}
});
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/GroupService.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -39,7 +39,7 @@
GroupDTO clearGroupBackImage(String userHash, StateToken token);
- StateToken createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags,
+ StateAbstractDTO createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags,
String[] enabledTools) throws DefaultException;
GroupDTO getGroup(String userHash, StateToken token);
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceAsync.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -39,7 +39,7 @@
void clearGroupBackImage(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback);
void createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags,
- String[] enabledTools, AsyncCallback<StateToken> callback);
+ String[] enabledTools, AsyncCallback<StateAbstractDTO> callback);
void getGroup(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback);
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/AboutKuneDialog.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -49,7 +49,7 @@
public AboutKuneDialog(final I18nTranslationService i18n) {
dialog = new BasicTopDialog.Builder(ABOUT_KUNE_ID, true, true).title(i18n.t("About Kune")).autoscroll(
false).firstButtonTitle(i18n.t("Ok")).firstButtonId(ABOUT_KUNE_BTN_ID).tabIndexStart(1).height(
- "300px").width("400px").build();
+ "300px").width("410px").build();
dialog.getInnerPanel().add(BINDER.createAndBindUi(this));
dialog.getFirstBtn().addClickHandler(new ClickHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -81,6 +81,11 @@
signOut();
}
});
+ check(new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ }
+ });
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -99,7 +99,7 @@
@Override
@Authenticated
@Transactional(rollbackOn = DefaultException.class)
- public StateToken createNewGroup(final String userHash, final GroupDTO groupDTO,
+ public StateAbstractDTO createNewGroup(final String userHash, final GroupDTO groupDTO,
final String publicDesc, final String tags, final String[] enabledTools) throws DefaultException {
final User user = getUserLogged();
reserverdWords.check(groupDTO.getShortName(), groupDTO.getLongName());
@@ -108,7 +108,7 @@
// This is necessary?
contentManager.save(newGroup.getDefaultContent());
// contentManager.setTags(user, defContentId, tags);
- return newGroup.getDefaultContent().getStateToken();
+ return contentRPC.getContent(userHash, newGroup.getDefaultContent().getStateToken());
};
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -24,10 +24,10 @@
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
import cc.kune.gspace.client.actions.ContentViewerOptionsMenu;
import cc.kune.gspace.client.actions.RenameAction;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPanel;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPresenter;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPresenter.I18nNewTranslatorView;
import cc.kune.gspace.client.i18n.I18nTranslator;
+import cc.kune.gspace.client.i18n.I18nTranslatorPanel;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
import cc.kune.gspace.client.i18n.TranslatorTabsCollection;
import cc.kune.gspace.client.licensewizard.LicenseChangeAction;
@@ -47,12 +47,12 @@
import cc.kune.gspace.client.options.GroupOptionsCollection;
import cc.kune.gspace.client.options.GroupOptionsPanel;
import cc.kune.gspace.client.options.GroupOptionsPresenter;
-import cc.kune.gspace.client.options.GroupOptionsView;
+import cc.kune.gspace.client.options.GroupOptionsPresenter.GroupOptionsView;
import cc.kune.gspace.client.options.UserOptions;
import cc.kune.gspace.client.options.UserOptionsCollection;
import cc.kune.gspace.client.options.UserOptionsPanel;
import cc.kune.gspace.client.options.UserOptionsPresenter;
-import cc.kune.gspace.client.options.UserOptionsView;
+import cc.kune.gspace.client.options.UserOptionsPresenter.UserOptionsView;
import cc.kune.gspace.client.options.general.GroupOptGeneral;
import cc.kune.gspace.client.options.general.GroupOptGeneralPanel;
import cc.kune.gspace.client.options.general.GroupOptGeneralPresenter;
@@ -143,10 +143,13 @@
s(NoHomePageViewer.class);
+ bindPresenter(GroupOptionsPresenter.class, GroupOptionsView.class, GroupOptionsPanel.class,
+ GroupOptionsPresenter.GroupOptionsProxy.class);
s(GroupOptions.class, GroupOptionsPresenter.class);
- s(GroupOptionsView.class, GroupOptionsPanel.class);
+
+ bindPresenter(UserOptionsPresenter.class, UserOptionsView.class, UserOptionsPanel.class,
+ UserOptionsPresenter.UserOptionsProxy.class);
s(UserOptions.class, UserOptionsPresenter.class);
- s(UserOptionsView.class, UserOptionsPanel.class);
s(UserOptionsCollection.class);
s(GroupOptionsCollection.class);
@@ -193,8 +196,9 @@
s(LicenseChangeAction.class);
// I18nTranslator
- s(I18nNewTranslatorView.class, I18nNewTranslatorPanel.class);
- s(I18nTranslator.class, I18nNewTranslatorPresenter.class);
+ bindPresenter(I18nTranslatorPresenter.class, I18nTranslatorView.class, I18nTranslatorPanel.class,
+ I18nTranslatorPresenter.I18nTranslatorProxy.class);
+ s(I18nTranslator.class, I18nTranslatorPresenter.class);
s(SiteOptionsI18nTranslatorAction.class);
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -20,7 +20,10 @@
package cc.kune.gspace.client;
import cc.kune.core.client.sitebar.search.SitebarSearchPresenter;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter;
import cc.kune.gspace.client.licensewizard.LicenseWizardPresenter;
+import cc.kune.gspace.client.options.GroupOptionsPresenter;
+import cc.kune.gspace.client.options.UserOptionsPresenter;
import cc.kune.gspace.client.tags.TagsSummaryPresenter;
import cc.kune.gspace.client.tool.ContentViewerSelector;
import cc.kune.gspace.client.tool.selector.ToolSelectorPresenter;
@@ -41,8 +44,12 @@
AsyncProvider<FolderViewerPresenter> getFolderViewerPresenter();
+ AsyncProvider<GroupOptionsPresenter> getGroupOptionsPresenter();
+
GSpaceParts getGSpaceParts();
+ AsyncProvider<I18nTranslatorPresenter> getI18nTranslatorPresenter();
+
AsyncProvider<LicenseWizardPresenter> getLicenseWizardPresenter();
AsyncProvider<SitebarSearchPresenter> getSitebarSearchPresenter();
@@ -50,4 +57,6 @@
AsyncProvider<TagsSummaryPresenter> getTagsSummaryPresenter();
AsyncProvider<ToolSelectorPresenter> getToolSelectorPresenter();
+
+ AsyncProvider<UserOptionsPresenter> getUserOptionsPresenter();
}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,71 +0,0 @@
-package cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.notify.NotifyLevelImages;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
-import cc.kune.common.client.utils.SimpleCallback;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.gspace.client.i18n.I18nNewTranslatorPresenter.I18nNewTranslatorView;
-
-import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
-import com.google.inject.Inject;
-
-public class I18nNewTranslatorPanel extends AbstractTabbedDialogPanel implements I18nNewTranslatorView {
-
- private static final int HEIGHT = 280;
- private static final String TRANSLATOR_ERROR_ID = "i18n-trans-panel-error";
- private static final String TRANSLATOR_PANEL_ID = "i18n-trans-panel";
- private static final int WIDTH = 570;
- private final LanguageSelectorPanel lanSelectorPanel;
- private final I18nToTranslateGridPanel toTranslateGrid;
- private final I18nTranslatedGridPanel translatedGrid;
- private final I18nTranslateRecomendPanel transRecommend;
-
- @Inject
- public I18nNewTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
- final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
- final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
- final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
- super(TRANSLATOR_PANEL_ID, "", WIDTH, HEIGHT, false, false, images, TRANSLATOR_ERROR_ID,
- i18n.t("Close"), null, null, null, transGroup);
- setIcon(res.language());
- this.lanSelectorPanel = lanSelectorPanel;
- lanSelectorPanel.addChangeListener(new SimpleCallback() {
- @Override
- public void onCallback() {
- setLanguage(lanSelectorPanel.getLanguage());
- }
- });
- this.toTranslateGrid = toTranslateGrid;
- this.translatedGrid = translatedGrid;
- this.transRecommend = transRecommend;
- transRecommend.setSize(WIDTH, HEIGHT);
- super.setIconCls("k-options-icon");
- super.setTitle(i18n.t("Help to translate kune"));
- super.getInnerPanel().insert(lanSelectorPanel, 0);
- lanSelectorPanel.setLangTitle(i18n.t("to"));
- lanSelectorPanel.setLabelAlign(LabelAlign.RIGHT);
- lanSelectorPanel.setLangSeparator(":");
- }
-
- @Override
- public void init() {
- addTab(toTranslateGrid, toTranslateGrid.getTabTitle());
- addTab(translatedGrid, translatedGrid.getTabTitle());
- addTab(transRecommend, transRecommend.getTabTitle());
- }
-
- @Override
- public void setLanguage(final I18nLanguageSimpleDTO language) {
- lanSelectorPanel.setLanguage(language);
- toTranslateGrid.setLanguage(language);
- translatedGrid.setLanguage(language);
- }
-
- @Override
- public void show() {
- super.show();
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,96 +0,0 @@
-package cc.kune.gspace.client.i18n;
-
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
-import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
-import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.I18nServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.I18nLanguageDTO;
-import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.IsWidget;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class I18nNewTranslatorPresenter extends AbstractTabbedDialogPresenter implements
- AbstractTabbedDialog, I18nTranslator {
-
- public interface I18nNewTranslatorView extends AbstractTabbedDialogView {
-
- @Override
- void hide();
-
- void init();
-
- void setLanguage(I18nLanguageSimpleDTO currentLanguage);
-
- @Override
- void show();
- }
- private final I18nUITranslationService i18n;
- private final Provider<I18nServiceAsync> i18nService;
- private final Session session;
- private I18nNewTranslatorView view;
-
- @Inject
- public I18nNewTranslatorPresenter(final Session session, final I18nUITranslationService i18n,
- final I18nNewTranslatorView view, final Provider<I18nServiceAsync> i18nService) {
- this.session = session;
- this.i18n = i18n;
- this.i18nService = i18nService;
- init(view);
- }
-
- public void doClose() {
- view.hide();
- }
-
- public void doTranslation(final String id, final String trKey, final String translation) {
- NotifyUser.showProgress(i18n.t("Saving"));
- i18nService.get().setTranslation(session.getUserHash(), id, translation,
- new AsyncCallback<String>() {
- @Override
- public void onFailure(final Throwable caught) {
- NotifyUser.hideProgress();
- NotifyUser.error(i18n.t("Server error saving the translation"));
- }
-
- @Override
- public void onSuccess(final String result) {
- NotifyUser.hideProgress();
- i18n.setTranslationAfterSave(trKey, result);
- }
- });
- }
-
- @Override
- public IsWidget getView() {
- return view;
- }
-
- @Override
- public void hide() {
- view.hide();
- }
-
- public void init(final I18nNewTranslatorView view) {
- super.init(view);
- this.view = view;
- view.init();
- }
-
- @Override
- public void show() {
- NotifyUser.showProgressLoading();
- if (session.isLogged()) {
- final I18nLanguageDTO userLang = session.getCurrentLanguage();
- view.setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
- view.show();
- } else {
- NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
- }
- NotifyUser.hideProgress();
- }
-}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.ui.xml 2011-09-07 13:44:13 UTC (rev 1512)
@@ -50,17 +50,25 @@
width: 180px;
height: 95px;
border: 1px dashed #BBBBBB;
+ }
+
+ div.toTranslate {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 3px;
}
+
+ .toTranlateLabel {
+ height: 95px !important;
+ overflow-y: scroll;
+ }
</ui:style>
<g:FlowPanel addStyleNames="{style.table}">
<g:FlowPanel addStyleNames="{style.row}">
<g:Label ui:field="toTranslateTitle" addStyleNames="{style.titles} {style.cell}"/>
<g:FlowPanel addStyleNames="{style.cell}" styleName="{style.toTranslate}">
- <g:Label ui:field="toTranslate"/>
+ <g:Label ui:field="toTranslate" styleName="{style.toTranlateLabel}"/>
</g:FlowPanel>
<g:Label addStyleNames="{style.row}"/>
</g:FlowPanel>
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java (from rev 1510, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -0,0 +1,71 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyLevelImages;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPanel;
+import cc.kune.common.client.utils.SimpleCallback;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
+
+import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
+import com.google.inject.Inject;
+
+public class I18nTranslatorPanel extends AbstractTabbedDialogPanel implements I18nTranslatorView {
+
+ private static final int HEIGHT = 280;
+ private static final String TRANSLATOR_ERROR_ID = "i18n-trans-panel-error";
+ private static final String TRANSLATOR_PANEL_ID = "i18n-trans-panel";
+ private static final int WIDTH = 570;
+ private final LanguageSelectorPanel lanSelectorPanel;
+ private final I18nToTranslateGridPanel toTranslateGrid;
+ private final I18nTranslatedGridPanel translatedGrid;
+ private final I18nTranslateRecomendPanel transRecommend;
+
+ @Inject
+ public I18nTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images,
+ final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel,
+ final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid,
+ final I18nTranslateRecomendPanel transRecommend, final CoreResources res) {
+ super(TRANSLATOR_PANEL_ID, "", false, false, images, TRANSLATOR_ERROR_ID, i18n.t("Close"), null,
+ null, null, transGroup);
+ setIcon(res.language());
+ this.lanSelectorPanel = lanSelectorPanel;
+ lanSelectorPanel.addChangeListener(new SimpleCallback() {
+ @Override
+ public void onCallback() {
+ setLanguage(lanSelectorPanel.getLanguage());
+ }
+ });
+ this.toTranslateGrid = toTranslateGrid;
+ this.translatedGrid = translatedGrid;
+ this.transRecommend = transRecommend;
+ transRecommend.setSize(WIDTH, HEIGHT);
+ super.setIconCls("k-options-icon");
+ super.setTitle(i18n.t("Help to translate kune"));
+ super.getInnerPanel().insert(lanSelectorPanel, 0);
+ lanSelectorPanel.setLangTitle(i18n.t("to"));
+ lanSelectorPanel.setLabelAlign(LabelAlign.RIGHT);
+ lanSelectorPanel.setLangSeparator(":");
+ }
+
+ @Override
+ public void init() {
+ addTab(toTranslateGrid, toTranslateGrid.getTabTitle());
+ addTab(translatedGrid, translatedGrid.getTabTitle());
+ addTab(transRecommend, transRecommend.getTabTitle());
+ }
+
+ @Override
+ public void setLanguage(final I18nLanguageSimpleDTO language) {
+ lanSelectorPanel.setLanguage(language);
+ toTranslateGrid.setLanguage(language);
+ translatedGrid.setLanguage(language);
+ }
+
+ @Override
+ public void show() {
+ super.show();
+ }
+
+}
Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java (from rev 1509, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nNewTranslatorPresenter.java)
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -0,0 +1,104 @@
+package cc.kune.gspace.client.i18n;
+
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
+import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView;
+import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.rpcservices.I18nServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.I18nLanguageDTO;
+import cc.kune.core.shared.dto.I18nLanguageSimpleDTO;
+import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+
+public class I18nTranslatorPresenter extends
+ AbstractTabbedDialogPresenter<I18nTranslatorView, I18nTranslatorPresenter.I18nTranslatorProxy>
+ implements AbstractTabbedDialog, I18nTranslator {
+
+ @ProxyCodeSplit
+ public interface I18nTranslatorProxy extends Proxy<I18nTranslatorPresenter> {
+ }
+
+ public interface I18nTranslatorView extends AbstractTabbedDialogView {
+ void hide();
+
+ void init();
+
+ void setLanguage(I18nLanguageSimpleDTO currentLanguage);
+
+ void show();
+
+ }
+
+ private final I18nUITranslationService i18n;
+ private final Provider<I18nServiceAsync> i18nService;
+ private final Session session;
+
+ @Inject
+ public I18nTranslatorPresenter(final EventBus eventBus, final I18nTranslatorProxy proxy,
+ final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view,
+ final Provider<I18nServiceAsync> i18nService) {
+ super(eventBus, view, proxy);
+ this.session = session;
+ this.i18n = i18n;
+ this.i18nService = i18nService;
+ }
+
+ public void doClose() {
+ getView().hide();
+ }
+
+ public void doTranslation(final String id, final String trKey, final String translation) {
+ NotifyUser.showProgress(i18n.t("Saving"));
+ i18nService.get().setTranslation(session.getUserHash(), id, translation,
+ new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ NotifyUser.hideProgress();
+ NotifyUser.error(i18n.t("Server error saving the translation"));
+ }
+
+ @Override
+ public void onSuccess(final String result) {
+ NotifyUser.hideProgress();
+ i18n.setTranslationAfterSave(trKey, result);
+ }
+ });
+ }
+
+ @Override
+ public I18nTranslatorView getView() {
+ return (I18nTranslatorView) super.getView();
+ }
+
+ @Override
+ public void hide() {
+ getView().hide();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+ getView().init();
+ }
+
+ @Override
+ public void show() {
+ NotifyUser.showProgressLoading();
+ if (session.isLogged()) {
+ final I18nLanguageDTO userLang = session.getCurrentLanguage();
+ getView().setLanguage(new I18nLanguageSimpleDTO(userLang.getCode(), userLang.getEnglishName()));
+ getView().show();
+ } else {
+ NotifyUser.info(i18n.t("Sign in or register to help with the translation"));
+ }
+ NotifyUser.hideProgress();
+ }
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/i18n/SiteOptionsI18nTranslatorAction.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -34,29 +34,24 @@
@Singleton
public class SiteOptionsI18nTranslatorAction extends AbstractExtendedAction {
private I18nTranslator translator;
- private final Provider<I18nNewTranslatorPanel> translatorPanel;
- private final Provider<I18nNewTranslatorPresenter> translatorPresenter;
+ private final Provider<I18nTranslator> translatorProv;
@Inject
public SiteOptionsI18nTranslatorAction(final I18nTranslationService i18n, final CoreResources img,
- final Provider<I18nNewTranslatorPresenter> translatorPresenter,
- final Provider<I18nNewTranslatorPanel> translatorPanel, final SitebarActionsPresenter siteOptions) {
+ final Provider<I18nTranslator> translatorProv, final SitebarActionsPresenter siteOptions) {
super();
- this.translatorPresenter = translatorPresenter;
- this.translatorPanel = translatorPanel;
+ this.translatorProv = translatorProv;
putValue(Action.NAME, i18n.t("Help with the translation"));
putValue(Action.SMALL_ICON, img.language());
MenuItemDescriptor.build(siteOptions.getOptionsMenu(), this);
- // item.setPosition(1);
}
@Override
public void actionPerformed(final ActionEvent event) {
if (translator == null) {
- final I18nNewTranslatorPresenter presenter = translatorPresenter.get();
- presenter.init(translatorPanel.get());
- translator = presenter;
+ translator = translatorProv.get();
}
translator.show();
+ // item.setPosition(1);
}
}
Modified: trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/licensewizard/LicenseWizardPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -40,7 +40,7 @@
@Inject
public LicenseWizardPanel(final MaskWidget maskWidget, final I18nTranslationService i18n,
final CoreResources res) {
- super(LIC_WIZ_DIALOG, i18n.t("License wizard"), false, false, WIDTH, null, BACK_BTN_ID, NEXT_BTN_ID,
+ super(LIC_WIZ_DIALOG, i18n.t("License wizard"), true, false, WIDTH, null, BACK_BTN_ID, NEXT_BTN_ID,
FINISH_BTN_ID, CANCEL_BTN_ID, CLOSE_BTN_ID, i18n, maskWidget);
super.setFinishText(i18n.t("Select"));
super.setIcon(res.copyleft());
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -25,6 +25,7 @@
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.GroupOptionsPresenter.GroupOptionsView;
import com.google.inject.Inject;
@@ -37,8 +38,8 @@
@Inject
public GroupOptionsPanel(final EntityHeader entityHeader, final I18nTranslationService i18n,
final NotifyLevelImages images, final GroupOptionsCollection entityOptionsGroup) {
- super(GROUP_OP_PANEL_ID, "", WIDTH, HEIGHT + 80, false, false, images, GROUP_OPTIONS_ERROR_ID,
- i18n.t("Close"), null, null, null, entityOptionsGroup);
+ super(GROUP_OP_PANEL_ID, "", false, false, images, GROUP_OPTIONS_ERROR_ID, i18n.t("Close"), null,
+ null, null, entityOptionsGroup);
this.entityHeader = entityHeader;
super.setIconCls("k-options-icon");
super.setTitle(i18n.t(CoreMessages.GROUP_OPTIONS_DIALOG_TITLE));
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -23,6 +23,7 @@
import cc.kune.common.client.actions.Action;
import cc.kune.common.client.actions.ActionEvent;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
@@ -33,26 +34,41 @@
import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.GroupOptionsPresenter.GroupOptionsView;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
-public class GroupOptionsPresenter extends AbstractTabbedDialogPresenter implements GroupOptions {
+public class GroupOptionsPresenter extends
+ AbstractTabbedDialogPresenter<GroupOptionsView, GroupOptionsPresenter.GroupOptionsProxy> implements
+ GroupOptions {
+
+ @ProxyCodeSplit
+ public interface GroupOptionsProxy extends Proxy<GroupOptionsPresenter> {
+ }
+
+ public interface GroupOptionsView extends EntityOptionsView {
+ void addAction(GuiActionDescrip descriptor);
+ }
+
public static final String GROUP_OPTIONS_ICON = "k-eop-icon";
private final I18nTranslationService i18n;
private final CoreResources img;
private ButtonDescriptor prefsItem;
private final Session session;
private final StateManager stateManager;
- private GroupOptionsView view;
@Inject
- public GroupOptionsPresenter(final StateManager stateManager, final Session session,
- final I18nTranslationService i18n, final CoreResources img, final GroupOptionsView view) {
+ public GroupOptionsPresenter(final EventBus eventBus, final GroupOptionsProxy proxy,
+ final StateManager stateManager, final Session session, final I18nTranslationService i18n,
+ final CoreResources img, final GroupOptionsView view) {
+ super(eventBus, view, proxy);
this.stateManager = stateManager;
this.session = session;
this.i18n = i18n;
this.img = img;
- init(view);
}
private void createActions() {
@@ -72,12 +88,17 @@
prefsItem.setId(GROUP_OPTIONS_ICON);
prefsItem.withToolTip(i18n.t("Set your group preferences here"));
prefsItem.setVisible(false);
- view.addAction(prefsItem);
+ getView().addAction(prefsItem);
}
- private void init(final GroupOptionsView view) {
- super.init(view);
- this.view = view;
+ @Override
+ public GroupOptionsView getView() {
+ return (GroupOptionsView) super.getView();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
createActions();
stateManager.onStateChanged(true, new StateChangedHandler() {
@Override
@@ -86,7 +107,7 @@
if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
prefsItem.setVisible(true);
} else {
- view.hide();
+ getView().hide();
prefsItem.setVisible(false);
}
}
@@ -94,7 +115,7 @@
session.onUserSignOut(false, new UserSignOutHandler() {
@Override
public void onUserSignOut(final UserSignOutEvent event) {
- view.hide();
+ getView().hide();
}
});
}
Deleted: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsView.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,28 +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 cc.kune.gspace.client.options;
-
-import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
-
-public interface GroupOptionsView extends EntityOptionsView {
-
- void addAction(GuiActionDescrip descriptor);
-
-}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPanel.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -24,8 +24,8 @@
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.ws.entheader.EntityHeader;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.UserOptionsPresenter.UserOptionsView;
-import com.google.gwt.event.shared.HandlerRegistration;
import com.google.inject.Inject;
public class UserOptionsPanel extends AbstractTabbedDialogPanel implements UserOptionsView {
@@ -33,15 +33,11 @@
public static final String USER_OP_PANEL_ID = "k-uop-diagpan";
public static final String USER_OPTIONS_ERROR_ID = "k-uop-err-mess";
- private HandlerRegistration addClickHandler;
- private final UserOptionsCollection userPreferencesGroup;
-
@Inject
public UserOptionsPanel(final EntityHeader entityHeader, final I18nTranslationService i18n,
final NotifyLevelImages images, final UserOptionsCollection userOptionsGroup) {
- super(USER_OP_PANEL_ID, "", WIDTH, HEIGHT + 80, false, images, USER_OPTIONS_ERROR_ID,
- i18n.t("Close"), null, null, null, userOptionsGroup);
- this.userPreferencesGroup = userOptionsGroup;
+ super(USER_OP_PANEL_ID, "", false, images, USER_OPTIONS_ERROR_ID, i18n.t("Close"), null, null, null,
+ userOptionsGroup);
super.setIconCls("k-options-icon");
super.setTitle(i18n.t(CoreMessages.USER_OPTIONS_DIALOG_TITLE));
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsPresenter.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -33,11 +33,24 @@
import cc.kune.core.client.state.UserSignOutEvent;
import cc.kune.core.client.state.UserSignOutEvent.UserSignOutHandler;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.options.UserOptionsPresenter.UserOptionsView;
+import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
-public class UserOptionsPresenter extends AbstractTabbedDialogPresenter implements UserOptions {
+public class UserOptionsPresenter extends
+ AbstractTabbedDialogPresenter<UserOptionsView, UserOptionsPresenter.UserOptionsProxy> implements
+ UserOptions {
+ @ProxyCodeSplit
+ public interface UserOptionsProxy extends Proxy<UserOptionsPresenter> {
+ }
+
+ public interface UserOptionsView extends EntityOptionsView {
+ }
+
private final I18nTranslationService i18n;
private final CoreResources res;
private final Session session;
@@ -45,9 +58,10 @@
private final SiteUserOptions userOptions;
@Inject
- public UserOptionsPresenter(final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final CoreResources res, final SiteUserOptions userOptions,
- final UserOptionsView view) {
+ public UserOptionsPresenter(final EventBus eventBus, final UserOptionsProxy proxy,
+ final Session session, final StateManager stateManager, final I18nTranslationService i18n,
+ final CoreResources res, final SiteUserOptions userOptions, final UserOptionsView view) {
+ super(eventBus, view, proxy);
this.session = session;
this.stateManager = stateManager;
this.i18n = i18n;
@@ -56,14 +70,18 @@
session.onUserSignIn(false, new UserSignInHandler() {
@Override
public void onUserSignIn(final UserSignInEvent event) {
- view.hide();
+ getView().hide();
}
});
- init(view);
}
- private void init(final UserOptionsView view) {
- super.init(view);
+ @Override
+ public UserOptionsView getView() {
+ return (UserOptionsView) super.getView();
+ }
+
+ @Override
+ protected void onBind() {
final AbstractExtendedAction userPrefsAction = new AbstractExtendedAction() {
@Override
@@ -77,7 +95,7 @@
session.onUserSignOut(false, new UserSignOutHandler() {
@Override
public void onUserSignOut(final UserSignOutEvent event) {
- view.hide();
+ getView().hide();
}
});
userPrefsAction.putValue(Action.NAME, i18n.t("Your preferences"));
Deleted: trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java 2011-09-07 08:45:51 UTC (rev 1511)
+++ trunk/src/main/java/cc/kune/gspace/client/options/UserOptionsView.java 2011-09-07 13:44:13 UTC (rev 1512)
@@ -1,24 +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 cc.kune.gspace.client.options;
-
-public interface UserOptionsView extends EntityOptionsView {
-
-}
1
0
07 Sep '11
#124: New group creation sometime don't go to group's home
--------------------------+------------------
Reporter: vjrj | Owner: vjrj
Type: defect | Status: new
Priority: critical | Milestone:
Component: Group space | Version:
Resolution: | Keywords:
Blocked By: | Blocking:
--------------------------+------------------
--
Ticket URL: <http://kune.ourproject.org/issues/ticket/124>
kune issues <http://kune.ourproject.org/issues/>
1
1
Re: [kune-commits] [kune issues] #39: Dialogs height must be some percent of Client height to prevent overflows
by kune issues 07 Sep '11
by kune issues 07 Sep '11
07 Sep '11
#39: Dialogs height must be some percent of Client height to prevent overflows
---------------------+--------------------
Reporter: vjrj | Owner: vjrj
Type: defect | Status: closed
Priority: major | Milestone:
Component: Common | Version:
Resolution: fixed | Keywords:
Blocked By: | Blocking:
---------------------+--------------------
Changes (by vjrj):
* status: new => closed
* resolution: => fixed
--
Ticket URL: <http://kune.ourproject.org/issues/ticket/39#comment:1>
kune issues <http://kune.ourproject.org/issues/>
1
0
Author: vjrj_
Date: 2011-09-07 10:45:51 +0200 (Wed, 07 Sep 2011)
New Revision: 1511
Modified:
trunk/INSTALL
Log:
INSTALL fix by Roberto Arag?\195?\179n robarago aT gmail DoT com, thanks indeed
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2011-09-05 22:45:28 UTC (rev 1510)
+++ trunk/INSTALL 2011-09-07 08:45:51 UTC (rev 1511)
@@ -130,7 +130,7 @@
===Connecting to the server===
-Open your browser and connect to http://yourIP:8080/kune
+Open your browser and connect to http://localhost:8888/ws/
==Production environment instructions==
1
0