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
r1808 - in trunk/src/main/java: cc/kune/core/public cc/kune/core/server/manager/file cc/kune/gspace/client/actions cc/kune/gspace/client/armor/resources com/google/wave/splash/web/template
by Vicente J. Ruiz Jurado 30 Mar '12
by Vicente J. Ruiz Jurado 30 Mar '12
30 Mar '12
Author: vjrj_
Date: 2012-03-30 15:12:37 +0200 (Fri, 30 Mar 2012)
New Revision: 1808
Modified:
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java
trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css
trunk/src/main/java/com/google/wave/splash/web/template/Templates.java
Log:
Some path fix, and a css fix.
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-30 11:26:03 UTC (rev 1807)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-30 13:12:37 UTC (rev 1808)
@@ -896,6 +896,11 @@
padding: 0 2px;
}
+
+button.k-btn-go-up {
+ margin-right: 5px;
+}
+
.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover,button.gwt-Button:hover
{
border: 1px orange solid;
@@ -1592,4 +1597,5 @@
right: 0 !important;
top: 0 !important;
width: auto !important;
-}
\ No newline at end of file
+}
+
Modified: trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java 2012-03-30 11:26:03 UTC (rev 1807)
+++ trunk/src/main/java/cc/kune/core/server/manager/file/FileDownloadManagerUtils.java 2012-03-30 13:12:37 UTC (rev 1808)
@@ -79,8 +79,8 @@
InputStream in = null;
File icon = null;
for (final String path : resourceBases) {
- final String fileName = path + (path.endsWith(File.separator) ? "" : File.separator) + filename;
- final File file = new File(fileName);
+ final String pathAndfilename = path + (path.endsWith(File.separator) ? "" : File.separator) + filename;
+ final File file = new File(pathAndfilename);
if (file.exists()) {
icon = file;
break;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2012-03-30 11:26:03 UTC (rev 1807)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2012-03-30 13:12:37 UTC (rev 1808)
@@ -71,7 +71,7 @@
final CoreResources res, final Session session, final String typeRoot) {
super(action);
this.withToolTip(i18n.t("Go up: Open the container folder")).withIcon(res.folderGoUp()).withStyles(
- "k-btn-min, k-fl");
+ "k-btn-min, k-fl, k-btn-go-up");
this.withId(GO_PARENT_ID);
final StateAbstractDTO state = session.getCurrentState();
if (!session.isCurrentStateAContent()) {
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css 2012-03-30 11:26:03 UTC (rev 1807)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css 2012-03-30 13:12:37 UTC (rev 1808)
@@ -167,7 +167,7 @@
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
- padding: 1px 7px 0 7px;
+ padding: 3px 7px 0 5px;
overflow: hidden;
border-collapse: separate;
}
Modified: trunk/src/main/java/com/google/wave/splash/web/template/Templates.java
===================================================================
--- trunk/src/main/java/com/google/wave/splash/web/template/Templates.java 2012-03-30 11:26:03 UTC (rev 1807)
+++ trunk/src/main/java/com/google/wave/splash/web/template/Templates.java 2012-03-30 13:12:37 UTC (rev 1808)
@@ -21,6 +21,7 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentMap;
import java.util.logging.Logger;
@@ -31,6 +32,7 @@
import org.mvel2.templates.TemplateCompiler;
import org.mvel2.templates.TemplateRuntime;
import org.mvel2.templates.util.TemplateTools;
+import org.waveprotocol.box.server.CoreSettings;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
@@ -38,6 +40,7 @@
import com.google.common.collect.Maps;
import com.google.inject.Inject;
import com.google.inject.Singleton;
+import com.google.inject.name.Named;
import com.google.wave.splash.text.Markup;
/**
@@ -55,13 +58,13 @@
private static final Logger LOG = Logger.getLogger(Templates.class.getName());
public static final String MOBILE_TEMPLATE = "mobile_client.html";
public static final String PERMALINK_WAVE_TEMPLATE = "permalink_client.html";
-
+ private static final String TEMPLATES_LOCATION = "others/splash/";
public static final String WAVE_NOT_FOUND_TEMPLATE = "wave_not_found.html.fragment";
private final Markup markup;
+ private String prefix;
private final boolean productionMode = true;
-
/**
* file name of template -> compiled template lazy cache.
*/
@@ -73,8 +76,19 @@
});
@Inject
- public Templates(final Markup markup) {
+ public Templates(final Markup markup,
+ @Named(CoreSettings.RESOURCE_BASES) final List<String> resourceBases) {
this.markup = markup;
+ for (final String path : resourceBases) {
+ final String prefix = path + (path.endsWith(File.separator) ? "" : File.separator);
+ final String pathAndfilename = prefix + TEMPLATES_LOCATION + Templates.BLIP_TEMPLATE;
+ final File file = new File(pathAndfilename);
+ if (file.exists()) {
+ this.prefix = prefix;
+ break;
+ }
+ }
+ Preconditions.checkArgument(prefix != null, "Could not find templates");
}
private CompiledTemplate loadTemplate(final String template) {
@@ -109,8 +123,7 @@
FileInputStream stream = null;
try {
- stream = new FileInputStream(new File((productionMode ? "/usr/share/kune/webapp"
- : "src/main/webapp") + "/others/splash/" + file));
+ stream = new FileInputStream(new File(prefix + TEMPLATES_LOCATION + file));
} catch (final FileNotFoundException e) {
LOG.info("Could not find resource named: " + file);
}
1
0
Author: vjrj_
Date: 2012-03-30 13:26:03 +0200 (Fri, 30 Mar 2012)
New Revision: 1807
Added:
trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCache.java
trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCacheClearDailyJob.java
trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java
trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java
trunk/src/main/java/cc/kune/core/server/persist/ClearCacheDailyJob.java
trunk/src/main/java/cc/kune/events/client/actions/NewEventBtn.java
trunk/src/main/java/cc/kune/events/server/utils/EventsCache.java
trunk/src/main/java/cc/kune/events/server/utils/EventsCacheClearDailyJob.java
trunk/src/test/java/cc/kune/core/server/manager/impl/SocialNetworkCacheTest.java
trunk/src/test/java/cc/kune/events/server/utils/EventsCacheTest.java
Removed:
trunk/src/main/java/cc/kune/events/client/actions/NewMeetingBtn.java
Modified:
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/LoggerMethodInterceptor.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/core/server/rpc/RPC.java
trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/cc/kune/domain/Container.java
trunk/src/main/java/cc/kune/domain/Content.java
trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java
trunk/src/main/java/cc/kune/events/server/EventsServerTool.java
trunk/src/main/java/cc/kune/events/server/EventsServlet.java
trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java
trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
Log:
CLOSED - # 228: Add more caches to server side objects
http://kune.ourproject.org/issues/ticket/228
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-30 11:26:03 UTC (rev 1807)
@@ -536,7 +536,7 @@
/* tooltips, adaptation of http://jonrohan.me/guide/css/creating-triangles-in-css/ */
.k-tooltip {
background-color: #FEFFF1;
- border: 2px solid #666666;
+ border: 1px solid #666666;
line-height: 1.3em;
padding: 5px;
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-30 11:26:03 UTC (rev 1807)
@@ -1,18 +1,22 @@
-GCHARSET "UTF-8 "; body {
+GCHARSET "UTF-8 "; body
+ {
background-color: transparent;
color: black;
- font-family: "Ubuntu Beta",UbuntuBeta,Ubuntu,"Bitstream Vera Sans","DejaVu Sans",Tahoma,sans-serif;
+ font-family: "Ubuntu Beta", UbuntuBeta, Ubuntu, "Bitstream Vera Sans",
+ "DejaVu Sans", Tahoma, sans-serif;
font-size: small;
margin: 5px;
overflow: hidden;
}
* {
- font-family: "Ubuntu Beta",UbuntuBeta,Ubuntu,"Bitstream Vera Sans","DejaVu Sans",Tahoma,sans-serif;
+ font-family: "Ubuntu Beta", UbuntuBeta, Ubuntu, "Bitstream Vera Sans",
+ "DejaVu Sans", Tahoma, sans-serif;
}
body.fontface {
- font-family: "Ubuntu Beta",UbuntuBeta,Ubuntu,"Bitstream Vera Sans","DejaVu Sans",Tahoma,sans-serif;
+ font-family: "Ubuntu Beta", UbuntuBeta, Ubuntu, "Bitstream Vera Sans",
+ "DejaVu Sans", Tahoma, sans-serif;
}
div,span {
@@ -58,7 +62,7 @@
}
.gwt-Tree {
-
+
}
.gwt-Tree .gwt-TreeItem {
@@ -85,7 +89,7 @@
}
.gwt-StackPanel .gwt-StackPanelItem-selected {
-
+
}
.gwt-PushButton-up {
@@ -267,7 +271,7 @@
}
.gwt-SplitLayoutPanel {
-
+
}
.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger,.gwt-SplitLayoutPanel-HDragger
@@ -351,7 +355,7 @@
}
.x-btn button,button { /* font: 18px/27px 'Ubuntu', arial; */
-
+
}
.x-panel-mc {
@@ -376,11 +380,11 @@
}
div div.siteBar table.k-sitebar img.k-iconlabel-left {
- margin: 0px !important;
+ margin: 0px !important;
}
div div.siteBar table.k-sitebar div.k-iconlabel-left {
- margin: 0px !important;
+ margin: 0px !important;
}
.k-sitebar-wave-status {
@@ -394,7 +398,7 @@
}
.k-sitebar-wave-status {
-
+
}
.k-sitebar-wave-status-online {
@@ -415,7 +419,7 @@
}
.k-sitebar { /* margin-top: -30px; */
-
+
}
.k-link {
@@ -702,7 +706,7 @@
-moz-opacity: 0.68 !important;
-khtml-opacity: 0.68 !important;
opacity: 0.68 !important;*/
-
+
}
.k-publicspace-panel {
@@ -792,7 +796,8 @@
.x-fieldset-header-text,.x-form-group-label,.x-form-cb-label {
font-size: 14px;
- font-family: "Ubuntu Beta",UbuntuBeta,Ubuntu,"Bitstream Vera Sans","DejaVu Sans",Tahoma,sans-serif;
+ font-family: "Ubuntu Beta", UbuntuBeta, Ubuntu, "Bitstream Vera Sans",
+ "DejaVu Sans", Tahoma, sans-serif;
}
.k-form-intro {
@@ -851,7 +856,7 @@
}
.k-sn-adminslabel {
-
+
}
.k-sn-mainpanel .k-basic-thumb {
@@ -871,6 +876,7 @@
cursor: pointer;
margin: 0;
text-decoration: none;
+ background: url("images/hborder.png") repeat-x 0px -27px;
background-color: #F2F2F2;
color: #A05A2C;
-webkit-border-radius: 5px;
@@ -883,10 +889,10 @@
width: 50px;
min-width: 40px;
height: 26px;
+ text-shadow: 1px 1px 1px #FFFFFF;
}
-button.k-button
-{
+button.k-button {
padding: 0 2px;
}
@@ -894,7 +900,6 @@
{
border: 1px orange solid;
outline: 0 none;
- /* background: #f0f0f0; */
}
.k-sn-mainpanel .x-btn button:hover span,.k-sn-mainpanel button:hover span,button.k-button:hover span
@@ -961,8 +966,8 @@
color: gray !important;
border-color: #CCCCCC !important;
background: inherits !important;
- kfilter: alpha(opacity =
- 50) !important;
+ kfilter: alpha(opacity =
+ 50) !important;
-moz-opacity: 0.50 !important;
-khtml-opacity: 0.50 !important;
opacity: 0.50 !important;
@@ -976,12 +981,13 @@
}
/* end buttons */
+
.k-sn-collabslabel {
-
+
}
.k-sn-pendingslabel {
-
+
}
.k-sn-orphan-label {
@@ -999,15 +1005,15 @@
}
.k-sn-2nd-spanel {
-
+
}
.k-sn-3rd-panel {
-
+
}
.k-sn-adminsscroll,.k-sn-collabsscroll,.k-sn-pendingsscroll {
-
+
}
.k-sn-adminsflow,.k-sn-collabsflow,.k-sn-pendingsflow {
@@ -1015,15 +1021,15 @@
}
.k-sn-adminsscroll {
-
+
}
.k-sn-collabsscroll {
-
+
}
.k-sn-pendingsscroll {
-
+
}
.k-userconfirm-label {
@@ -1032,7 +1038,7 @@
}
.k-sn-deck {
-
+
}
.k-sn-bottomPanel {
@@ -1183,7 +1189,7 @@
}
.k-tool-panel {
-
+
}
.k-tool-item {
@@ -1193,19 +1199,19 @@
}
.k-tool-item-focus {
-
+
}
.k-tool-item-nofocus {
-
+
}
.k-tool-item-selected {
-
+
}
.k-tool-item-notselected {
-
+
}
.k-def-docbtn span {
@@ -1254,8 +1260,8 @@
-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;
@@ -1310,7 +1316,7 @@
/* Decorated tabbar */
.gwt-DecoratedTabBar {
-
+
}
.gwt-DecoratedTabBar .gwt-TabBarFirst {
@@ -1318,7 +1324,7 @@
}
.gwt-DecoratedTabBar .gwt-TabBarRest {
-
+
}
.gwt-DecoratedTabBar .gwt-TabBarItem {
@@ -1586,6 +1592,4 @@
right: 0 !important;
top: 0 !important;
width: auto !important;
-}
-
-
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/server/LoggerMethodInterceptor.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/LoggerMethodInterceptor.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/LoggerMethodInterceptor.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -19,6 +19,8 @@
*/
package cc.kune.core.server;
+import java.util.Date;
+
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log;
@@ -26,99 +28,103 @@
public class LoggerMethodInterceptor implements MethodInterceptor {
- private static final Log LOG = LogFactory.getLog(LoggerMethodInterceptor.class);
- private final boolean simplifyNames;
+ private static final Log LOG = LogFactory.getLog(LoggerMethodInterceptor.class);
+ private final boolean simplifyNames;
- public LoggerMethodInterceptor() {
- this(true);
- }
+ public LoggerMethodInterceptor() {
+ this(true);
+ }
- public LoggerMethodInterceptor(final boolean simplifyNames) {
- this.simplifyNames = simplifyNames;
- }
+ public LoggerMethodInterceptor(final boolean simplifyNames) {
+ this.simplifyNames = simplifyNames;
+ }
- private void addMethodName(final MethodInvocation invocation, final StringBuffer buffer) {
- buffer.append(".");
- buffer.append(invocation.getMethod().getName());
- }
+ private void addMethodName(final MethodInvocation invocation, final StringBuffer buffer) {
+ buffer.append(".");
+ buffer.append(invocation.getMethod().getName());
+ }
- private void addMethodParameters(final MethodInvocation invocation, final StringBuffer buffer) {
- buffer.append("(");
- final Object[] arguments = invocation.getArguments();
- for (final Object arg : arguments) {
- buffer.append(getValue(arg)).append(", ");
- }
- buffer.append(")");
+ private void addMethodParameters(final MethodInvocation invocation, final StringBuffer buffer) {
+ buffer.append("(");
+ final Object[] arguments = invocation.getArguments();
+ for (final Object arg : arguments) {
+ buffer.append(getValue(arg)).append(", ");
}
+ buffer.append(")");
+ }
- private void addTargetClassName(final MethodInvocation invocation, final StringBuffer buffer) {
- buffer.append(getSimpleName(invocation.getThis().getClass()));
- }
+ private void addTargetClassName(final MethodInvocation invocation, final StringBuffer buffer) {
+ buffer.append(getSimpleName(invocation.getThis().getClass()));
+ }
- private StringBuffer createBuffer(final MethodInvocation invocation) {
- final StringBuffer buffer = new StringBuffer();
- addTargetClassName(invocation, buffer);
- return buffer;
- }
+ private StringBuffer createBuffer(final MethodInvocation invocation) {
+ final StringBuffer buffer = new StringBuffer();
+ addTargetClassName(invocation, buffer);
+ return buffer;
+ }
- private String getSimpleName(final Class<? extends Object> type) {
- String simpleName = type.getSimpleName();
- if (simplifyNames == true) {
- final int index = simpleName.indexOf('$');
- if (index > 0) {
- simpleName = simpleName.substring(0, index);
- }
- }
- return simpleName;
+ private String getSimpleName(final Class<? extends Object> type) {
+ String simpleName = type.getSimpleName();
+ if (simplifyNames == true) {
+ final int index = simpleName.indexOf('$');
+ if (index > 0) {
+ simpleName = simpleName.substring(0, index);
+ }
}
+ return simpleName;
+ }
- private String getValue(final Object result) {
- if (result == null) {
- return "null";
- } else {
- return result.toString();
- }
+ private String getValue(final Object result) {
+ if (result == null) {
+ return "null";
+ } else {
+ return result.toString();
}
+ }
- @Override
- public Object invoke(final MethodInvocation invocation) throws Throwable {
- logInvocation(invocation);
- try {
- final Object result = invocation.proceed();
- logResult(invocation, result);
- return result;
- } catch (final Exception e) {
- logException(invocation, e);
- throw e;
- }
+ @Override
+ public Object invoke(final MethodInvocation invocation) throws Throwable {
+ final Date start = new Date();
+ logInvocation(invocation);
+ try {
+ final Object result = invocation.proceed();
+ logResult(invocation, result, (new Date()).getTime() - start.getTime());
+ return result;
+ } catch (final Exception e) {
+ logException(invocation, e);
+ throw e;
}
+ }
- protected void log(final String output) {
- LOG.debug(output);
- }
+ protected void log(final String output) {
+ LOG.debug(output);
+ }
- protected void logException(final MethodInvocation invocation, final Throwable e) {
- final StringBuffer buffer = createBuffer(invocation);
- addMethodName(invocation, buffer);
- buffer.append(" EXCEPTION => ").append(e.getClass()).append(": ").append(
- e.getCause() != null ? e.getCause() : "").append(e.getMessage() != null ? e.getMessage() : "");
- log(buffer.toString());
- }
+ protected void logException(final MethodInvocation invocation, final Throwable e) {
+ final StringBuffer buffer = createBuffer(invocation);
+ addMethodName(invocation, buffer);
+ buffer.append(" EXCEPTION => ").append(e.getClass()).append(": ").append(
+ e.getCause() != null ? e.getCause() : "").append(e.getMessage() != null ? e.getMessage() : "");
+ log(buffer.toString());
+ }
- protected void logInvocation(final MethodInvocation invocation) {
- final StringBuffer buffer = createBuffer(invocation);
- addMethodName(invocation, buffer);
- addMethodParameters(invocation, buffer);
- log(buffer.toString());
- }
+ protected void logInvocation(final MethodInvocation invocation) {
+ final StringBuffer buffer = createBuffer(invocation);
+ addMethodName(invocation, buffer);
+ addMethodParameters(invocation, buffer);
+ log(buffer.toString());
+ }
- protected void logResult(final MethodInvocation invocation, final Object result) {
- final StringBuffer buffer = createBuffer(invocation);
- addMethodName(invocation, buffer);
- if (invocation.getMethod().getReturnType() != null) {
- buffer.append(" => ");
- buffer.append(getValue(result));
- }
- log(buffer.toString());
+ protected void logResult(final MethodInvocation invocation, final Object result, final long mill) {
+ final StringBuffer buffer = createBuffer(invocation);
+ addMethodName(invocation, buffer);
+ if (invocation.getMethod().getReturnType() != null) {
+ buffer.append(" => ");
+ buffer.append(getValue(result));
+ buffer.append(", time consumed: ");
+ buffer.append(mill);
+ buffer.append("ms");
}
+ log(buffer.toString());
+ }
}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -60,6 +60,7 @@
import cc.kune.core.server.utils.FilenameUtils;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.domain.RateResult;
+import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.SocialNetworkSubGroup;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
@@ -72,6 +73,8 @@
import cc.kune.domain.finders.ContentFinder;
import cc.kune.domain.finders.I18nLanguageFinder;
import cc.kune.domain.finders.UserFinder;
+import cc.kune.events.server.utils.EventsCache;
+import cc.kune.events.shared.EventsToolConstants;
import cc.kune.wave.server.KuneWaveServerUtils;
import cc.kune.wave.server.ParticipantUtils;
import cc.kune.wave.server.kspecific.KuneWaveService;
@@ -84,6 +87,7 @@
public class ContentManagerDefault extends DefaultManager<Content, Long> implements ContentManager {
private final ContainerFinder containerFinder;
private final ContentFinder contentFinder;
+ private final EventsCache eventsCache;
private final FinderService finder;
private final I18nTranslationService i18n;
private final KuneWaveService kuneWaveManager;
@@ -101,7 +105,8 @@
final FinderService finder, final UserFinder userFinder, final I18nLanguageFinder languageFinder,
final TagUserContentManager tagManager, final KuneWaveService kuneWaveManager,
final ParticipantUtils participantUtils, final ServerToolRegistry tools,
- final XMLActionReader xmlActionReader, final I18nTranslationService i18n) {
+ final XMLActionReader xmlActionReader, final I18nTranslationService i18n,
+ final EventsCache eventsCache) {
super(provider, Content.class);
this.contentFinder = contentFinder;
this.containerFinder = containerFinder;
@@ -114,6 +119,7 @@
this.tools = tools;
this.xmlActionReader = xmlActionReader;
this.i18n = i18n;
+ this.eventsCache = eventsCache;
}
@Override
@@ -176,6 +182,16 @@
return addParticipants(user, content, members.toArray(new String[members.size()]));
}
+ private void clearEventsCacheIfNecessary(final Container previousParent) {
+ if (previousParent.getToolName().equals(EventsToolConstants.NAME)) {
+ eventsCache.remove(previousParent);
+ }
+ }
+
+ private void clearEventsCacheIfNecessary(final StateToken token) {
+ clearEventsCacheIfNecessary(finder.getContainer(token.getFolder()));
+ }
+
@Override
public Content copyContent(final User user, final Container destination, final Content contentToCopy) {
try {
@@ -304,6 +320,7 @@
oldContainer.removeContent(content);
newContainer.addContent(content);
content.setContainer(newContainer);
+ clearEventsCacheIfNecessary(oldContainer);
return persist(content);
}
@@ -351,6 +368,7 @@
getContentAuthor(content));
}
setModifiedTime(content);
+ clearEventsCacheIfNecessary(content.getContainer());
return content;
}
@@ -413,6 +431,9 @@
public void setGadgetProperties(final User user, final Content content, final String gadgetName,
final Map<String, String> properties) {
final URL gadgetUrl = getGadgetUrl(gadgetName);
+ if (gadgetName.equals(EventsToolConstants.TYPE_MEETING_DEF_GADGETNAME)) {
+ eventsCache.remove(content.getContainer());
+ }
kuneWaveManager.setGadgetProperty(KuneWaveServerUtils.getWaveRef(content),
getContentAuthor(content), gadgetUrl, properties);
}
Added: trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCache.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCache.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCache.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,99 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.manager.impl;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import cc.kune.common.shared.utils.Pair;
+import cc.kune.core.server.LogThis;
+import cc.kune.core.server.persist.CachedCollection;
+import cc.kune.domain.Group;
+import cc.kune.domain.SocialNetworkData;
+import cc.kune.domain.User;
+
+import com.google.inject.Singleton;
+
+/**
+ * The Class SocialNetworkCache create a cache for maker faster the retrieve of
+ * the SN of a user
+ */
+@LogThis
+@Singleton
+public class SocialNetworkCache extends CachedCollection<Pair<User, Group>, SocialNetworkData> {
+ public static final Log LOG = LogFactory.getLog(SocialNetworkCache.class);
+
+ /** The expired groups. */
+ private final Set<Group> expiredGroups;
+
+ /**
+ * Instantiates a new social network cache.
+ */
+ public SocialNetworkCache() {
+ super(100);
+ expiredGroups = Collections.synchronizedSet(new HashSet<Group>());
+ }
+
+ /**
+ * Adds a group which SN is modified, so we should not use the cache for that.
+ *
+ * @param group
+ * the group
+ */
+ public void expire(final Group group) {
+ expiredGroups.add(group);
+ }
+
+ /**
+ * Gets the SN of some user/group from the cache if available
+ *
+ * @param user
+ * the user
+ * @param group
+ * the group
+ * @return the social network data
+ */
+ public SocialNetworkData get(final User user, final Group group) {
+ final Pair<User, Group> pair = Pair.create(user, group);
+ if (expiredGroups.contains(group)) {
+ // TODO Do this in a cron job
+ final Iterator<Pair<User, Group>> iterator = super.keySet().iterator();
+ while (iterator.hasNext()) {
+ if (iterator.next().right.equals(group)) {
+ iterator.remove();
+ }
+ }
+ expiredGroups.remove(group);
+ LOG.debug("Not returning expired SN info");
+ return null;
+ }
+ return super.get(pair);
+ }
+
+ public Object put(final User user, final Group group, final SocialNetworkData data) {
+ return super.put(Pair.create(user, group), data);
+ }
+}
Added: trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCacheClearDailyJob.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCacheClearDailyJob.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkCacheClearDailyJob.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,40 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.manager.impl;
+
+import java.text.ParseException;
+
+import org.quartz.SchedulerException;
+
+import cc.kune.core.server.persist.ClearCacheDailyJob;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class SocialNetworkCacheClearDailyJob extends ClearCacheDailyJob {
+
+ @Inject
+ public SocialNetworkCacheClearDailyJob(final SocialNetworkCache cache) throws ParseException, SchedulerException {
+ super(cache);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/SocialNetworkManagerDefault.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -23,6 +23,9 @@
import javax.persistence.EntityManager;
+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.AlreadyGroupMemberException;
import cc.kune.core.client.errors.AlreadyUserMemberException;
@@ -57,19 +60,22 @@
@Singleton
public class SocialNetworkManagerDefault extends DefaultManager<SocialNetwork, Long> implements
SocialNetworkManager {
+ public static final Log LOG = LogFactory.getLog(SocialNetworkManagerDefault.class);
private final AccessRightsService accessRightsService;
private final GroupFinder finder;
+ private final SocialNetworkCache snCache;
private final UserManager userManager;
@Inject
public SocialNetworkManagerDefault(@DataSourceKune final Provider<EntityManager> provider,
final GroupFinder finder, final AccessRightsService accessRightsService,
- final UserManager userManager) {
+ final UserManager userManager, final SocialNetworkCache snCache) {
super(provider, SocialNetwork.class);
this.finder = finder;
this.accessRightsService = accessRightsService;
this.userManager = userManager;
+ this.snCache = snCache;
}
@Override
@@ -81,6 +87,7 @@
if (pendingCollabs.contains(group)) {
sn.addCollaborator(group);
sn.removePendingCollaborator(group);
+ snCache.expire(inGroup);
} else {
throw new DefaultException("User is not a pending collaborator");
}
@@ -89,6 +96,7 @@
void addAdmin(final User newAdmin, final Group group) {
final SocialNetwork sn = group.getSocialNetwork();
sn.addAdmin(newAdmin.getUserGroup());
+ snCache.expire(group);
}
@Override
@@ -102,6 +110,7 @@
if (sn.isPendingCollab(group)) {
sn.removePendingCollaborator(group);
}
+ snCache.expire(inGroup);
}
@Override
@@ -115,6 +124,7 @@
if (sn.isPendingCollab(group)) {
sn.removePendingCollaborator(group);
}
+ snCache.expire(inGroup);
}
@Override
@@ -128,6 +138,7 @@
if (sn.isPendingCollab(group)) {
sn.removePendingCollaborator(group);
}
+ snCache.expire(inGroup);
}
private void checkGroupAddingToSelf(final Group group, final Group inGroup) throws DefaultException {
@@ -157,6 +168,7 @@
checkUserLoggedIsAdmin(userLogged, sn);
unJoinGroup(group, inGroup);
+ snCache.expire(inGroup);
}
@Override
@@ -170,6 +182,7 @@
} else {
throw new DefaultException("Person/Group is not a pending collaborator");
}
+ snCache.expire(inGroup);
}
@Override
@@ -202,10 +215,16 @@
public SocialNetworkData getSocialNetworkData(final User userLogged, final Group group) {
final SocialNetworkData socialNetData = new SocialNetworkData();
socialNetData.setGroupMembers(get(userLogged, group));
+
+ final SocialNetworkData cached = snCache.get(userLogged, group);
+ if (cached != null) {
+ LOG.debug("Returning cached SN");
+ return cached;
+ }
final AccessRights groupRights = accessRightsService.get(userLogged, group.getAccessLists());
socialNetData.setGroupRights(groupRights);
socialNetData.setUserParticipation(findParticipation(userLogged, group));
- socialNetData.setGroupMembers(get(userLogged, group));
+ // socialNetData.setGroupMembers(get(userLogged, group));
if (group.isPersonal()) {
final UserBuddiesData userBuddies = userManager.getUserBuddies(group.getShortName());
final User userGroup = userManager.findByShortname(group.getShortName());
@@ -253,6 +272,7 @@
socialNetData.setSocialNetworkVisibility(visibility);
socialNetData.setUserBuddies(UserBuddiesData.EMPTY);
}
+ snCache.put(userLogged, group, socialNetData);
return socialNetData;
}
@@ -287,6 +307,7 @@
checkGroupIsNotAlreadyAMember(userGroup, sn);
if (isModerated(admissionType)) {
sn.addPendingCollaborator(userGroup);
+ snCache.expire(inGroup);
return SocialNetworkRequestResult.moderated;
} else if (isOpen(admissionType)) {
if (inGroup.getGroupType().equals(GroupType.ORPHANED_PROJECT)) {
@@ -297,6 +318,7 @@
} else {
sn.addCollaborator(userGroup);
}
+ snCache.expire(inGroup);
return SocialNetworkRequestResult.accepted;
} else if (isClosed(admissionType)) {
return SocialNetworkRequestResult.denied;
@@ -316,6 +338,7 @@
}
sn.removeAdmin(group);
sn.addCollaborator(group);
+ snCache.expire(inGroup);
} else {
throw new InvalidSNOperationException("Person/Group is not an admin");
}
@@ -327,6 +350,7 @@
final SocialNetwork sn = inGroup.getSocialNetwork();
checkUserLoggedIsAdmin(userLogged, sn);
if (sn.isCollab(group)) {
+ snCache.expire(inGroup);
sn.removeCollaborator(group);
sn.addAdmin(group);
} else {
@@ -351,12 +375,15 @@
if (sn.getAccessLists().getEditors().getList().size() > 0) {
throw new LastAdminInGroupException();
} else {
+ snCache.expire(inGroup);
inGroup.setGroupType(GroupType.ORPHANED_PROJECT);
inGroup.setAdmissionType(AdmissionType.Open);
}
}
+ snCache.expire(inGroup);
sn.removeAdmin(groupToUnJoin);
} else if (sn.isCollab(groupToUnJoin)) {
+ snCache.expire(inGroup);
sn.removeCollaborator(groupToUnJoin);
} else {
throw new DefaultException("Person/Group is not a collaborator");
Added: trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/persist/CachedCollection.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,114 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.persist;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.collections.map.LRUMap;
+
+/**
+ * The Class CachedCollection implements some custom cache for often accessed
+ * (and costly) objects
+ *
+ * @param <K>
+ * the key type
+ * @param <V>
+ * the value type
+ */
+public class CachedCollection<K, V> implements Map<K, V> {
+
+ /** The cache. */
+ // private final Map<K, V> cache;
+ private final Map cache;
+
+ /**
+ * Instantiates a new cached collection.
+ *
+ * @param size
+ * the size of the cache
+ */
+ public CachedCollection(final int size) {
+ cache = Collections.synchronizedMap(new LRUMap(size));
+ }
+
+ @Override
+ public void clear() {
+ cache.clear();
+ }
+
+ @Override
+ public boolean containsKey(final Object key) {
+ return cache.containsKey(key);
+ }
+
+ @Override
+ public boolean containsValue(final Object value) {
+ return cache.containsKey(value);
+ }
+
+ @Override
+ public Set<java.util.Map.Entry<K, V>> entrySet() {
+ return cache.entrySet();
+ }
+
+ @Override
+ public V get(final Object key) {
+ return (V) cache.get(key);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ }
+
+ @Override
+ public Set<K> keySet() {
+ return cache.keySet();
+ }
+
+ @Override
+ public Object put(final Object key, final Object value) {
+ return cache.put(key, value);
+ }
+
+ @Override
+ public void putAll(final Map<? extends K, ? extends V> m) {
+ cache.putAll(m);
+ }
+
+ @Override
+ public V remove(final Object key) {
+ return (V) cache.remove(key);
+ }
+
+ @Override
+ public int size() {
+ return cache.size();
+ }
+
+ @Override
+ public Collection<V> values() {
+ return cache.values();
+ }
+}
Added: trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/persist/CachedCollectionTest.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,54 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.persist;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class CachedCollectionTest {
+
+ private CachedCollection<String, String> cache;
+
+ @Before
+ public void before() {
+ cache = new CachedCollection<String, String>(2);
+ }
+
+ @Test
+ public void testBasicSize() {
+ assertTrue(cache.size() == 0);
+ final String first = "1";
+ cache.put(first, "1b");
+ final String snd = "2";
+ cache.put(snd, "2b");
+ final String third = "3";
+ cache.put(third, "3b");
+ assertNull(cache.get(first));
+ assertNotNull(cache.get(snd));
+ assertNotNull(cache.get(third));
+ assertTrue(cache.size() == 2);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/server/persist/ClearCacheDailyJob.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/ClearCacheDailyJob.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/persist/ClearCacheDailyJob.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,46 @@
+/*
+ *
+ * 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.persist;
+
+import java.text.ParseException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.quartz.SchedulerException;
+
+public abstract class ClearCacheDailyJob implements Job {
+
+ public static final Log LOG = LogFactory.getLog(ClearCacheDailyJob.class);
+ private final CachedCollection cache;
+
+ public ClearCacheDailyJob(final CachedCollection cache) throws ParseException, SchedulerException {
+ this.cache = cache;
+ }
+
+ @Override
+ public void execute(final JobExecutionContext context) throws JobExecutionException {
+ LOG.info("Daily cache clear");
+ cache.clear();
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -35,6 +35,7 @@
import cc.kune.core.client.errors.NoDefaultContentException;
import cc.kune.core.client.errors.ToolNotFoundException;
import cc.kune.core.client.rpcservices.ContentService;
+import cc.kune.core.server.LogThis;
import cc.kune.core.server.UserSessionManager;
import cc.kune.core.server.access.AccessRightsService;
import cc.kune.core.server.access.AccessService;
@@ -74,16 +75,19 @@
import cc.kune.domain.Content;
import cc.kune.domain.Group;
import cc.kune.domain.User;
+import cc.kune.events.server.utils.EventsCache;
import cc.kune.trash.shared.TrashToolConstants;
import com.google.inject.Inject;
+@LogThis
public class ContentRPC implements ContentService, RPC {
private final AccessService accessService;
private final ChatManager chatManager;
private final ContainerManager containerManager;
private final ContentManager contentManager;
private final CreationService creationService;
+ private final EventsCache eventsCache;
private final FinderService finderService;
private final GroupManager groupManager;
private final Mapper mapper;
@@ -99,7 +103,8 @@
final StateService stateService, final CreationService creationService,
final GroupManager groupManager, final ContentManager contentManager,
final ContainerManager containerManager, final TagUserContentManager tagManager,
- final Mapper mapper, final ChatManager chatManager, final KuneWaveManager waveManager) {
+ final Mapper mapper, final ChatManager chatManager, final KuneWaveManager waveManager,
+ final EventsCache eventsCache) {
this.finderService = finderService;
this.userSession = userSession;
this.accessService = accessService;
@@ -113,6 +118,7 @@
this.mapper = mapper;
this.chatManager = chatManager;
this.waveManager = waveManager;
+ this.eventsCache = eventsCache;
}
@Override
@@ -274,7 +280,6 @@
}
final Container trash = containerManager.getTrashFolder(group);
return moveContent(userHash, token, trash.getStateToken());
- // return getState(getCurrentUser(), previousParent);
}
@Override
Modified: trunk/src/main/java/cc/kune/core/server/rpc/RPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/RPC.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/rpc/RPC.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -19,8 +19,6 @@
*/
package cc.kune.core.server.rpc;
-import cc.kune.core.server.LogThis;
-
import com.google.inject.Singleton;
/**
@@ -37,7 +35,6 @@
*
*/
@Singleton
-@LogThis
public interface RPC {
}
Modified: trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -35,11 +35,13 @@
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
+import cc.kune.core.server.manager.impl.SocialNetworkCacheClearDailyJob;
import cc.kune.core.server.notifier.ClearUpdatedWavesHourlyJob;
import cc.kune.core.server.notifier.PendingNotificationDailyJob;
import cc.kune.core.server.notifier.PendingNotificationHourlyJob;
import cc.kune.core.server.notifier.PendingNotificationImmediateJob;
import cc.kune.core.server.rack.ContainerListener;
+import cc.kune.events.server.utils.EventsCacheClearDailyJob;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -78,6 +80,8 @@
scheduleJob(PendingNotificationHourlyJob.class, "0 0 * * * ?", "pendingnotifhourly");
scheduleJob(ClearUpdatedWavesHourlyJob.class, "0 0 * * * ?", "clearupdatedwaveshourly");
scheduleJob(PendingNotificationDailyJob.class, "0 5 0 * * ?", "pendingnotifdaily");
+ scheduleJob(EventsCacheClearDailyJob.class, "0 6 0 * * ?", "cleareventscachedaily");
+ scheduleJob(SocialNetworkCacheClearDailyJob.class, "0 6 0 * * ?", "clearcontentcachedaily");
} catch (final SchedulerException e) {
logError(e);
} catch (final ParseException e) {
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -146,14 +146,15 @@
state.setContentRights(rightsService.get(userLogged, content.getAccessLists()));
state.setAccessLists(content.getAccessLists());
setCommon(state, userLogged, group, container);
- if (userLogged != User.UNKNOWN_USER) {
- state.setCurrentUserRate(contentManager.getRateContent(userLogged, content));
- }
+ // if (userLogged != User.UNKNOWN_USER) {
+ // state.setCurrentUserRate(contentManager.getRateContent(userLogged,
+ // content));
+ // }
// FIXME: user RateResult
- final Double rateAvg = contentManager.getRateAvg(content);
- state.setRate(rateAvg != null ? rateAvg : 0D);
- final Long rateByUsers = contentManager.getRateByUsers(content);
- state.setRateByUsers(rateByUsers != null ? rateByUsers.intValue() : 0);
+ // final Double rateAvg = contentManager.getRateAvg(content);
+ // state.setRate(rateAvg != null ? rateAvg : 0D);
+ // final Long rateByUsers = contentManager.getRateByUsers(content);
+ // state.setRateByUsers(rateByUsers != null ? rateByUsers.intValue() : 0);
return state;
}
Modified: trunk/src/main/java/cc/kune/domain/Container.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Container.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/domain/Container.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -139,6 +139,28 @@
contents.add(descriptor);
}
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final Container other = (Container) obj;
+ if (id == null) {
+ if (other.id != null) {
+ return false;
+ }
+ } else if (!id.equals(other.id)) {
+ return false;
+ }
+ return true;
+ }
+
@Transient
public List<Container> getAbsolutePath() {
ArrayList<Container> path;
@@ -230,6 +252,14 @@
return accessLists != null;
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
+ return result;
+ }
+
@Transient
public boolean isLeaf() {
return childs.size() == 0 && contents.size() == 0;
Modified: trunk/src/main/java/cc/kune/domain/Content.java
===================================================================
--- trunk/src/main/java/cc/kune/domain/Content.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/domain/Content.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -139,6 +139,8 @@
@Version
private Integer version;
+ // TODO add index and also to debian package and liquibase
+ // @Index(name = "waveId")
private String waveId;
public Content() {
@@ -269,7 +271,8 @@
|| typeId.equals(TasksToolConstants.TYPE_TASK)
|| typeId.equals(ListsToolConstants.TYPE_POST)
|| typeId.equals(WikiToolConstants.TYPE_WIKIPAGE)
- || (typeId.equals(BlogsToolConstants.TYPE_POST) || typeId.equals(BartersToolConstants.TYPE_BARTER) || typeId.equals(EventsToolConstants.TYPE_MEETING));
+ || (typeId.equals(BlogsToolConstants.TYPE_POST)
+ || typeId.equals(BartersToolConstants.TYPE_BARTER) || typeId.equals(EventsToolConstants.TYPE_MEETING));
}
public void removeAuthor(final User user) {
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -52,7 +52,7 @@
@Inject
public EventsClientActions(final I18nUITranslationService i18n, final Session session,
final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
- final Provider<NewMeetingBtn> newMeetingsBtn, final Provider<GoParentFolderBtn> folderGoUp,
+ final Provider<NewEventBtn> newEventBtn, final Provider<GoParentFolderBtn> folderGoUp,
final Provider<OpenMeetingMenuItem> openContentMenuItem,
final Provider<DelMeetingMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
@@ -102,7 +102,7 @@
eventAddMenuItem.get();
eventRemoveMenuItem.get();
- actionsRegistry.addAction(ActionGroups.TOPBAR, newMeetingsBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newEventBtn, containers);
// For now, commented:
// actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem,
Copied: trunk/src/main/java/cc/kune/events/client/actions/NewEventBtn.java (from rev 1797, trunk/src/main/java/cc/kune/events/client/actions/NewMeetingBtn.java)
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/NewEventBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/events/client/actions/NewEventBtn.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -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.events.client.actions;
+
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.events.client.actions.EventAddMenuItem.EventAddAction;
+
+import com.google.inject.Inject;
+
+public class NewEventBtn extends ButtonDescriptor {
+
+ @Inject
+ public NewEventBtn(final I18nTranslationService i18n, final EventAddAction action,
+ final NavResources res, final GlobalShortcutRegister shorcutReg) {
+ super(i18n.t("New event"), action);
+ withIcon(res.calendarAdd()).withToolTip(i18n.t("Create a New Event"));
+ action.setOpenAfterCreation(true);
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/events/client/actions/NewMeetingBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/NewMeetingBtn.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/events/client/actions/NewMeetingBtn.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -1,40 +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.events.client.actions;
-
-import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
-import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
-import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.resources.nav.NavResources;
-import cc.kune.events.client.actions.EventAddMenuItem.EventAddAction;
-
-import com.google.inject.Inject;
-
-public class NewMeetingBtn extends ButtonDescriptor {
-
- @Inject
- public NewMeetingBtn(final I18nTranslationService i18n, final EventAddAction action,
- final NavResources res, final GlobalShortcutRegister shorcutReg) {
- super(i18n.t("New meeting"), action);
- withIcon(res.calendarAdd()).withToolTip(i18n.t("Create a New Meeting"));
- action.setOpenAfterCreation(true);
- }
-
-}
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -81,15 +81,8 @@
final TutorialViewer tutorialViewer) {
super(gsArmor, eventBus, i18n, capabilitiesRegistry, dragController, contentDropControllerProv,
containerDropControllerProv, tutorialViewer);
- final CalendarSettings settings = new CalendarSettings();
- settings.setIntervalsPerHour(4);
- settings.setPixelsPerInterval(10);
- // With Single is very annoying
- // settings.setTimeBlockClickNumber(Click.Single);
- // settings.setOffsetHourLabels(true);
- settings.setScrollToHour(8);
calendar = new Calendar();
- calendar.setSettings(settings);
+ calendar.setSettings(setCalendarSettings());
widget = calendar;
calendar.sinkEvents(Event.ONMOUSEDOWN | Event.ONDBLCLICK | Event.KEYEVENTS | Event.ONMOUSEOVER
| Event.ONCLICK);
@@ -171,6 +164,7 @@
@Override
public void attach() {
+ calendar.setSettings(setCalendarSettings());
super.attach();
gsArmor.enableCenterScroll(false);
}
@@ -246,6 +240,17 @@
calendar.resumeLayout();
}
+ private CalendarSettings setCalendarSettings() {
+ final CalendarSettings settings = new CalendarSettings();
+ settings.setIntervalsPerHour(4);
+ settings.setPixelsPerInterval(10);
+ // With Single is very annoying
+ // settings.setTimeBlockClickNumber(Click.Single);
+ // settings.setOffsetHourLabels(true);
+ settings.setScrollToHour(8);
+ return settings;
+ }
+
@Override
public void setDate(final Date date) {
calendar.setDate(date);
Modified: trunk/src/main/java/cc/kune/events/server/EventsServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/EventsServerTool.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/events/server/EventsServerTool.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -45,21 +45,24 @@
import cc.kune.domain.Content;
import cc.kune.domain.Group;
import cc.kune.domain.User;
+import cc.kune.events.server.utils.EventsCache;
import com.google.inject.Inject;
public class EventsServerTool extends AbstractServerTool implements ServerWaveTool {
private static final String MEETING_GADGET = "http://mass-mob.appspot.com/massmob/org.ourproject.massmob.client.MassmobGa…";
+ private final EventsCache eventsCache;
private final URL gadgetUrl;
@Inject
public EventsServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
- final CreationService creationService) {
+ final CreationService creationService, final EventsCache eventsCache) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_MEETING), Arrays.asList(TYPE_ROOT),
Collections.<String> emptyList(), Arrays.asList(TYPE_ROOT), contentManager, containerManager,
creationService, configurationManager, i18n, ServerToolTarget.forBoth);
+ this.eventsCache = eventsCache;
gadgetUrl = UrlUtils.of(MEETING_GADGET);
}
@@ -83,6 +86,7 @@
public void onCreateContent(final Content content, final Container parent) {
content.setStatus(ContentStatus.publishedOnline);
content.setPublishedOn(new Date());
+ eventsCache.remove(parent);
}
@Override
Modified: trunk/src/main/java/cc/kune/events/server/EventsServlet.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/EventsServlet.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/events/server/EventsServlet.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -88,7 +88,7 @@
try {
final Container cnt = getContainer(userHash, token);
if (cnt != null && cnt.getTypeId().equals(EventsToolConstants.TYPE_ROOT)) {
- final List<Map<String, String>> listOfProps = EventsServerConversionUtil.getAppointments(cnt);
+ final List<Map<String, String>> listOfProps = EventsServerConversionUtil.getAppointmentsUsingCache(cnt);
for (final Map<String, String> props : listOfProps) {
try {
final VEvent vEvent = EventsServerConversionUtil.toVEvent(EventsServerConversionUtil.toApp(props));
Added: trunk/src/main/java/cc/kune/events/server/utils/EventsCache.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/EventsCache.java (rev 0)
+++ trunk/src/main/java/cc/kune/events/server/utils/EventsCache.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,82 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.events.server.utils;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import cc.kune.core.server.LogThis;
+import cc.kune.core.server.persist.CachedCollection;
+import cc.kune.domain.Container;
+
+import com.google.inject.Singleton;
+
+/**
+ * The Class EventsCache is used to cache events of a group. Right now is only
+ * used in the export functionality because we don't have a way to detect gadget
+ * changes (of dates, etc) to expire this elements.
+ */
+@LogThis
+@Singleton
+public class EventsCache extends CachedCollection<Container, List<Map<String, String>>> {
+
+ /** The Constant LOG. */
+ public static final Log LOG = LogFactory.getLog(EventsCache.class);
+
+ /**
+ * Instantiates a new events cache.
+ */
+ public EventsCache() {
+ super(100);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see cc.kune.core.server.persist.CachedCollection#get(java.lang.Object)
+ */
+ @Override
+ public List<Map<String, String>> get(final Object key) {
+ final List<Map<String, String>> list = super.get(key);
+ if (list != null) {
+ LOG.debug("Using events cache for " + ((Container) key).getStateToken());
+ } else {
+ LOG.debug("Events cache empty for " + ((Container) key).getStateToken());
+ }
+ return list;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.util.Map#put(java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public List<Map<String, String>> put(final Container container, final List<Map<String, String>> value) {
+ final Object put = super.put(container, value);
+ LOG.debug("Event list added for container " + container.getStateToken() + ", size " + this.size());
+ return (List<Map<String, String>>) put;
+ }
+
+}
Added: trunk/src/main/java/cc/kune/events/server/utils/EventsCacheClearDailyJob.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/EventsCacheClearDailyJob.java (rev 0)
+++ trunk/src/main/java/cc/kune/events/server/utils/EventsCacheClearDailyJob.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,40 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.events.server.utils;
+
+import java.text.ParseException;
+
+import org.quartz.SchedulerException;
+
+import cc.kune.core.server.persist.ClearCacheDailyJob;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class EventsCacheClearDailyJob extends ClearCacheDailyJob {
+
+ @Inject
+ public EventsCacheClearDailyJob(final EventsCache cache) throws ParseException, SchedulerException {
+ super(cache);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -60,6 +60,9 @@
public class EventsServerConversionUtil extends EventsSharedConversionUtil {
@Inject
+ static EventsCache eventsCache;
+
+ @Inject
private static EventsServerTool eventTool;
@Inject
@@ -94,9 +97,18 @@
+ waveId, e2);
}
}
+ eventsCache.put(container, list);
return list;
}
+ public static List<Map<String, String>> getAppointmentsUsingCache(final Container container) {
+ final List<Map<String, String>> cached = eventsCache.get(container);
+ if (cached != null) {
+ return cached;
+ }
+ return getAppointments(container);
+ }
+
public static Appointment to(final VEvent event) {
// http://build.mnode.org/projects/ical4j/apidocs/
final Appointment app = new Appointment();
Modified: trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2012-03-29 01:36:02 UTC (rev 1806)
+++ trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -66,8 +66,10 @@
break;
case DISCONNECTED:
NotifyUser.showProgress(i18n.t("Connecting"));
+ break;
case RECONNECTING:
- putValue(Action.NAME, i18n.t("Offline"));
+ NotifyUser.showProgress(i18n.t("Offline"));
+ // putValue(Action.NAME, i18n.t("Offline"));
putValue(AbstractAction.STYLES, "k-sitebar-wave-status, k-sitebar-wave-status-offline");
setVisible(true);
break;
Added: trunk/src/test/java/cc/kune/core/server/manager/impl/SocialNetworkCacheTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/impl/SocialNetworkCacheTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/core/server/manager/impl/SocialNetworkCacheTest.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,73 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.manager.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import cc.kune.domain.Group;
+import cc.kune.domain.SocialNetworkData;
+import cc.kune.domain.User;
+
+public class SocialNetworkCacheTest {
+
+ private SocialNetworkCache cache;
+ private SocialNetworkData data;
+ private Group group1;
+ private Group group2;
+ private User user1;
+ private User user2;
+
+ @Before
+ public void before() {
+ cache = new SocialNetworkCache();
+ user1 = new User();
+ user2 = new User();
+ user1.setShortName("user1");
+ user2.setShortName("user2");
+ group1 = new Group("group1", "group1");
+ group2 = new Group("group2", "group2");
+ data = new SocialNetworkData();
+ }
+
+ @Test
+ public void testBasicAdd() {
+ assertNull(cache.get(user1, group1));
+ cache.put(user1, group1, data);
+ cache.expire(group2);
+ assertEquals(data, cache.get(user1, group1));
+ assertEquals(1, cache.size());
+ }
+
+ @Test
+ public void testBasicAddDirty() {
+ assertNull(cache.get(user1, group1));
+ cache.put(user1, group1, data);
+ cache.put(user2, group1, data);
+ assertEquals(2, cache.size());
+ cache.expire(group1);
+ assertNull(cache.get(user1, group1));
+ assertEquals(0, cache.size());
+ }
+}
Added: trunk/src/test/java/cc/kune/events/server/utils/EventsCacheTest.java
===================================================================
--- trunk/src/test/java/cc/kune/events/server/utils/EventsCacheTest.java (rev 0)
+++ trunk/src/test/java/cc/kune/events/server/utils/EventsCacheTest.java 2012-03-30 11:26:03 UTC (rev 1807)
@@ -0,0 +1,60 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.events.server.utils;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.util.ArrayList;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import cc.kune.core.shared.domain.utils.StateToken;
+import cc.kune.domain.Container;
+
+public class EventsCacheTest {
+ private EventsCache cache;
+ private Container container;
+ private ArrayList<Map<String, String>> list;
+
+ @Before
+ public void before() {
+ cache = new EventsCache();
+ container = Mockito.mock(Container.class);
+ Mockito.when(container.getStateToken()).thenReturn(new StateToken("kk"));
+ list = new ArrayList<Map<String, String>>();
+ }
+
+ @Test
+ public void testBasicAdd() {
+ assertNull(cache.get(container));
+ cache.put(container, list);
+ cache.put(container, list);
+ assertEquals(1, cache.size());
+ cache.remove(container);
+ assertNull(cache.get(container));
+ assertEquals(0, cache.size());
+ }
+
+}
1
0
29 Mar '12
Author: vjrj_
Date: 2012-03-29 03:36:02 +0200 (Thu, 29 Mar 2012)
New Revision: 1806
Added:
trunk/src/main/java/cc/kune/gspace/client/maxmin/
trunk/src/main/java/cc/kune/gspace/client/maxmin/IsMaximizable.java
trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspace.java
trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePanel.java
trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePresenter.java
trunk/src/test/java/cc/kune/gspace/client/maxmin/
Modified:
trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActions.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java
trunk/src/main/java/cc/kune/core/public/ws.css
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/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmor.java
trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java
trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml
trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java
trunk/src/main/java/cc/kune/wave/client/WaveClientView.java
trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
trunk/src/main/java/cc/kune/wave/client/WebClient.java
trunk/src/main/java/cc/kune/wave/client/WebClientMock.java
trunk/src/main/java/com/example/client/HelloWorldActions.java
trunk/src/main/webapp/ws.html
Log:
CLOSED - # 212: Maximize/minimize action for small screen PCs
http://kune.ourproject.org/issues/ticket/212
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -249,7 +249,7 @@
private void createActionIfNeeded() {
if (chatIcon == null) {
chatIcon = new IconLabelDescriptor(action);
- chatIcon.setParent(siteActions.getLeftToolbar());
+ chatIcon.setParent(SitebarActions.LEFT_TOOLBAR);
chatIcon.setId(CHAT_CLIENT_ICON_ID);
chatIcon.setStyles("k-no-backimage, k-btn-sitebar, k-chat-icon");
chatIcon.putValue(Action.NAME, i18n.t(CHAT_TITLE));
@@ -259,9 +259,9 @@
shorcutRegister.put(shortcut, action);
action.setShortcut(shortcut);
chatIcon.setVisible(session.isLogged());
- ToolbarSeparatorDescriptor.build(Type.spacer, siteActions.getLeftToolbar());
- ToolbarSeparatorDescriptor.build(Type.spacer, siteActions.getLeftToolbar());
- ToolbarSeparatorDescriptor.build(Type.spacer, siteActions.getLeftToolbar());
+ ToolbarSeparatorDescriptor.build(Type.spacer, SitebarActions.LEFT_TOOLBAR);
+ ToolbarSeparatorDescriptor.build(Type.spacer, SitebarActions.LEFT_TOOLBAR);
+ ToolbarSeparatorDescriptor.build(Type.spacer, SitebarActions.LEFT_TOOLBAR);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -63,7 +63,7 @@
this.siteOptions = siteOptions;
menuShowAction.setMenu(this);
setId(MENU_ID);
- setParent(siteOptions.getRightToolbar());
+ setParent(SitebarActions.RIGHT_TOOLBAR);
setStyles("k-no-backimage, k-btn-sitebar");
this.downloadProvider = downloadProvider;
this.gotoGroupAction = gotoGroupAction;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -97,10 +97,10 @@
private void createActions() {
LOGGED_USER_MENU.setId(LOGGED_USER_MENU_ID);
- LOGGED_USER_MENU.setParent(siteOptions.getRightToolbar());
+ LOGGED_USER_MENU.setParent(SitebarActions.RIGHT_TOOLBAR);
LOGGED_USER_MENU.setStyles("k-no-backimage, k-btn-sitebar");
LOGGED_USER_MENU.setRightIcon(res.arrowdownsitebar());
- separator = new ToolbarSeparatorDescriptor(Type.separator, siteOptions.getRightToolbar());
+ separator = new ToolbarSeparatorDescriptor(Type.separator, SitebarActions.RIGHT_TOOLBAR);
final AbstractExtendedAction userHomeAction = new AbstractExtendedAction() {
@Override
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActions.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActions.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -19,13 +19,15 @@
*/
package cc.kune.core.client.sitebar;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.common.client.actions.ui.descrip.ToolbarDescriptor;
public interface SitebarActions {
- ToolbarDescriptor getLeftToolbar();
+ static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
+ static final MenuDescriptor MORE_MENU = new MenuDescriptor();
- ToolbarDescriptor getRightToolbar();
+ static final ToolbarDescriptor RIGHT_TOOLBAR = new ToolbarDescriptor();
void refreshActions();
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -27,7 +27,6 @@
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
import cc.kune.common.client.actions.ui.descrip.MenuSeparatorDescriptor;
-import cc.kune.common.client.actions.ui.descrip.ToolbarDescriptor;
import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor;
import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor.Type;
import cc.kune.common.client.resources.CommonResources;
@@ -64,9 +63,7 @@
void showErrorDialog();
}
- private static final ToolbarDescriptor LEFT_TOOLBAR = new ToolbarDescriptor();
- private static final MenuDescriptor MORE_MENU = new MenuDescriptor();
- private static final ToolbarDescriptor RIGHT_TOOLBAR = new ToolbarDescriptor();
+
public static final String SITE_OPTIONS_MENU = "kune-sop-om";
private final CommonResources commonRes;
private final I18nTranslationService i18n;
@@ -105,20 +102,10 @@
return gotoKuneDevSite;
}
- @Override
- public ToolbarDescriptor getLeftToolbar() {
- return LEFT_TOOLBAR;
- }
-
public MenuDescriptor getOptionsMenu() {
return MORE_MENU;
}
- @Override
- public ToolbarDescriptor getRightToolbar() {
- return RIGHT_TOOLBAR;
- }
-
private void init() {
MORE_MENU.withId(SITE_OPTIONS_MENU);
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -65,7 +65,7 @@
super(newGroupAction);
this.session = session;
withId(NEW_GROUP_BTN_ID).withStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
- withParent(sitebarActions.getRightToolbar());
+ withParent(SitebarActions.RIGHT_TOOLBAR);
eventBus.addHandler(MyGroupsChangedEvent.getType(),
new MyGroupsChangedEvent.MyGroupsChangedHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignInLink.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -65,15 +65,15 @@
@Inject
public SitebarSignInLink(final SitebarSignInAction action, final EventBus eventBus,
- final Session session, final SitebarActions sitebarActions) {
+ final Session session) {
super(action);
// setParent(SitebarActionsPresenter.RIGHT_TOOLBAR);
setId(SITE_SIGN_IN);
setVisible(!session.isLogged());
setStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
- setParent(sitebarActions.getRightToolbar());
+ setParent(SitebarActions.RIGHT_TOOLBAR);
final ToolbarSeparatorDescriptor separator = new ToolbarSeparatorDescriptor(Type.separator,
- sitebarActions.getRightToolbar());
+ SitebarActions.RIGHT_TOOLBAR);
session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
@Override
public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarSignOutLink.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -123,8 +123,8 @@
super(action);
setId(SITE_SIGN_OUT);
final ToolbarSeparatorDescriptor separator = new ToolbarSeparatorDescriptor(Type.separator,
- sitebarActions.getRightToolbar());
- setParent(sitebarActions.getRightToolbar());
+ SitebarActions.RIGHT_TOOLBAR);
+ setParent(SitebarActions.RIGHT_TOOLBAR);
setVisible(session.isLogged());
setStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-29 01:36:02 UTC (rev 1806)
@@ -867,7 +867,7 @@
.k-sn-mainpanel .x-btn button,.k-sn-mainpanel button,button.k-button,.gwt-FileUpload,button.gwt-Button
{
font: 14px 'Ubuntu', arial;
- border: 2px solid #CCCCCC;
+ border: 1px solid #ACACAC;
cursor: pointer;
margin: 0;
text-decoration: none;
@@ -892,7 +892,7 @@
.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover,button.gwt-Button:hover
{
- border: 2px orange solid;
+ border: 1px orange solid;
outline: 0 none;
/* background: #f0f0f0; */
}
@@ -962,14 +962,14 @@
border-color: #CCCCCC !important;
background: inherits !important;
kfilter: alpha(opacity =
- 60) !important;
- -moz-opacity: 0.60 !important;
- -khtml-opacity: 0.60 !important;
- opacity: 0.60 !important;
+ 50) !important;
+ -moz-opacity: 0.50 !important;
+ -khtml-opacity: 0.50 !important;
+ opacity: 0.50 !important;
}
button.k-optionsborder img.k-iconlabel-left {
- border: 2px solid #CCCCCC;
+ border: 1px solid #ACACAC;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -52,6 +52,9 @@
import cc.kune.gspace.client.licensewizard.pages.LicenseWizardSndFormView;
import cc.kune.gspace.client.licensewizard.pages.LicenseWizardTrdForm;
import cc.kune.gspace.client.licensewizard.pages.LicenseWizardTrdFormView;
+import cc.kune.gspace.client.maxmin.MaxMinWorkspace;
+import cc.kune.gspace.client.maxmin.MaxMinWorkspacePanel;
+import cc.kune.gspace.client.maxmin.MaxMinWorkspacePresenter;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.GroupOptionsCollection;
import cc.kune.gspace.client.options.GroupOptionsPanel;
@@ -160,6 +163,9 @@
FolderViewerAsTablePanel.class, FolderViewerPresenter.FolderViewerProxy.class);
bindPresenter(SitebarSearchPresenter.class, SitebarSearchPresenter.SitebarSearchView.class,
SitebarSearchPanel.class, SitebarSearchPresenter.SitebarSearchProxy.class);
+ bindPresenter(MaxMinWorkspacePresenter.class, MaxMinWorkspacePresenter.MaxMinWorkspaceView.class,
+ MaxMinWorkspacePanel.class, MaxMinWorkspacePresenter.MaxMinWorkspaceProxy.class);
+ bind(MaxMinWorkspace.class).to(MaxMinWorkspacePresenter.class).in(Singleton.class);
s(NoHomePageViewer.class);
s(TutorialViewer.class);
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinjector.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -22,6 +22,7 @@
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.maxmin.MaxMinWorkspacePresenter;
import cc.kune.gspace.client.options.GroupOptionsPresenter;
import cc.kune.gspace.client.options.UserOptionsPresenter;
import cc.kune.gspace.client.tags.TagsSummaryPresenter;
@@ -52,6 +53,8 @@
AsyncProvider<LicenseWizardPresenter> getLicenseWizardPresenter();
+ AsyncProvider<MaxMinWorkspacePresenter> getMaxMinWorkspacePresenter();
+
AsyncProvider<SitebarSearchPresenter> getSitebarSearchPresenter();
AsyncProvider<TagsSummaryPresenter> getTagsSummaryPresenter();
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -32,6 +32,7 @@
import cc.kune.gspace.client.i18n.I18nTranslator;
import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection;
import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction;
+import cc.kune.gspace.client.maxmin.MaxMinWorkspace;
import cc.kune.gspace.client.options.GroupOptions;
import cc.kune.gspace.client.options.UserOptions;
import cc.kune.gspace.client.tags.TagsSummaryPresenter;
@@ -48,23 +49,14 @@
public class GSpaceParts {
@Inject
- public GSpaceParts(
- final Session session,
- final GSpaceThemeManager themeManager,
+ public GSpaceParts(final Session session, final GSpaceThemeManager themeManager,
final Provider<EntityLicensePresenter> licenseFooter,
- final Provider<TagsSummaryPresenter> tagsPresenter,
- final Provider<ToolSelector> toolSelector,
- final Provider<NoHomePageViewer> noHome,
- final Provider<ContentViewerPresenter> docsViewer,
- final Provider<FolderViewerPresenter> folderViewer,
- final Provider<GroupOptions> go,
- final Provider<UserOptions> uo, // final Provider<GroupOptionsCollection>
- // gocProv,
- // final Provider<UserOptionsCollection> uocProv,
-
- final Provider<SitebarSearchPresenter> siteSearch,
+ final Provider<TagsSummaryPresenter> tagsPresenter, final Provider<ToolSelector> toolSelector,
+ final Provider<NoHomePageViewer> noHome, final Provider<ContentViewerPresenter> docsViewer,
+ final Provider<FolderViewerPresenter> folderViewer, final Provider<GroupOptions> go,
+ final Provider<UserOptions> uo, final Provider<SitebarSearchPresenter> siteSearch,
final Provider<SiteOptionsI18nTranslatorAction> transAction,
- final Provider<GiveUsFeedbackBtn> giveUsFeedback,
+ final Provider<MaxMinWorkspace> maxMinWorkspace, final Provider<GiveUsFeedbackBtn> giveUsFeedback,
final Provider<I18nToTranslateGridPanel> toTrans,
final Provider<I18nTranslatorTabsCollection> gtranslator,
final Provider<I18nTranslator> translator, final Provider<WriteToBuddyHeaderButton> writeToBuddie,
@@ -79,7 +71,7 @@
folderViewer.get();
siteSearch.get();
noHome.get();
-
+ maxMinWorkspace.get();
// // Add User & Groups Options
// final GroupOptionsCollection goc = gocProv.get();
// final UserOptionsCollection uoc = uocProv.get();
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmor.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmor.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/GSpaceArmor.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -21,12 +21,13 @@
import cc.kune.common.client.actions.ui.IsActionExtensible;
import cc.kune.common.shared.utils.Pair;
+import cc.kune.gspace.client.maxmin.IsMaximizable;
import com.google.gwt.user.client.ui.InsertPanel.ForIsWidget;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.SimplePanel;
-public interface GSpaceArmor {
+public interface GSpaceArmor extends IsMaximizable {
void clearBackImage();
@@ -81,6 +82,4 @@
void selectUserSpace();
void setBackImage(String url);
-
- void setContentVisible(boolean visible);
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -42,6 +42,7 @@
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.TabLayoutPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -50,10 +51,15 @@
interface WsArmorImplUiBinder extends UiBinder<Widget, GSpaceArmorImpl> {
}
+ private static final int CENTER_NORTH_HEIGHT = 153;
+ private static final int CENTER_SOUTH_HEIGHT = 36;
+ private static final int EAST_WIDTH = 220;
private static WsArmorImplUiBinder uiBinder = GWT.create(WsArmorImplUiBinder.class);
@UiField
+ VerticalPanel centerNorth;
+ @UiField
ScrollPanel centerScroll;
@UiField
FlowPanel docContainer;
@@ -275,10 +281,35 @@
}
@Override
- public void setContentVisible(final boolean visible) {
- // FIXME: remove this?
- // NotifyUser.info("Visible: " + visible);
- // docContainer.getElement().getStyle().setOpacity(visible ? 1d : .0d);
- // docFooter.getElement().getStyle().setOpacity(visible ? 1d : .0d);
+ public void setMaximized(final boolean maximized) {
+ // setMaximized(docFooter.getParent(), maximized);
+ // setMaximized(entityFooter.getParent(), maximized);
+ // setMaximized(entityHeader.getParent(), maximized);
+ // setMaximized(entityToolsContainer, maximized);
+ // splitCenter.setWidgetSize(centerScroll, getAbsoluteLeft())
+ // setMaximized(splitCenter.getWidget(0), maximized);
+ // setMaximized(splitCenter.getWidget(2), maximized);
+ // setMaximized(splitEast, maximized);
+ groupSpace.setWidgetSize(splitEast, maximized ? 0 : EAST_WIDTH);
+ splitCenter.setWidgetSize(centerNorth, maximized ? 7 : CENTER_NORTH_HEIGHT);
+ splitCenter.setWidgetSize(entityFooter, maximized ? 7 : CENTER_SOUTH_HEIGHT);
}
+
+ private void setMaximized(final Widget widget, final boolean maximized) {
+ widget.setVisible(!maximized);
+ if (maximized) {
+ // // $((Widget) gsArmor.getHeaderToolbar()).as(Effects).
+ // $(widget).as(Effects).slideDown(new Function() {
+ // @Override
+ // public void f() {
+ // }
+ // });
+ } else {
+ // $(widget).parent().as(Effects).slideUp(new Function() {
+ // @Override
+ // public void f() {
+ // }
+ // });
+ }
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/impl/GSpaceArmorImpl.ui.xml 2012-03-29 01:36:02 UTC (rev 1806)
@@ -43,7 +43,7 @@
<g:DockLayoutPanel unit="PX" ui:field="splitCenter"
styleName="{res.style.entityCentralContainer}">
<g:north size="153">
- <g:VerticalPanel width="100%"
+ <g:VerticalPanel width="100%" ui:field="centerNorth"
height="153px">
<g:FlowPanel height="70px" width="100%"
styleName="{res.style.entityHeader}" ui:field="entityHeader">
Added: trunk/src/main/java/cc/kune/gspace/client/maxmin/IsMaximizable.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/maxmin/IsMaximizable.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/maxmin/IsMaximizable.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -0,0 +1,25 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.maxmin;
+
+public interface IsMaximizable {
+ void setMaximized(boolean maximized);
+}
Added: trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspace.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspace.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspace.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -0,0 +1,9 @@
+package cc.kune.gspace.client.maxmin;
+
+public interface MaxMinWorkspace {
+
+ void maximize();
+
+ void minimize();
+
+}
Added: trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePanel.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePanel.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -0,0 +1,43 @@
+package cc.kune.gspace.client.maxmin;
+
+import cc.kune.gspace.client.armor.GSpaceArmor;
+import cc.kune.gspace.client.maxmin.MaxMinWorkspacePresenter.MaxMinWorkspaceView;
+import cc.kune.wave.client.WaveClientProvider;
+
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+
+public class MaxMinWorkspacePanel implements MaxMinWorkspaceView {
+
+ private final GSpaceArmor gsArmor;
+ private final WaveClientProvider waveClient;
+
+ @Inject
+ public MaxMinWorkspacePanel(final GSpaceArmor gsArmor, final WaveClientProvider waveClient) {
+ this.gsArmor = gsArmor;
+ this.waveClient = waveClient;
+ }
+
+ @Override
+ public void addToSlot(final Object slot, final Widget content) {
+ }
+
+ @Override
+ public Widget asWidget() {
+ return null;
+ }
+
+ @Override
+ public void removeFromSlot(final Object slot, final Widget content) {
+ }
+
+ @Override
+ public void setInSlot(final Object slot, final Widget content) {
+ }
+
+ @Override
+ public void setMaximized(final boolean maximized) {
+ gsArmor.setMaximized(maximized);
+ waveClient.get().setMaximized(maximized);
+ }
+}
Added: trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePresenter.java (rev 0)
+++ trunk/src/main/java/cc/kune/gspace/client/maxmin/MaxMinWorkspacePresenter.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -0,0 +1,137 @@
+package cc.kune.gspace.client.maxmin;
+
+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.KeyStroke;
+import cc.kune.common.client.actions.Shortcut;
+import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.sitebar.SitebarActions;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.resources.client.ImageResource;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+
+public class MaxMinWorkspacePresenter
+ extends
+ Presenter<MaxMinWorkspacePresenter.MaxMinWorkspaceView, MaxMinWorkspacePresenter.MaxMinWorkspaceProxy>
+
+implements MaxMinWorkspace {
+
+ public class MaximizeAction extends AbstractExtendedAction {
+ public MaximizeAction(final String name, final ImageResource img) {
+ super();
+ putValue(Action.NAME, name);
+ putValue(Action.SMALL_ICON, img);
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ showMaximized(true);
+ }
+ }
+ @ProxyCodeSplit
+ public interface MaxMinWorkspaceProxy extends Proxy<MaxMinWorkspacePresenter> {
+ }
+
+ public interface MaxMinWorkspaceView extends View, IsMaximizable {
+
+ }
+ public class MinimizeAction extends AbstractExtendedAction {
+ public MinimizeAction(final String name, final ImageResource img) {
+ super();
+ putValue(Action.NAME, name);
+ putValue(Action.SMALL_ICON, img);
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ showMaximized(false);
+ }
+ }
+ public static final String MAX_ICON = "mmwp-max_bt";
+
+ public static final String MIN_ICON = "mmwp-min_bt";
+
+ private final CoreResources images;
+
+ private MenuItemDescriptor maximizeButton;
+
+ private boolean maximized;
+
+ private MenuItemDescriptor minimizeButton;
+
+ private final GlobalShortcutRegister shortcutReg;
+
+ @Inject
+ public MaxMinWorkspacePresenter(final EventBus eventBus, final MaxMinWorkspaceView view,
+ final MaxMinWorkspaceProxy proxy, final GlobalShortcutRegister shortcutReg,
+ final CoreResources images) {
+ super(eventBus, view, proxy);
+ this.shortcutReg = shortcutReg;
+ this.images = images;
+ maximized = false;
+ }
+
+ private void createActions() {
+ final KeyStroke shortcut = Shortcut.getShortcut(true, true, false, false, Character.valueOf('F'));
+
+ final MaximizeAction maximizeAction = new MaximizeAction(I18n.t("Maximize the workspace"),
+ images.maximize());
+ maximizeAction.setShortcut(shortcut);
+ maximizeButton = new MenuItemDescriptor(SitebarActions.MORE_MENU, maximizeAction);
+ maximizeButton.setPosition(0);
+ maximizeButton.setId(MAX_ICON);
+
+ final MinimizeAction minimizeAction = new MinimizeAction(I18n.t("Minimize the workspace"),
+ images.minimize());
+ minimizeAction.setShortcut(shortcut);
+ minimizeButton = new MenuItemDescriptor(SitebarActions.MORE_MENU, minimizeAction);
+ minimizeButton.setPosition(1);
+ minimizeButton.setVisible(false);
+ minimizeButton.setId(MIN_ICON);
+
+ shortcutReg.put(shortcut, new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ showMaximized(!maximized);
+ }
+ });
+ }
+
+ @Override
+ public void maximize() {
+ showMaximized(true);
+ }
+
+ @Override
+ public void minimize() {
+ showMaximized(false);
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+ createActions();
+ }
+
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
+
+ private void showMaximized(final boolean maximized) {
+ maximizeButton.setVisible(!maximized);
+ minimizeButton.setVisible(maximized);
+ this.maximized = maximized;
+ getView().setMaximized(maximized);
+ }
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/NoHomePageViewer.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -45,13 +45,11 @@
@Override
public void attach() {
- gsArmor.setContentVisible(false);
}
@Override
public void detach() {
UiUtils.clear(gsArmor.getDocHeader());
- gsArmor.setContentVisible(true);
}
@Override
Modified: trunk/src/main/java/cc/kune/wave/client/WaveClientView.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientView.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientView.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -26,10 +26,12 @@
import org.waveprotocol.wave.client.common.util.AsyncHolder.Accessor;
import org.waveprotocol.wave.client.widget.common.ImplPanel;
+import cc.kune.gspace.client.maxmin.IsMaximizable;
+
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.ui.IsWidget;
-public interface WaveClientView extends IsWidget {
+public interface WaveClientView extends IsWidget, IsMaximizable {
void clear();
Modified: trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -30,7 +30,7 @@
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.sitebar.SitebarActionsPresenter;
+import cc.kune.core.client.sitebar.SitebarActions;
import cc.kune.core.client.sn.actions.SessionAction;
import cc.kune.core.client.state.Session;
@@ -84,9 +84,9 @@
}
@Inject
- public WaveStatusIndicator(final SitebarActionsPresenter sitebar, final WaveStatusAction action) {
+ public WaveStatusIndicator(final WaveStatusAction action) {
final IconLabelDescriptor status = new IconLabelDescriptor(action);
status.setPosition(0);
- sitebar.getRightToolbar().add(status);
+ SitebarActions.RIGHT_TOOLBAR.add(status);
}
}
Modified: trunk/src/main/java/cc/kune/wave/client/WebClient.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClient.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/wave/client/WebClient.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -464,6 +464,11 @@
History.newItem(tokenFromWaveref, false);
}
+ @Override
+ public void setMaximized(final boolean maximized) {
+ splitPanel.setWidgetSize(searchPanel, maximized ? 0 : 400);
+ }
+
private void setupConnectionIndicator() {
ClientEvents.get().addNetworkStatusEventHandler(new NetworkStatusEventHandler() {
@@ -498,49 +503,49 @@
}
});
}
+private void setupSearchPanel() {
+ // On wave action fire an event.
+ final SearchPresenter.WaveActionHandler actionHandler =
+ new SearchPresenter.WaveActionHandler() {
+ @Override
+ public void onCreateWave() {
+ ClientEvents.get().fireEvent(WaveCreationEvent.CREATE_NEW_WAVE);
+ }
- private void setupSearchPanel() {
- // On wave action fire an event.
- final SearchPresenter.WaveActionHandler actionHandler =
- new SearchPresenter.WaveActionHandler() {
- @Override
- public void onCreateWave() {
- ClientEvents.get().fireEvent(WaveCreationEvent.CREATE_NEW_WAVE);
- }
-
- @Override
- public void onWaveSelected(final WaveId id) {
- ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(id)));
- }
- };
- final Search search = SimpleSearch.create(RemoteSearchService.create(), waveStore);
- search.addListener(inboxCount.getSearchListener());
- SearchPresenter.create(search, searchPanel, actionHandler, profiles);
+ @Override
+ public void onWaveSelected(final WaveId id) {
+ ClientEvents.get().fireEvent(new WaveSelectionEvent(WaveRef.of(id)));
+ }
+ };
+ final Search search = SimpleSearch.create(RemoteSearchService.create(), waveStore);
+ search.addListener(inboxCount.getSearchListener());
+ SearchPresenter.create(search, searchPanel, actionHandler, profiles);
+}
+ private void setupUi() {
+ // Set up UI
+ final DockLayoutPanel self = BINDER.createAndBindUi(this);
+ // kune-patch
+ // RootPanel.get("app").add(self);
+ initWidget(self);
+ waveHolder = new ImplPanel("");
+ waveHolder.addStyleName("k-waveHolder");
+ waveFrame.add(waveHolder);
+ // DockLayoutPanel forcibly conflicts with sensible layout control, and
+ // sticks inline styles on elements without permission. They must be
+ // cleared.
+ self.getElement().getStyle().clearPosition();
+ splitPanel.setWidgetMinSize(searchPanel, 300);
+
+ if (LogLevel.showDebug()) {
+ logPanel.enable();
+ } else {
+ logPanel.removeFromParent();
+ }
+
+ setupSearchPanel();
+ setupWavePanel();
}
-private void setupUi() {
- // Set up UI
- final DockLayoutPanel self = BINDER.createAndBindUi(this);
- // kune-patch
- // RootPanel.get("app").add(self);
- initWidget(self);
- waveHolder = new ImplPanel("");
- waveHolder.addStyleName("k-waveHolder");
- waveFrame.add(waveHolder);
- // DockLayoutPanel forcibly conflicts with sensible layout control, and
- // sticks inline styles on elements without permission. They must be
- // cleared.
- self.getElement().getStyle().clearPosition();
- splitPanel.setWidgetMinSize(searchPanel, 300);
- if (LogLevel.showDebug()) {
- logPanel.enable();
- } else {
- logPanel.removeFromParent();
- }
-
- setupSearchPanel();
- setupWavePanel();
-}
private void setupWavePanel() {
// Hide the frame until waves start getting opened.
UIObject.setVisible(waveFrame.getElement(), false);
Modified: trunk/src/main/java/cc/kune/wave/client/WebClientMock.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WebClientMock.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/cc/kune/wave/client/WebClientMock.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -83,4 +83,8 @@
public void logout() {
}
+ @Override
+ public void setMaximized(final boolean maximized) {
+ }
+
}
Modified: trunk/src/main/java/com/example/client/HelloWorldActions.java
===================================================================
--- trunk/src/main/java/com/example/client/HelloWorldActions.java 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/java/com/example/client/HelloWorldActions.java 2012-03-29 01:36:02 UTC (rev 1806)
@@ -23,8 +23,7 @@
}
@Inject
- public HelloWorldActions(final CommonResources res, final SitebarActions sitebarActions,
- final SiteUserOptions siteUserOptions) {
+ public HelloWorldActions(final CommonResources res, final SiteUserOptions siteUserOptions) {
// We can share the action if we don't want to create several (and for
// instance it doesn't store any value)
@@ -33,7 +32,7 @@
// An action in the sitebar
final ButtonDescriptor siteBarBtn = new ButtonDescriptor(sharedAction);
siteBarBtn.withText("HWorld!").withIcon(res.info());
- siteBarBtn.setParent(sitebarActions.getLeftToolbar());
+ siteBarBtn.setParent(SitebarActions.LEFT_TOOLBAR);
// Other action in the sitebar options menu
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2012-03-28 23:23:29 UTC (rev 1805)
+++ trunk/src/main/webapp/ws.html 2012-03-29 01:36:02 UTC (rev 1806)
@@ -228,7 +228,7 @@
}
.k-home-toolbar-btn {
- font-size: 18px !important;
+ font-size: 16px !important;
min-height: 40px;
height: auto !important;
max-width: 150px;
1
0
Author: vjrj_
Date: 2012-03-29 01:23:29 +0200 (Thu, 29 Mar 2012)
New Revision: 1805
Added:
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java
trunk/src/main/java/cc/kune/hspace/client/HSpace.java
Removed:
trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java
trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java
Modified:
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreParts.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java
trunk/src/main/java/cc/kune/core/client/auth/SignInForm.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/groups/newgroup/NewGroupView.java
trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java
trunk/src/main/java/cc/kune/core/client/state/StateManager.java
trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java
trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
trunk/src/main/webapp/ws.html
trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java
trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java
Log:
Several minor fixes
Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-28 23:23:29 UTC (rev 1805)
@@ -503,6 +503,14 @@
/* margin-left: 5px; */
}
+img.k-iconlabel-left {
+ margin-top: -2px;
+}
+
+div.k-iconlabel {
+ margin-top: -2px;
+}
+
.k-menuimtem-title {
color: white;
font-size: 15px;
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -78,7 +78,7 @@
import cc.kune.core.client.sitebar.SitebarActions;
import cc.kune.core.client.sitebar.SitebarActionsPanel;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
-import cc.kune.core.client.sitebar.SitebarGroupsLink;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink;
import cc.kune.core.client.sitebar.SitebarSignInLink;
import cc.kune.core.client.sitebar.SitebarSignOutLink;
import cc.kune.core.client.sitebar.SitebarSignOutLink.BeforeSignOut;
@@ -252,7 +252,7 @@
s(MyGroupsMenu.class);
s(SiteUserOptionsPresenter.class);
s(SiteUserOptions.class, SiteUserOptionsPresenter.class);
- s(SitebarGroupsLink.class);
+ s(SitebarNewGroupLink.class);
s(SitebarSignInLink.class);
s(SitebarSignOutLink.class);
Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -20,12 +20,14 @@
package cc.kune.core.client;
import cc.kune.common.client.shortcuts.GlobalShortcuts;
+import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.auth.AnonUsersManager;
import cc.kune.core.client.auth.Register;
import cc.kune.core.client.auth.SignIn;
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.groups.newgroup.NewGroup;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.sitebar.AboutKuneDialog;
import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
import cc.kune.core.client.sitebar.auth.AskForPasswordResetPanel;
@@ -68,7 +70,7 @@
final Provider<VerifyEmailClientManager> verifyManager,
final Provider<UserOptions> userOptionsDialog, final Provider<GroupOptions> groupOptionsDialog,
final Provider<PasswordResetPanel> passReset, final Provider<AskForPasswordResetPanel> askForPass,
- final GlobalShortcuts shortcuts) {
+ final GlobalShortcuts shortcuts, final I18nTranslationService i18n) {
session.onAppStart(true, new AppStartHandler() {
@Override
public void onAppStart(final AppStartEvent event) {
@@ -105,17 +107,18 @@
register.get().doRegister();
}
});
- tokenListener.put(SiteTokens.NEW_GROUP, new HistoryTokenMustBeAuthCallback() {
- @Override
- public void onHistoryToken(final String token) {
- Scheduler.get().scheduleFinally(new ScheduledCommand() {
+ tokenListener.put(SiteTokens.NEW_GROUP,
+ new HistoryTokenMustBeAuthCallback(i18n.t(CoreMessages.REGISTER_TO_CREATE_A_GROUP)) {
@Override
- public void execute() {
- newGroup.get().doNewGroup();
+ public void onHistoryToken(final String token) {
+ Scheduler.get().scheduleFinally(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ newGroup.get().doNewGroup();
+ }
+ });
}
});
- }
- });
tokenListener.put(SiteTokens.SUBTITLES, new HistoryTokenAuthNotNeededCallback() {
@Override
public void onHistoryToken(final String token) {
@@ -128,15 +131,16 @@
SpaceSelectEvent.fire(eventBus, Space.homeSpace);
}
});
- tokenListener.put(SiteTokens.WAVE_INBOX, new HistoryTokenMustBeAuthCallback() {
+ tokenListener.put(SiteTokens.WAVE_INBOX,
+ new HistoryTokenMustBeAuthCallback(i18n.t(CoreMessages.SIGN_IN_TO_ACCESS_INBOX)) {
+ @Override
+ public void onHistoryToken(final String token) {
+ SpaceSelectEvent.fire(eventBus, Space.userSpace);
+ }
+ });
+ tokenListener.put(SiteTokens.PREFS, new HistoryTokenMustBeAuthCallback("") {
@Override
public void onHistoryToken(final String token) {
- SpaceSelectEvent.fire(eventBus, Space.userSpace);
- }
- });
- tokenListener.put(SiteTokens.PREFS, new HistoryTokenMustBeAuthCallback() {
- @Override
- public void onHistoryToken(final String token) {
Scheduler.get().scheduleFinally(new ScheduledCommand() {
@Override
public void execute() {
@@ -146,7 +150,7 @@
});
}
});
- tokenListener.put(SiteTokens.GROUP_PREFS, new HistoryTokenMustBeAuthCallback() {
+ tokenListener.put(SiteTokens.GROUP_PREFS, new HistoryTokenMustBeAuthCallback("") {
@Override
public void onHistoryToken(final String token) {
Scheduler.get().scheduleFinally(new ScheduledCommand() {
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -23,6 +23,7 @@
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.i18n.I18nUITranslationService.I18nLanguageChangeNeeded;
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.I18nLanguageDTO;
@@ -65,12 +66,12 @@
public void hide() {
getView().hide();
+ getView().reset();
+ getView().hideMessages();
}
public void onCancel() {
- getView().reset();
- getView().hideMessages();
- getView().hide();
+ hide();
}
public void onClose() {
@@ -78,7 +79,9 @@
getView().hideMessages();
if (!session.isLogged()) {
if (gotoTokenOnCancel != null) {
- stateManager.gotoHistoryToken(gotoTokenOnCancel);
+ if (!gotoTokenOnCancel.equals(SiteTokens.NEW_GROUP)) {
+ stateManager.gotoHistoryToken(gotoTokenOnCancel);
+ }
gotoTokenOnCancel = null;
} else {
stateManager.redirectOrRestorePreviousToken(false);
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractView.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -28,26 +28,26 @@
public interface SignInAbstractView extends View {
- HasCloseHandlers<PopupPanel> getClose();
+ HasCloseHandlers<PopupPanel> getClose();
- HasClickHandlers getFirstBtn();
+ HasClickHandlers getFirstBtn();
- HasClickHandlers getSecondBtn();
+ HasClickHandlers getSecondBtn();
- void hide();
+ void hide();
- void hideMessages();
+ void hideMessages();
- void mask(final String message);
+ void mask(final String message);
- void maskProcessing();
+ void maskProcessing();
- void reset();
+ void reset();
- void setErrorMessage(final String message, final NotifyLevel level);
+ void setErrorMessage(final String message, final NotifyLevel level);
- void show();
+ void show();
- void unMask();
+ void unMask();
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInForm.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -68,6 +68,10 @@
}
super.onRender(target, index);
}
+
+ @Override
+ protected void setAriaState(final String stateName, final String stateValue) {
+ }
};
loginNickOrEmailField.setFieldLabel(i18n.t("Username"));
loginNickOrEmailField.setName(USER_FIELD_ID);
@@ -90,6 +94,10 @@
}
super.onRender(target, index);
}
+
+ @Override
+ protected void setAriaState(final String stateName, final String stateValue) {
+ }
};
loginPassField.setFieldLabel(i18n.t("Password"));
loginPassField.setName(PASSWORD_FIELD_ID);
Deleted: trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -1,51 +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.core.client.auth;
-
-import cc.kune.common.shared.i18n.I18nTranslationService;
-
-import com.extjs.gxt.ui.client.widget.form.FormPanel;
-import com.extjs.gxt.ui.client.widget.form.TextField;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.uibinder.client.UiBinder;
-import com.google.gwt.uibinder.client.UiField;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.Widget;
-
-public class SignInNewForm extends Composite {
-
- interface SignInNewFormUiBinder extends UiBinder<Widget, SignInNewForm> {
- }
- private static SignInNewFormUiBinder uiBinder = GWT.create(SignInNewFormUiBinder.class);
-
- @UiField
- FormPanel form;
- @UiField
- TextField<String> nick;
- @UiField
- TextField<String> password;
-
- public SignInNewForm(final I18nTranslationService i18n) {
- initWidget(uiBinder.createAndBindUi(this));
- nick.setFieldLabel(i18n.t("Your nickname"));
- password.setFieldLabel(i18n.t("Password"));
- }
-
-}
Deleted: trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInNewForm.ui.xml 2012-03-28 23:23:29 UTC (rev 1805)
@@ -1,17 +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:gxt="urn:import:com.extjs.gxt.ui.client.widget"
- xmlns:form="urn:import:com.extjs.gxt.ui.client.widget.form">
- <ui:style>
-
- </ui:style>
-
- <form:FormPanel ui:field="form" heading="Simple Form" frame="true" width="370"
- padding="10" borders="false" labelWidth="75" headerVisible="false">
- <form:TextField ui:field="nick" allowBlank="false" validationDelay="1000"
- width="100" tabIndex="100" />
- <form:TextField ui:field="password" allowBlank="false" validationDelay="1000"
- width="150" tabIndex="101" password="true" />
- </form:FormPanel>
-
-</ui:UiBinder>
\ No newline at end of file
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 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -210,7 +210,7 @@
}
@Override
- public void focusOnShorName() {
+ public void focusOnShortName() {
shortNameField.focus();
}
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 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -31,7 +31,9 @@
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
import cc.kune.core.client.rpcservices.GroupServiceAsync;
import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.state.TokenUtils;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.GroupType;
import cc.kune.core.shared.dto.LicenseDTO;
@@ -95,11 +97,13 @@
if (session.isLogged()) {
NotifyUser.showProgress();
getView().show();
- getView().focusOnShorName();
+ getView().focusOnShortName();
NotifyUser.hideProgress();
} else {
+ // signIn.get().showSignInDialog();
signIn.get().setErrorMessage(i18n.t(CoreMessages.REGISTER_TO_CREATE_A_GROUP), NotifyLevel.info);
- signIn.get().showSignInDialog();
+ stateManager.gotoHistoryToken(TokenUtils.addRedirect(SiteTokens.SIGN_IN,
+ session.getCurrentStateToken().toString()));
}
}
});
@@ -205,7 +209,6 @@
public void execute() {
groupOptions.showTooltip();
new Timer() {
-
@Override
public void run() {
ShowHelpContainerEvent.fire(getEventBus(), state.getStateToken().getTool());
Modified: trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupView.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -30,7 +30,7 @@
void clearData();
- void focusOnShorName();
+ void focusOnShortName();
HasCloseHandlers<PopupPanel> getClose();
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -35,11 +35,12 @@
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 NEW_GROUP_TITLE = "Create New Group";
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";
public final static String REGISTER_TO_CREATE_A_GROUP = "Please, sign in or register to create a group";
public final static String SIGN_IN_TITLE = "Sign in";
+ public final static String SIGN_IN_TO_ACCESS_INBOX = "Sign in or create an account to access to your inbox";
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";
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -32,7 +32,7 @@
import cc.kune.core.client.i18n.I18n;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.services.ClientFileDownloadUtils;
-import cc.kune.core.client.sitebar.SitebarGroupsLink.SitebarNewGroupAction;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink.SitebarNewGroupAction;
import cc.kune.core.client.sn.actions.GotoGroupAction;
import cc.kune.core.client.state.Session;
import cc.kune.core.shared.dto.GroupDTO;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarActionsPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -71,7 +71,7 @@
private final CommonResources commonRes;
private final I18nTranslationService i18n;
private final Provider<MyGroupsMenu> myGroupsMenu;
- private final Provider<SitebarGroupsLink> newGroupLink;
+ private final Provider<SitebarNewGroupLink> newGroupLink;
private final CoreResources res;
private final Provider<SitebarSignInLink> signInLink;
private final Provider<SitebarSignOutLink> signOutLink;
@@ -79,7 +79,7 @@
@Inject
public SitebarActionsPresenter(final EventBus eventBus, final SitebarActionsView view,
final SitebarActionsProxy proxy, final I18nTranslationService i18n,
- final Provider<SitebarGroupsLink> newGroupLink, final Provider<SitebarSignOutLink> signOutLink,
+ final Provider<SitebarNewGroupLink> newGroupLink, final Provider<SitebarSignOutLink> signOutLink,
final Provider<SitebarSignInLink> signInLink, final CoreResources res,
final CommonResources commonRes, final Provider<MyGroupsMenu> myGroupsMenu) {
super(eventBus, view, proxy);
Deleted: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -1,93 +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.core.client.sitebar;
-
-import cc.kune.common.client.actions.AbstractExtendedAction;
-import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
-import cc.kune.common.shared.i18n.I18nTranslationService;
-import cc.kune.core.client.events.MyGroupsChangedEvent;
-import cc.kune.core.client.events.UserSignInOrSignOutEvent;
-import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.client.state.SiteTokens;
-import cc.kune.core.client.state.StateManager;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-
-public class SitebarGroupsLink extends ButtonDescriptor {
- public static class SitebarNewGroupAction extends AbstractExtendedAction {
-
- private final StateManager stateManager;
-
- @Inject
- public SitebarNewGroupAction(final StateManager stateManager, final I18nTranslationService i18n) {
- super();
- this.stateManager = stateManager;
- withText(i18n.t("Create New Group"));
- withToolTip(i18n.t("Create a new group for your initiative or organization "
- + "(NGO, collective, academic group...)"));
- }
-
- @Override
- public void actionPerformed(final ActionEvent event) {
- stateManager.gotoHistoryToken(SiteTokens.NEW_GROUP);
- }
- }
-
- public static final String NEW_GROUP_BTN_ID = "k-site-newgroup-btn";
- private final Session session;
-
- @Inject
- public SitebarGroupsLink(final SitebarNewGroupAction newGroupAction,
- final SitebarActions sitebarActions, final I18nTranslationService i18n, final EventBus eventBus,
- final CoreResources coreResources, final Session session) {
- super(newGroupAction);
- this.session = session;
- withId(NEW_GROUP_BTN_ID).withStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
- withParent(sitebarActions.getRightToolbar());
- eventBus.addHandler(MyGroupsChangedEvent.getType(),
- new MyGroupsChangedEvent.MyGroupsChangedHandler() {
- @Override
- public void onMyGroupsChanged(final MyGroupsChangedEvent event) {
- recalculate(session.isNotLogged());
- }
- });
- session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
- @Override
- public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
- final boolean notLogged = !event.isLogged();
- recalculate(notLogged);
- }
- });
-
- }
-
- private void recalculate(final boolean notLogged) {
- if (notLogged) {
- setVisible(true);
- } else {
- setVisible(!session.userIsJoiningGroups());
- }
- }
-
-}
Copied: trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java (from rev 1797, trunk/src/main/java/cc/kune/core/client/sitebar/SitebarGroupsLink.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SitebarNewGroupLink.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -0,0 +1,94 @@
+/*
+ *
+ * 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.client.sitebar;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.shared.i18n.I18nTranslationService;
+import cc.kune.core.client.events.MyGroupsChangedEvent;
+import cc.kune.core.client.events.UserSignInOrSignOutEvent;
+import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.SiteTokens;
+import cc.kune.core.client.state.StateManager;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+
+public class SitebarNewGroupLink extends ButtonDescriptor {
+ public static class SitebarNewGroupAction extends AbstractExtendedAction {
+
+ private final StateManager stateManager;
+
+ @Inject
+ public SitebarNewGroupAction(final StateManager stateManager, final I18nTranslationService i18n) {
+ super();
+ this.stateManager = stateManager;
+ withText(i18n.t(CoreMessages.NEW_GROUP_TITLE));
+ withToolTip(i18n.t("Create a new group for your initiative or organization "
+ + "(NGO, collective, academic group...)"));
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.gotoHistoryToken(SiteTokens.NEW_GROUP);
+ }
+ }
+
+ public static final String NEW_GROUP_BTN_ID = "k-site-newgroup-btn";
+ private final Session session;
+
+ @Inject
+ public SitebarNewGroupLink(final SitebarNewGroupAction newGroupAction,
+ final SitebarActions sitebarActions, final I18nTranslationService i18n, final EventBus eventBus,
+ final CoreResources coreResources, final Session session) {
+ super(newGroupAction);
+ this.session = session;
+ withId(NEW_GROUP_BTN_ID).withStyles("k-no-backimage, k-btn-sitebar, k-fl, k-noborder, k-nobackcolor");
+ withParent(sitebarActions.getRightToolbar());
+ eventBus.addHandler(MyGroupsChangedEvent.getType(),
+ new MyGroupsChangedEvent.MyGroupsChangedHandler() {
+ @Override
+ public void onMyGroupsChanged(final MyGroupsChangedEvent event) {
+ recalculate(session.isNotLogged());
+ }
+ });
+ session.onUserSignInOrSignOut(true, new UserSignInOrSignOutHandler() {
+ @Override
+ public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
+ final boolean notLogged = !event.isLogged();
+ recalculate(notLogged);
+ }
+ });
+
+ }
+
+ private void recalculate(final boolean notLogged) {
+ if (notLogged) {
+ setVisible(true);
+ } else {
+ setVisible(!session.userIsJoiningGroups());
+ }
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -42,33 +42,35 @@
VerifyEmailClientManager(final Session session, final SiteTokenListeners tokens,
final Provider<UserOptGeneral> optGeneral, final I18nTranslationService i18n,
final Provider<UserServiceAsync> userService) {
- tokens.put(SiteTokens.VERIFY_EMAIL, new HistoryTokenMustBeAuthCallback() {
- @Override
- public void onHistoryToken(final String token) {
- userService.get().verifyPasswordHash(session.getUserHash(), token, new AsyncCallback<Void>() {
+ tokens.put(SiteTokens.VERIFY_EMAIL,
+ new HistoryTokenMustBeAuthCallback(i18n.t("Sign in to verify your email")) {
@Override
- public void onFailure(final Throwable caught) {
- if (caught instanceof EmailHashExpiredException) {
- NotifyUser.error(i18n.t("Email confirmation code expired"), true);
- } else if (caught instanceof EmailHashInvalidException) {
- NotifyUser.error(i18n.t("Invalid confirmation code"), true);
- } else {
- NotifyUser.error(i18n.t("Other error trying to verify your password"), true);
- }
- }
+ public void onHistoryToken(final String token) {
+ userService.get().verifyPasswordHash(session.getUserHash(), token,
+ new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ if (caught instanceof EmailHashExpiredException) {
+ NotifyUser.error(i18n.t("Email confirmation code expired"), true);
+ } else if (caught instanceof EmailHashInvalidException) {
+ NotifyUser.error(i18n.t("Invalid confirmation code"), true);
+ } else {
+ NotifyUser.error(i18n.t("Other error trying to verify your password"), true);
+ }
+ }
- @Override
- public void onSuccess(final Void result) {
- NotifyUser.info("Great. Your email is now verified");
- session.getCurrentUser().setEmailVerified(true);
- // This get NPE
- // if (optGeneral.get().isVisible()) {
- // optGeneral.get().update();
- // }
+ @Override
+ public void onSuccess(final Void result) {
+ NotifyUser.info("Great. Your email is now verified");
+ session.getCurrentUser().setEmailVerified(true);
+ // This get NPE
+ // if (optGeneral.get().isVisible()) {
+ // optGeneral.get().update();
+ // }
+ }
+ });
}
});
- }
- });
}
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -31,6 +31,7 @@
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.events.UserSignOutEvent;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
@@ -332,8 +333,7 @@
currentSpace = Space.userSpace;
getView().setWindowTitle(i18n.t("Inbox"));
} else {
- signIn.get().setErrorMessage(i18n.t("Sign in or create an account to access to your inbox"),
- NotifyLevel.info);
+ signIn.get().setErrorMessage(i18n.t(CoreMessages.SIGN_IN_TO_ACCESS_INBOX), NotifyLevel.info);
stateManager.gotoHistoryToken(TokenUtils.addRedirect(SiteTokens.SIGN_IN, inboxToken));
getView().setUserBtnDown(false);
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -62,7 +62,7 @@
@SuppressWarnings("serial")
public class GroupSNConfActions extends AbstractSNActionsRegistry {
- public static final String OPTIONS_STYLES = "k-sn-options-menu, k-noborder, k-nobackcolor, k-no-backimage, k-btn-min";
+ public static final String OPTIONS_STYLES = "k-sn-options-menu, k-noborder, k-optionsborder, k-nobackcolor, k-no-backimage, k-btn-min";
@Inject
public GroupSNConfActions(final SessionConstants session, final StateManager stateManager,
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -25,13 +25,19 @@
*/
public abstract class HistoryTokenAuthNotNeededCallback implements HistoryTokenCallback {
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see cc.kune.core.client.state.HistoryTokenCallback#authMandatory()
*/
@Override
public boolean authMandatory() {
return false;
+ }
+ @Override
+ public String getInfoMessage() {
+ return "";
}
}
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenCallback.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -33,6 +33,14 @@
boolean authMandatory();
/**
+ * Info message used to show some message to the user (like
+ * "sign-in to create a new group");
+ *
+ * @return the string
+ */
+ String getInfoMessage();
+
+ /**
* On history token do some action (Example #inbox, #newgroup)
*
* @param token
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -25,6 +25,12 @@
*/
public abstract class HistoryTokenMustBeAuthCallback implements HistoryTokenCallback {
+ private final String infoMessage;
+
+ public HistoryTokenMustBeAuthCallback(final String signInMessage) {
+ this.infoMessage = signInMessage;
+ }
+
/*
* (non-Javadoc)
*
@@ -35,4 +41,9 @@
return true;
}
+ @Override
+ public String getInfoMessage() {
+ return infoMessage;
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -97,7 +97,7 @@
void resumeTokenChange();
- void setHistoryStateToken(StateToken newToken);
+ void setHistoryStateToken(String token);
void setRetrievedState(StateAbstractDTO state);
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -28,8 +28,11 @@
import cc.kune.common.client.actions.BeforeActionCollection;
import cc.kune.common.client.actions.BeforeActionListener;
import cc.kune.common.client.log.Log;
+import cc.kune.common.client.notify.NotifyLevel;
import cc.kune.common.client.notify.ProgressHideEvent;
import cc.kune.common.shared.utils.Pair;
+import cc.kune.common.shared.utils.TextUtils;
+import cc.kune.core.client.auth.SignIn;
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.events.GoHomeEvent;
@@ -64,6 +67,7 @@
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
+import com.google.inject.Provider;
public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
public interface OnFinishGetContent {
@@ -74,25 +78,29 @@
private final EventBus eventBus;
private final HistoryWrapper history;
private StateToken previousGroupToken;
+ private String previousHash;
/**
* When a historyChanged is interrupted (for instance because you are editing
* something), the new history token is stored here
*/
private String resumedHistoryToken;
private final Session session;
+ private final Provider<SignIn> signIn;
private final SiteTokenListeners siteTokens;
private final TokenMatcher tokenMatcher;
@Inject
public StateManagerDefault(final ContentCache contentProvider, final Session session,
final HistoryWrapper history, final TokenMatcher tokenMatcher, final EventBus eventBus,
- final SiteTokenListeners siteTokens) {
+ final SiteTokenListeners siteTokens, final Provider<SignIn> signIn) {
this.tokenMatcher = tokenMatcher;
this.eventBus = eventBus;
this.contentCache = contentProvider;
this.session = session;
this.history = history;
+ this.signIn = signIn;
this.previousGroupToken = null;
+ this.previousHash = null;
this.resumedHistoryToken = null;
tokenMatcher.init(GwtWaverefEncoder.INSTANCE);
this.siteTokens = siteTokens;
@@ -177,6 +185,10 @@
Log.debug("login mandatory for " + currentToken);
// Ok, we have to redirect because this token (for instance
// #translate) needs the user authenticated
+ final String infoMessage = tokenListener.getInfoMessage();
+ if (TextUtils.notEmpty(infoMessage)) {
+ signIn.get().setErrorMessage(infoMessage, NotifyLevel.info);
+ }
redirectButSignInBefore(currentToken);
} else {
// The auth is not mandatory, go ahead with the token action
@@ -213,6 +225,7 @@
SpaceConfEvent.fire(eventBus, Space.groupSpace, currentToken);
SpaceConfEvent.fire(eventBus, Space.publicSpace, TokenUtils.preview(currentToken));
if (setBrowserHistory) {
+ previousHash = history.getToken();
history.newItem(currentToken, false);
SpaceSelectEvent.fire(eventBus, Space.groupSpace);
}
@@ -245,18 +258,19 @@
@Override
public void gotoHistoryToken(final String token) {
Log.debug("StateManager: history goto-string-token: " + token);
+ previousHash = history.getToken();
history.newItem(token);
}
@Override
public void gotoHistoryTokenButRedirectToCurrent(final String token) {
gotoHistoryToken(TokenUtils.addRedirect(token, history.getToken()));
-
}
@Override
public void gotoStateToken(final StateToken newToken) {
Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousGroupToken);
+ previousHash = history.getToken();
history.newItem(newToken.getEncoded());
}
@@ -413,7 +427,7 @@
// signin(inbox) && cancel
restorePreviousToken(fireChange);
} else {
- history.newItem(previousToken); // FIXMEKK
+ history.newItem(previousHash);
}
} else {
// No redirect then restore previous token
@@ -469,11 +483,11 @@
@Override
public void restorePreviousToken(final boolean fireChange) {
- if (previousGroupToken != null) {
+ if (previousHash != null) {
if (fireChange) {
- gotoStateToken(previousGroupToken);
+ gotoHistoryToken(previousHash);
} else {
- setHistoryStateToken(previousGroupToken);
+ setHistoryStateToken(previousHash);
}
}
}
@@ -489,9 +503,10 @@
}
@Override
- public void setHistoryStateToken(final StateToken newToken) {
+ public void setHistoryStateToken(final String newToken) {
Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousGroupToken);
- history.newItem(newToken.getEncoded(), false);
+ previousHash = history.getToken();
+ history.newItem(newToken, false);
}
@Override
@@ -506,6 +521,7 @@
if (history.getToken().equals(token)) {
setState(newState);
}
+ previousHash = history.getToken();
history.newItem(token);
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-03-28 23:23:29 UTC (rev 1805)
@@ -375,6 +375,14 @@
height: 17px !important;
}
+div div.siteBar table.k-sitebar img.k-iconlabel-left {
+ margin: 0px !important;
+}
+
+div div.siteBar table.k-sitebar div.k-iconlabel-left {
+ margin: 0px !important;
+}
+
.k-sitebar-wave-status {
font: 13px 'Ubuntu', arial;
/* font-weight: bold; */
@@ -862,7 +870,6 @@
border: 2px solid #CCCCCC;
cursor: pointer;
margin: 0;
- padding: 3px 0;
text-decoration: none;
background-color: #F2F2F2;
color: #A05A2C;
@@ -875,9 +882,14 @@
width: auto !IMPORTANT;
width: 50px;
min-width: 40px;
- height: 28px;
+ height: 26px;
}
+button.k-button
+{
+ padding: 0 2px;
+}
+
.k-sn-mainpanel .x-btn button:hover,.k-sn-mainpanel button:hover,button.k-button:hover,button.gwt-Button:hover
{
border: 2px orange solid;
@@ -956,6 +968,13 @@
opacity: 0.60 !important;
}
+button.k-optionsborder img.k-iconlabel-left {
+ border: 2px solid #CCCCCC;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
/* end buttons */
.k-sn-collabslabel {
@@ -1568,3 +1587,5 @@
top: 0 !important;
width: auto !important;
}
+
+
Modified: trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/server/rpc/GroupRPC.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -161,7 +161,7 @@
final GroupDTO groupDTO) throws DefaultException {
final Group group = groupManager.findByShortName(token.getGroup());
final Long id = group.getId();
- if (!id.equals(groupDTO.getId())) {
+ if (!id.equals(groupDTO.getId()) || group.isPersonal()) {
throw new AccessViolationException();
}
final Group updatedGroup = groupManager.update(id, groupDTO);
Modified: trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -34,7 +34,12 @@
}
public SharedFileDownloadUtils(final String prefix) {
- this.prefix = prefix;
+ if (prefix.endsWith("/")) {
+ final int lastSlash = prefix.lastIndexOf("/");
+ this.prefix = prefix.substring(0, lastSlash == -1 ? prefix.length() : lastSlash);
+ } else {
+ this.prefix = prefix;
+ }
}
public String getGroupLogo(final GroupDTO group) {
Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -103,7 +103,7 @@
writeToBuddie.get();
}
});
- tokenListener.put(SiteTokens.TRANSLATE, new HistoryTokenMustBeAuthCallback() {
+ tokenListener.put(SiteTokens.TRANSLATE, new HistoryTokenMustBeAuthCallback("") {
@Override
public void onHistoryToken(final String token) {
if (session.isLogged() && session.getInitData().isTranslatorEnabled()) {
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -34,7 +34,7 @@
public ContentViewerOptionsMenu(final CoreResources res) {
super();
this.withIcon(res.arrowdownsitebar()).withStyles(
- "k-def-docbtn, k-fr, k-noborder, k-no-backimage, k-nobackcolor").withId(ID);
+ "k-def-docbtn, k-fr, k-noborder, k-optionsborder, k-no-backimage, k-nobackcolor").withId(ID);
}
Modified: trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/gspace/client/options/GroupOptionsPresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -72,6 +72,15 @@
this.img = img;
}
+ private void checkState(final StateAbstractDTO state) {
+ if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
+ prefsItem.setVisible(true);
+ } else {
+ getView().hide();
+ prefsItem.setVisible(false);
+ }
+ }
+
private void createActions() {
final AbstractExtendedAction groupPrefsAction = new AbstractExtendedAction() {
@Override
@@ -105,12 +114,7 @@
@Override
public void onStateChanged(final StateChangedEvent event) {
final StateAbstractDTO state = event.getState();
- if (!state.getGroup().isPersonal() && state.getGroupRights().isAdministrable()) {
- prefsItem.setVisible(true);
- } else {
- getView().hide();
- prefsItem.setVisible(false);
- }
+ checkState(state);
}
});
session.onUserSignOut(false, new UserSignOutHandler() {
@@ -126,6 +130,7 @@
public void show(final String token) {
stateManager.gotoHistoryToken(token);
super.show();
+ checkState(session.getCurrentState());
}
@Override
Added: trunk/src/main/java/cc/kune/hspace/client/HSpace.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpace.java (rev 0)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpace.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -0,0 +1,27 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.hspace.client;
+
+import cc.kune.common.client.actions.ui.IsActionExtensible;
+
+public interface HSpace {
+ IsActionExtensible getToolbar();
+}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePanel.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -23,6 +23,8 @@
import org.waveprotocol.wave.client.common.util.DateUtils;
+import cc.kune.common.client.actions.ui.ActionSimplePanel;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
import cc.kune.common.client.ui.DottedTabPanel;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.state.SiteTokens;
@@ -52,10 +54,12 @@
interface HSpacePanelUiBinder extends UiBinder<Widget, HSpacePanel> {
}
+
public static final String K_HOME_GLOBAL_STATS = "k-home-global-stats";
-
public static final String K_HOME_GROUP_STATS = "k-home-group-stats";
+ public static final String K_HOME_TOOLBAR = "k-home-toolbar";
+
private static HSpacePanelUiBinder uiBinder = GWT.create(HSpacePanelUiBinder.class);
private final SharedFileDownloadUtils downUtils;
@@ -73,6 +77,8 @@
@UiField
public InlineLabel globalStatsTotalUsersTitle;
private final RootPanel groupStatsParent;
+
+ private final ActionSimplePanel homeToolbar;
@UiField
public FlowPanel lastActivityInYourGroup;
@UiField
@@ -89,6 +95,7 @@
public FlowPanel lastPublishedContents;
@UiField
public Label lastPublishedContentsTitle;
+
@UiField
FlowPanel lastPublishedPanel;
@@ -98,14 +105,15 @@
@UiField
public Hyperlink unreadInYourInbox;
-
private final Widget widget;
@Inject
public HSpacePanel(final I18nTranslationService i18n, final GSpaceArmor armor,
- final Provider<GroupContentHomeLink> linkProv, final SharedFileDownloadUtils downUtils) {
+ final Provider<GroupContentHomeLink> linkProv, final SharedFileDownloadUtils downUtils,
+ final ActionSimplePanel homeToolbar) {
this.linkProv = linkProv;
this.downUtils = downUtils;
+ this.homeToolbar = homeToolbar;
widget = uiBinder.createAndBindUi(this);
globalStatsTitle.setText(i18n.t("Stats"));
globalStatsTotalGroupsTitle.setText(i18n.t("Hosted groups:"));
@@ -120,6 +128,10 @@
unreadInYourInbox.setTargetHistoryToken(SiteTokens.WAVE_INBOX);
globalStatsParent = RootPanel.get(K_HOME_GLOBAL_STATS);
groupStatsParent = RootPanel.get(K_HOME_GROUP_STATS);
+ final RootPanel homeToolbarParent = RootPanel.get(K_HOME_TOOLBAR);
+ if (homeToolbarParent != null) {
+ homeToolbarParent.add(homeToolbar);
+ }
if (globalStatsParent != null) {
globalStatsParent.add(globalStats);
}
@@ -150,6 +162,11 @@
}
@Override
+ public IsActionExtensible getToolbar() {
+ return homeToolbar;
+ }
+
+ @Override
public HasText getUnreadInYourInbox() {
return unreadInYourInbox;
}
Modified: trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/java/cc/kune/hspace/client/HSpacePresenter.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -21,12 +21,20 @@
import java.util.List;
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.events.InboxUnreadUpdatedEvent;
import cc.kune.core.client.events.UserSignInOrSignOutEvent;
import cc.kune.core.client.events.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
+import cc.kune.core.client.i18n.I18n;
+import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
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.dto.ContentSimpleDTO;
import cc.kune.core.shared.dto.GroupDTO;
import cc.kune.core.shared.dto.HomeStatsDTO;
@@ -41,17 +49,21 @@
import com.gwtplatform.mvp.client.proxy.Proxy;
import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public class HSpacePresenter extends Presenter<HSpacePresenter.HSpaceView, HSpacePresenter.HSpaceProxy> {
+public class HSpacePresenter extends Presenter<HSpacePresenter.HSpaceView, HSpacePresenter.HSpaceProxy>
+ implements HSpace {
@ProxyCodeSplit
public interface HSpaceProxy extends Proxy<HSpacePresenter> {
}
+
public interface HSpaceView extends View {
HasText getGlobalStatsTotalGroupsCount();
HasText getGlobalStatsTotalUsersCount();
+ IsActionExtensible getToolbar();
+
HasText getUnreadInYourInbox();
void setInboxUnreadVisible(boolean visible);
@@ -67,11 +79,18 @@
void setUserGroupsActivityVisible(boolean visible);
}
+ private final Session session;
+ private final StateManager stateManager;
+ private final Provider<ClientStatsServiceAsync> statsService;
+
@Inject
public HSpacePresenter(final Session session, final EventBus eventBus, final HSpaceView view,
final HSpaceProxy proxy, final Provider<ClientStatsServiceAsync> statsService,
- final I18nTranslationService i18n) {
+ final StateManager stateManager, final I18nTranslationService i18n) {
super(eventBus, view, proxy);
+ this.session = session;
+ this.statsService = statsService;
+ this.stateManager = stateManager;
eventBus.addHandler(InboxUnreadUpdatedEvent.getType(),
new InboxUnreadUpdatedEvent.InboxUnreadUpdatedHandler() {
@Override
@@ -87,6 +106,33 @@
}
}
});
+ }
+
+ @Override
+ public IsActionExtensible getToolbar() {
+ return getView().getToolbar();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+
+ final ButtonDescriptor signInHomeBtn = new ButtonDescriptor(new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.gotoHistoryTokenButRedirectToCurrent(SiteTokens.SIGN_IN);
+ }
+ });
+ signInHomeBtn.withText(I18n.t(CoreMessages.SIGN_IN_TITLE)).withStyles("k-home-toolbar-btn, k-fl");
+ final ButtonDescriptor newGroupHomeBtn = new ButtonDescriptor(new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ stateManager.gotoHistoryToken(SiteTokens.NEW_GROUP);
+ }
+ });
+ newGroupHomeBtn.withText(I18n.t(CoreMessages.NEW_GROUP_TITLE)).withStyles("k-home-toolbar-btn, k-fr");
+ getView().getToolbar().add(signInHomeBtn);
+ getView().getToolbar().add(newGroupHomeBtn);
final AsyncCallbackSimple<HomeStatsDTO> callback = new AsyncCallbackSimple<HomeStatsDTO>() {
@Override
public void onSuccess(final HomeStatsDTO result) {
@@ -99,7 +145,6 @@
final boolean logged = session.isLogged();
final boolean myGroupsHasActivity = logged && lastContentsOfMyGroups != null
&& lastContentsOfMyGroups.size() > 0;
- // NotifyUser.info("" + lastContentsOfMyGroups.size(), true);
if (myGroupsHasActivity) {
getView().setLastContentsOfMyGroup(lastContentsOfMyGroups);
}
@@ -111,6 +156,7 @@
@Override
public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
final boolean logged = event.isLogged();
+ signInHomeBtn.setVisible(!logged);
if (logged) {
statsService.get().getHomeStats(session.getUserHash(), callback);
} else {
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/main/webapp/ws.html 2012-03-28 23:23:29 UTC (rev 1805)
@@ -131,12 +131,10 @@
min-width: 320px;
}
-#k-home-ini { /* clear: both; */
- font-size: 20px;
+#k-home-ini {
+ font-size: 17px;
color: #69312f;
text-align: justify;
- /* padding: 27px 0; */
- /* line-height: 1.3em; */
}
#k-home-ini a {
@@ -191,7 +189,7 @@
line-height: 45px;
}
-#k-home-body { /* display: table-row;*/
+#k-home-body {
clear: both;
display: block;
}
@@ -211,16 +209,40 @@
}
#k-home-summary-right {
- padding-top: 42px;
- vertical-align: bottom;
+ padding-top: 45px;
+ vertical-align: top;
}
-#k-home-right { /* white-space: nowrap; */
+#k-home-right {
vertical-align: top;
padding-top: 20px;
- /* float: right; */
}
+#k-home-toolbar {
+ width: 100%;
+ padding-top: 10px;
+}
+
+div#k-home-toolbar table {
+ width: 100%;
+}
+
+.k-home-toolbar-btn {
+ font-size: 18px !important;
+ min-height: 40px;
+ height: auto !important;
+ max-width: 150px;
+ min-height: 45px;
+}
+
+div#k-home-toolbar table tbody tr td button.gwt-Button div.k-iconlabel {
+ white-space: normal !important;
+}
+
+div#k-home-toolbar table tbody tr td button.gwt-Button {
+ padding: 0px !important;
+}
+
#k-home-group-stats {
color: #c87137;
}
@@ -234,7 +256,6 @@
font-size: 18px;
font-weight: bold;
padding-top: 10px;
- /* clear: both; */
}
.k-home-normal-text {
@@ -367,11 +388,15 @@
share, collaborate with others and create your web
spaces easily</strong>. <a href="#signin">Join!</a>
</div>
- <!-- div home-ini -->
- <!-- k-home-summary-right -->
+ <!-- div k-home-ini -->
+ <div id="k-home-toolbar">
+ <!-- This id is optional for kune (you can create a different .html but preserve this id if you want the home signin/newgroup home buttons) -->
+ </div>
+ <!-- div k-home-toolbar -->
</div>
- <!-- div home-header -->
+ <!-- k-home-summary-right -->
</div>
+ <!-- div home-intro -->
<div id="k-home-body">
<div id="k-home-left">
<div id="k-home-group-stats" style="display: none;">
@@ -382,7 +407,7 @@
<!-- div k-home-left -->
<div id="k-home-right">
<div id="k-home-global-stats" style="display: none;">
- <!-- This id is optinal for kune (you can create a different .html but preserve this id if you want this stats) -->
+ <!-- This id is optional for kune (you can create a different .html but preserve this id if you want this stats) -->
</div>
</div>
<!-- div k-home-right -->
Modified: trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/test/java/cc/kune/core/client/state/impl/StateManagerDefaultTest.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -108,7 +108,7 @@
}).when(session).onAppStart(anyBoolean(), (AppStartHandler) Mockito.anyObject());
state = Mockito.mock(StateAbstractDTO.class);
stateManager = new StateManagerDefault(contentProvider, session, history, tokenMatcher, eventBus,
- siteTokens);
+ siteTokens, null);
stateChangeHandler = Mockito.mock(StateChangedHandler.class);
groupChangeHandler = Mockito.mock(GroupChangedHandler.class);
toolChangeHandler = Mockito.mock(ToolChangedHandler.class);
Modified: trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -25,41 +25,60 @@
import org.junit.Before;
import org.junit.Test;
+import cc.kune.core.shared.FileConstants;
+
public class SharedFileDownloadUtilsTest {
private static final String GROUP = "groupname";
- private SharedFileDownloadUtils noPrefixUtils;
- private SharedFileDownloadUtils prefixUtils;
+ private SharedFileDownloadUtils[] prefixUtils;
+ private SharedFileDownloadUtils utilNoPrefix;
+ private SharedFileDownloadUtils utilPrefix;
+ private SharedFileDownloadUtils utilPrefixWithSlash;
@Before
public void before() {
- prefixUtils = new SharedFileDownloadUtils("http://example.org");
- noPrefixUtils = new SharedFileDownloadUtils("");
+ utilPrefix = new SharedFileDownloadUtils("http://example.org");
+ utilPrefixWithSlash = new SharedFileDownloadUtils("http://example.org/");
+ utilNoPrefix = new SharedFileDownloadUtils("");
+ prefixUtils = new SharedFileDownloadUtils[] { utilPrefix, utilPrefixWithSlash };
}
@Test
public void testGetLogoHtml() {
- assertTrue(prefixUtils.getLogoAvatarHtml(GROUP, false, false, 50, 5).contains(
- "'http://example.org/others/defgroup.gif"));
- assertTrue(noPrefixUtils.getLogoAvatarHtml(GROUP, false, true, 50, 5),
- prefixUtils.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains("/others/unknown.jpg"));
+ for (final SharedFileDownloadUtils util : prefixUtils) {
+ assertTrue(util.getLogoAvatarHtml(GROUP, false, false, 50, 5).contains(
+ "'http://example.org/others/defgroup.gif"));
+ assertTrue(
+ util.getLogoAvatarHtml(GROUP, false, false, 50, 5),
+ util.getLogoAvatarHtml(GROUP, false, false, 50, 5).contains(
+ "http://example.org/others/defgroup.gif"));
+ assertTrue(
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5),
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains(
+ "http://example.org/others/unknown.jpg"));
+ assertTrue(utilNoPrefix.getLogoAvatarHtml(GROUP, false, true, 50, 5),
+ util.getLogoAvatarHtml(GROUP, false, true, 50, 5).contains("/others/unknown.jpg"));
+ assertTrue(
+ util.getLogoAvatarHtml(GROUP, true, false, 50, 5),
+ util.getLogoAvatarHtml(GROUP, true, false, 50, 5).contains(
+ "'http://example.org/ws/servlets/EntityLogoDownloadManager?token=groupname"));
+ }
+
assertTrue(
- prefixUtils.getLogoAvatarHtml(GROUP, true, false, 50, 5),
- prefixUtils.getLogoAvatarHtml(GROUP, true, false, 50, 5).contains(
- "'http://example.org/ws/servlets/EntityLogoDownloadManager?token=groupname"));
- assertTrue(
- noPrefixUtils.getLogoAvatarHtml(GROUP, true, true, 50, 5),
- noPrefixUtils.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains(
+ utilNoPrefix.getLogoAvatarHtml(GROUP, true, true, 50, 5),
+ utilNoPrefix.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains(
"/ws/servlets/EntityLogoDownloadManager?token=groupname"));
- assertTrue(!noPrefixUtils.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains("http"));
+ assertTrue(!utilNoPrefix.getLogoAvatarHtml(GROUP, true, true, 50, 5).contains("http"));
}
@Test
public void testUserAvatar() {
- assertEquals("http://example.org/ws/servlets/UserLogoDownloadManager?username=groupname",
- prefixUtils.getUserAvatar(GROUP));
- assertEquals("/ws/servlets/UserLogoDownloadManager?username=groupname",
- noPrefixUtils.getUserAvatar(GROUP));
+ assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ utilPrefix.getUserAvatar(GROUP));
+ assertEquals("http://example.org" + FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ utilPrefixWithSlash.getUserAvatar(GROUP));
+ assertEquals(FileConstants.LOGODOWNLOADSERVLET + "?token=groupname",
+ utilNoPrefix.getUserAvatar(GROUP));
}
}
Modified: trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java 2012-03-28 17:58:28 UTC (rev 1804)
+++ trunk/src/test/java/cc/kune/selenium/spaces/SitePageObject.java 2012-03-28 23:23:29 UTC (rev 1805)
@@ -23,7 +23,7 @@
import org.openqa.selenium.support.FindBy;
import cc.kune.core.client.notify.confirm.UserConfirmPanel;
-import cc.kune.core.client.sitebar.SitebarGroupsLink;
+import cc.kune.core.client.sitebar.SitebarNewGroupLink;
import cc.kune.core.client.sitebar.search.SitebarSearchPanel;
import cc.kune.core.client.sitebar.spaces.SpaceSelectorPresenter.SpaceSelectorView;
import cc.kune.selenium.PageObject;
@@ -39,7 +39,7 @@
public WebElement groupSpaceBtn;
@FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.HOME_SPACE_ID)
public WebElement homeSpaceBtn;
- @FindBy(id = SeleniumConstants.GWTDEV + SitebarGroupsLink.NEW_GROUP_BTN_ID)
+ @FindBy(id = SeleniumConstants.GWTDEV + SitebarNewGroupLink.NEW_GROUP_BTN_ID)
public WebElement newGroupBtn;
@FindBy(id = SeleniumConstants.GWTDEV + SpaceSelectorView.PUBLIC_SPACE_ID)
public WebElement publicSpaceBtn;
1
0
28 Mar '12
Author: vjrj_
Date: 2012-03-28 19:58:28 +0200 (Wed, 28 Mar 2012)
New Revision: 1804
Added:
trunk/src/main/java/cc/kune/common/client/ui/Animations.java
Modified:
trunk/.classpath
trunk/pom.xml
trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java
trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.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/state/StateManager.java
trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
Log:
CLOSED - # 227: New group close button does not work
http://kune.ourproject.org/issues/ticket/227
Animations via GwtQuery
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/.classpath 2012-03-28 17:58:28 UTC (rev 1804)
@@ -76,6 +76,7 @@
<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/googlecode/gwtquery/gwtquery/1.1.0/gwtquery-1.1.0-2.1.0.jar" sourcepath="M2_REPO/com/googlecode/gwtquery/gwtquery/1.1.0/gwtquery-1.1.0-2.1.0-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat.jar" sourcepath="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
<classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/pom.xml 2012-03-28 17:58:28 UTC (rev 1804)
@@ -551,13 +551,13 @@
<artifactId>box-src</artifactId>
<version>${wiab.version}</version>
</dependency>
- <dependency>
- <groupId>org.waveprotocol</groupId>
- <artifactId>waveinabox-server-0.3</artifactId>
- <version>${wiab.version}</version>
- </dependency>
<dependency>
<groupId>org.waveprotocol</groupId>
+ <artifactId>waveinabox-server-0.3</artifactId>
+ <version>${wiab.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.waveprotocol</groupId>
<artifactId>gwt-util-src</artifactId>
<version>${wiab.version}</version>
</dependency>
@@ -709,6 +709,15 @@
<artifactId>ical4j</artifactId>
<version>1.0.2</version>
</dependency>
+ <dependency>
+ <groupId>com.googlecode.gwtquery</groupId>
+ <artifactId>gwtquery</artifactId>
+ <version>1.1.0</version>
+ <!-- If you are using old versions of gwt, uncomment the appropriate
+ line -->
+ <classifier>2.1.0</classifier>
+ <scope>provided</scope>
+ </dependency>
<!-- openfire auth integration -->
<!-- <dependency> -->
<!-- <groupId>org.igniterealtime</groupId> -->
Modified: trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/common/KuneCommon.gwt.xml 2012-03-28 17:58:28 UTC (rev 1804)
@@ -4,7 +4,7 @@
<inherits name='com.google.gwt.user.User'/>
<!-- Other module inherits -->
<!-- Specify the app entry point class. -->
- <!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint'
+ <!-- <entry-point class='cc.kune.msgs.client.KuneMessagesSampleEntryPoint'
/> -->
<!-- Specify the paths for translatable code -->
<source path="shared"/>
@@ -14,5 +14,6 @@
<inherits name='org.cobogw.gwt.user.User'/>
<inherits name='com.google.gwt.inject.Inject'/>
<inherits name="com.extjs.gxt.ui.GXT"/>
+ <inherits name='com.google.gwt.query.Query'/>
<stylesheet src="kune-common.css"/>
</module>
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/common/client/ui/Animations.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/Animations.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/ui/Animations.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -0,0 +1,28 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.common.client.ui;
+
+import com.google.inject.Singleton;
+
+@Singleton
+public class Animations {
+ public static boolean enabled = true;
+}
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 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -19,10 +19,13 @@
*/
package cc.kune.common.client.ui.dialogs;
+import static com.google.gwt.query.client.GQuery.$;
+import static com.google.gwt.query.client.GQuery.Effects;
import cc.kune.common.client.events.EventBusInstance;
import cc.kune.common.client.shortcuts.OnEscapePressedEvent;
import cc.kune.common.client.shortcuts.OnEscapePressedEvent.OnEscapePressedHandler;
import cc.kune.common.client.tooltip.Tooltip;
+import cc.kune.common.client.ui.Animations;
import cc.kune.common.client.ui.PopupTopPanel;
import cc.kune.common.shared.utils.TextUtils;
import cc.kune.core.client.i18n.I18n;
@@ -34,6 +37,7 @@
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.i18n.client.HasDirection.Direction;
+import com.google.gwt.query.client.Function;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.UIObject;
@@ -182,7 +186,18 @@
}
public void hide() {
- popup.hide();
+ if (popup.isShowing()) {
+ if (Animations.enabled) {
+ $(popup).as(Effects).slideUp(new Function() {
+ @Override
+ public void f() {
+ popup.hide();
+ }
+ });
+ } else {
+ popup.hide();
+ }
+ }
}
public void recalculateSize() {
@@ -197,7 +212,7 @@
@Override
public void onOnEscapePressed(final OnEscapePressedEvent event) {
if (popup.isShowing()) {
- popup.hide();
+ hide();
}
}
});
@@ -205,7 +220,7 @@
closeClickHandler = super.getCloseBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- popup.hide();
+ hide();
}
});
}
@@ -274,10 +289,24 @@
public void showCentered() {
Tooltip.hideCurrent();
+ showEffect();
popup.showCentered();
}
+ private void showEffect() {
+ if (Animations.enabled) {
+ $(popup).stop(true).show();
+ // $(popup).stop(true).hide().as(Effects).slideDown(new Function() {
+ // @Override
+ // public void f() {
+ // }
+ // });
+ }
+ }
+
public void showRelativeTo(final UIObject object) {
+ showEffect();
popup.showRelativeTo(object);
}
+
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -106,10 +106,9 @@
if (!session.isLogged()) {
NotifyUser.showProgress();
getView().show();
- // getView().center();
NotifyUser.hideProgress();
} else {
- stateManager.restorePreviousToken();
+ stateManager.restorePreviousToken(false);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInAbstractPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -36,10 +36,10 @@
public abstract class SignInAbstractPresenter<V extends View, Proxy_ extends Proxy<?>> extends
Presenter<View, Proxy<?>> {
- protected final LoginRememberManager loginRemember;
protected final CookiesManager cookiesManager;
private String gotoTokenOnCancel;
protected final I18nUITranslationService i18n;
+ protected final LoginRememberManager loginRemember;
protected final Session session;
protected final StateManager stateManager;
@@ -81,7 +81,7 @@
stateManager.gotoHistoryToken(gotoTokenOnCancel);
gotoTokenOnCancel = null;
} else {
- stateManager.redirectOrRestorePreviousToken();
+ stateManager.redirectOrRestorePreviousToken(false);
}
}
}
@@ -96,7 +96,6 @@
session.setCurrentLanguage(language);
i18n.changeToLanguageIfNecessary(language.getCode(), language.getEnglishName(), true,
new I18nLanguageChangeNeeded() {
-
@Override
public void onChangeNeeded() {
}
@@ -106,7 +105,7 @@
if (gotoHomePage) {
stateManager.gotoStateToken(new StateToken(userInfoDTO.getHomePage()).clearDocument());
} else {
- stateManager.redirectOrRestorePreviousToken();
+ stateManager.redirectOrRestorePreviousToken(false);
}
}
});
Modified: trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/auth/SignInPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -248,7 +248,7 @@
registerProvider.get().hide();
registerProvider.get().setGotoTokenOnCancel(this.getGotoTokenOnCancel());
if (session.isLogged()) {
- stateManager.restorePreviousToken();
+ stateManager.restorePreviousToken(false);
} else {
eventBus.fireEvent(new ProgressShowEvent());
getView().show();
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 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPanel.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -76,9 +76,10 @@
private TextField<String> shortNameField;
private TextField<String> tag1;
- private TextField<String> tag2;
- private TextField<String> tag3;
+ // private TextField<String> tag2;
+ // private TextField<String> tag3;
+
@Inject
public NewGroupPanel(final I18nTranslationService i18n, final NotifyLevelImages img,
final MaskWidgetView mask, final GroupFieldFactory groupFieldFactory) {
@@ -251,7 +252,6 @@
@Override
public void hide() {
dialog.hide();
-
}
@Override
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 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/groups/newgroup/NewGroupPresenter.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -67,6 +67,7 @@
private final GroupOptions groupOptions;
private final Provider<GroupServiceAsync> groupService;
private final I18nTranslationService i18n;
+ private boolean justCreatedAGroup;
private final Session session;
private final Provider<SignIn> signIn;
private final StateManager stateManager;
@@ -87,6 +88,7 @@
@Override
public void doNewGroup() {
+ justCreatedAGroup = false;
session.check(new AsyncCallbackSimple<Void>() {
@Override
public void onSuccess(final Void result) {
@@ -96,7 +98,6 @@
getView().focusOnShorName();
NotifyUser.hideProgress();
} else {
- // stateManager.restorePreviousToken();
signIn.get().setErrorMessage(i18n.t(CoreMessages.REGISTER_TO_CREATE_A_GROUP), NotifyLevel.info);
signIn.get().showSignInDialog();
}
@@ -142,11 +143,14 @@
public void onCancel() {
getView().hide();
- stateManager.redirectOrRestorePreviousToken();
+ getView().unMask();
}
public void onClose() {
reset();
+ if (!justCreatedAGroup) {
+ stateManager.redirectOrRestorePreviousToken(false);
+ }
}
private void onRegister() {
@@ -189,9 +193,9 @@
@Override
public void onSuccess(final StateAbstractDTO state) {
+ justCreatedAGroup = true;
stateManager.setRetrievedStateAndGo(state);
getView().hide();
- reset();
getView().unMask();
// Add the new group to your info
session.getCurrentUserInfo().getGroupsIsAdmin().add(state.getGroup());
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManager.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -73,7 +73,7 @@
void onToolChanged(boolean fireNow, ToolChangedEvent.ToolChangedHandler handler);
- void redirectOrRestorePreviousToken();
+ void redirectOrRestorePreviousToken(boolean fireChange);
void refreshCurrentState();
@@ -87,10 +87,18 @@
void removeSiteToken(String token);
- void restorePreviousToken();
+ /**
+ * Restore previous token
+ *
+ * @param fireChange
+ * if only change the browser #token or also fire the event
+ */
+ void restorePreviousToken(boolean fireChange);
void resumeTokenChange();
+ void setHistoryStateToken(StateToken newToken);
+
void setRetrievedState(StateAbstractDTO state);
void setRetrievedStateAndGo(StateAbstractDTO state);
Modified: trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/core/client/state/impl/StateManagerDefault.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -404,20 +404,20 @@
}
@Override
- public void redirectOrRestorePreviousToken() {
+ public void redirectOrRestorePreviousToken(final boolean fireChange) {
final String token = history.getToken();
if (tokenMatcher.hasRedirect(token)) {
// URL of the form signin(group.tool)
final String previousToken = tokenMatcher.getRedirect(token).getRight();
if (previousToken.equals(SiteTokens.WAVE_INBOX) && session.isNotLogged()) {
// signin(inbox) && cancel
- restorePreviousToken();
+ restorePreviousToken(fireChange);
} else {
history.newItem(previousToken); // FIXMEKK
}
} else {
// No redirect then restore previous token
- restorePreviousToken();
+ restorePreviousToken(fireChange);
}
}
@@ -468,9 +468,13 @@
}
@Override
- public void restorePreviousToken() {
+ public void restorePreviousToken(final boolean fireChange) {
if (previousGroupToken != null) {
- gotoStateToken(previousGroupToken);
+ if (fireChange) {
+ gotoStateToken(previousGroupToken);
+ } else {
+ setHistoryStateToken(previousGroupToken);
+ }
}
}
@@ -485,6 +489,12 @@
}
@Override
+ public void setHistoryStateToken(final StateToken newToken) {
+ Log.debug("StateManager: history goto-token: " + newToken + ", previous: " + previousGroupToken);
+ history.newItem(newToken.getEncoded(), false);
+ }
+
+ @Override
public void setRetrievedState(final StateAbstractDTO newState) {
contentCache.cache(newState.getStateToken(), newState);
}
Modified: trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2012-03-28 13:41:51 UTC (rev 1803)
+++ trunk/src/main/java/cc/kune/wave/client/WaveStatusIndicator.java 2012-03-28 17:58:28 UTC (rev 1804)
@@ -86,7 +86,7 @@
@Inject
public WaveStatusIndicator(final SitebarActionsPresenter sitebar, final WaveStatusAction action) {
final IconLabelDescriptor status = new IconLabelDescriptor(action);
- status.setPosition(1);
+ status.setPosition(0);
sitebar.getRightToolbar().add(status);
}
}
1
0
Author: vjrj_
Date: 2012-03-28 15:41:51 +0200 (Wed, 28 Mar 2012)
New Revision: 1803
Added:
trunk/src/main/java/cc/kune/common/client/events/
trunk/src/main/java/cc/kune/common/client/events/EventBusInstance.java
trunk/src/main/java/cc/kune/common/client/events/EventBusWithLogging.java
trunk/src/main/java/cc/kune/common/client/events/EventBusWithoutLogging.java
trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcutRegisterDefault.java
trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcuts.java
trunk/src/main/java/cc/kune/common/client/shortcuts/OnEscapePressedEvent.java
trunk/src/test/java/cc/kune/common/client/events/
Removed:
trunk/src/main/java/cc/kune/common/client/log/EventBusWithLogging.java
trunk/src/main/java/cc/kune/common/client/log/EventBusWithoutLogging.java
trunk/src/main/java/cc/kune/common/client/shortcuts/DefaultGlobalShortcutRegister.java
Modified:
trunk/src/main/java/cc/kune/client/KuneGinjector.java
trunk/src/main/java/cc/kune/common/client/SampleGinModule.java
trunk/src/main/java/cc/kune/common/client/actions/KeyStroke.java
trunk/src/main/java/cc/kune/common/client/actions/Shortcut.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialogView.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java
trunk/src/main/java/cc/kune/common/public/kune-common.css
trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
trunk/src/main/java/cc/kune/core/client/CoreParts.java
trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
Log:
CLOSED - # 226: New global shortcuts
http://kune.ourproject.org/issues/ticket/226
Modified: trunk/src/main/java/cc/kune/client/KuneGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/client/KuneGinjector.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/client/KuneGinjector.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -27,7 +27,7 @@
import cc.kune.chat.client.ChatGinjector;
import cc.kune.common.client.actions.gwtui.GwtGuiProvider;
import cc.kune.common.client.actions.ui.GuiProvider;
-import cc.kune.common.client.log.EventBusWithLogging;
+import cc.kune.common.client.events.EventBusWithLogging;
import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.CoreGinModule;
Modified: trunk/src/main/java/cc/kune/common/client/SampleGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/SampleGinModule.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/SampleGinModule.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -23,7 +23,7 @@
import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
import cc.kune.common.client.actions.ui.DefaultGuiProvider;
import cc.kune.common.client.actions.ui.GuiProvider;
-import cc.kune.common.client.shortcuts.DefaultGlobalShortcutRegister;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegisterDefault;
import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
import com.google.gwt.inject.client.AbstractGinModule;
@@ -36,6 +36,6 @@
bind(GuiProvider.class).to(DefaultGuiProvider.class).in(Singleton.class);
bind(GxtGuiProvider.class).in(Singleton.class);
bind(GwtGuiProvider.class).in(Singleton.class);
- bind(GlobalShortcutRegister.class).to(DefaultGlobalShortcutRegister.class).in(Singleton.class);
+ bind(GlobalShortcutRegister.class).to(GlobalShortcutRegisterDefault.class).in(Singleton.class);
}
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/KeyStroke.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/KeyStroke.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/actions/KeyStroke.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -41,6 +41,7 @@
import java.util.Map;
import cc.kune.common.client.shortcuts.Keyboard;
+import cc.kune.core.client.i18n.I18n;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.event.dom.client.KeyCodes;
@@ -68,469 +69,471 @@
*/
public class KeyStroke {
- /**
- * The cache of recently created keystrokes. This maps KeyStrokes to
- * KeyStrokes in a cache which removes the least recently accessed entry,
- * under the assumption that garbage collection of a new keystroke is easy
- * when we find the old one that it matches in the cache.
- */
- private static final Map<KeyStroke, KeyStroke> CACHE = new HashMap<KeyStroke, KeyStroke>();
+ /**
+ * The cache of recently created keystrokes. This maps KeyStrokes to
+ * KeyStrokes in a cache which removes the least recently accessed entry,
+ * under the assumption that garbage collection of a new keystroke is easy
+ * when we find the old one that it matches in the cache.
+ */
+ private static final Map<KeyStroke, KeyStroke> CACHE = new HashMap<KeyStroke, KeyStroke>();
- private static final char CHAR_UNDEFINED = '\uffff';
+ private static final char CHAR_UNDEFINED = '\uffff';
- /** The most recently generated keystroke, or null. */
- private static KeyStroke recent;
+ /** The most recently generated keystroke, or null. */
+ private static KeyStroke recent;
- private static final int VK_UNDEFINED = 0;
- /**
- * A table of keyCode names to values. This is package-private to avoid an
- * accessor method.
- *
- * @see #getKeyStroke(String)
- */
- static final Map<String, Object> VKTABLE = new HashMap<String, Object>();
+ private static final int VK_UNDEFINED = 0;
+ /**
+ * A table of keyCode names to values. This is package-private to avoid an
+ * accessor method.
+ *
+ * @see #getKeyStroke(String)
+ */
+ static final Map<String, Object> VKTABLE = new HashMap<String, Object>();
- public static int getKeyboardModifiers(final NativeEvent event) {
- return (event.getShiftKey() ? Keyboard.MODIFIER_SHIFT : 0) | (event.getMetaKey() ? Keyboard.MODIFIER_META : 0)
- | (event.getCtrlKey() ? Keyboard.MODIFIER_CTRL : 0) | (event.getAltKey() ? Keyboard.MODIFIER_ALT : 0);
- }
+ public static int getKeyboardModifiers(final NativeEvent event) {
+ return (event.getShiftKey() ? Keyboard.MODIFIER_SHIFT : 0)
+ | (event.getMetaKey() ? Keyboard.MODIFIER_META : 0)
+ | (event.getCtrlKey() ? Keyboard.MODIFIER_CTRL : 0)
+ | (event.getAltKey() ? Keyboard.MODIFIER_ALT : 0);
+ }
- /**
- * Returns a keystroke representing a typed character.
- *
- * @param keyChar
- * the typed character
- * @return the specified keystroke
- */
- public static KeyStroke getKeyStroke(final char keyChar) {
- return getKeyStroke(keyChar, VK_UNDEFINED, 0, false);
- }
+ /**
+ * Returns a keystroke representing a typed character.
+ *
+ * @param keyChar
+ * the typed character
+ * @return the specified keystroke
+ */
+ public static KeyStroke getKeyStroke(final char keyChar) {
+ return getKeyStroke(keyChar, VK_UNDEFINED, 0, false);
+ }
- /**
- * Gets the appropriate keystroke, creating one if necessary.
- *
- * @param keyChar
- * the keyChar
- * @param keyCode
- * the keyCode
- * @param modifiers
- * the modifiers
- * @param release
- * true for key release
- * @return the specified keystroke
- */
- private static KeyStroke getKeyStroke(final char keyChar, final int keyCode, final int modifiers,
- final boolean release) {
- // Check level 0 cache.
- KeyStroke stroke = recent; // Avoid thread races.
- if (stroke != null && stroke.keyChar == keyChar && stroke.keyCode == keyCode && stroke.modifiers == modifiers
- && stroke.onKeyRelease == release) {
- return stroke;
- }
- stroke = new KeyStroke(keyChar, keyCode, modifiers, release);
- // Check level 1 cache.
- final KeyStroke cached = CACHE.get(stroke);
- if (cached == null) {
- CACHE.put(stroke, stroke);
- } else {
- stroke = cached;
- }
- return recent = stroke;
+ /**
+ * Gets the appropriate keystroke, creating one if necessary.
+ *
+ * @param keyChar
+ * the keyChar
+ * @param keyCode
+ * the keyCode
+ * @param modifiers
+ * the modifiers
+ * @param release
+ * true for key release
+ * @return the specified keystroke
+ */
+ private static KeyStroke getKeyStroke(final char keyChar, final int keyCode, final int modifiers,
+ final boolean release) {
+ // Check level 0 cache.
+ KeyStroke stroke = recent; // Avoid thread races.
+ if (stroke != null && stroke.keyChar == keyChar && stroke.keyCode == keyCode
+ && stroke.modifiers == modifiers && stroke.onKeyRelease == release) {
+ return stroke;
}
-
- /**
- * Returns a keystroke representing a typed character with the given
- * modifiers. Note that keyChar is a <code>Character</code> instead of a
- * <code>char</code> to avoid accidental ambiguity with
- * <code>getKeyStroke(int, int)</code>. The modifiers are the bitwise or of
- * the masks found in InputEvent; the new style (*_DOWN_MASK) is preferred,
- * but the old style will work.
- *
- * @param keyChar
- * the typed character
- * @param modifiers
- * the modifiers, or 0
- * @return the specified keystroke
- * @throws IllegalArgumentException
- * if keyChar is null
- */
- public static KeyStroke getKeyStroke(final Character keyChar, final int modifiers) {
- if (keyChar == null) {
- throw new IllegalArgumentException();
- }
- return getKeyStroke(keyChar.charValue(), VK_UNDEFINED, modifiers, false);
+ stroke = new KeyStroke(keyChar, keyCode, modifiers, release);
+ // Check level 1 cache.
+ final KeyStroke cached = CACHE.get(stroke);
+ if (cached == null) {
+ CACHE.put(stroke, stroke);
+ } else {
+ stroke = cached;
}
+ return recent = stroke;
+ }
- /**
- * Returns a keystroke representing a pressed key event, with the given
- * modifiers. The "virtual key" should be one of the VK_* constants in
- * {@link KeyEvent}. The modifiers are the bitwise or of the masks found in
- * InputEvent; the new style (*_DOWN_MASK) is preferred, but the old style
- * will work.
- *
- * @param keyCode
- * the virtual key
- * @param modifiers
- * the modifiers, or 0
- * @return the specified keystroke
- */
- public static KeyStroke getKeyStroke(final int keyCode, final int modifiers) {
- return getKeyStroke(CHAR_UNDEFINED, keyCode, modifiers, false);
+ /**
+ * Returns a keystroke representing a typed character with the given
+ * modifiers. Note that keyChar is a <code>Character</code> instead of a
+ * <code>char</code> to avoid accidental ambiguity with
+ * <code>getKeyStroke(int, int)</code>. The modifiers are the bitwise or of
+ * the masks found in InputEvent; the new style (*_DOWN_MASK) is preferred,
+ * but the old style will work.
+ *
+ * @param keyChar
+ * the typed character
+ * @param modifiers
+ * the modifiers, or 0
+ * @return the specified keystroke
+ * @throws IllegalArgumentException
+ * if keyChar is null
+ */
+ public static KeyStroke getKeyStroke(final Character keyChar, final int modifiers) {
+ if (keyChar == null) {
+ throw new IllegalArgumentException();
}
+ return getKeyStroke(keyChar.charValue(), VK_UNDEFINED, modifiers, false);
+ }
- /**
- * Returns a keystroke representing a pressed or released key event, with
- * the given modifiers. The "virtual key" should be one of the VK_*
- * constants in {@link KeyEvent}. The modifiers are the bitwise or of the
- * masks found in InputEvent; the new style (*_DOWN_MASK) is preferred, but
- * the old style will work.
- *
- * @param keyCode
- * the virtual key
- * @param modifiers
- * the modifiers, or 0
- * @param release
- * true if this is a key release instead of a key press
- * @return the specified keystroke
- */
- public static KeyStroke getKeyStroke(final int keyCode, final int modifiers, final boolean release) {
- return getKeyStroke(CHAR_UNDEFINED, keyCode, modifiers, release);
- }
+ /**
+ * Returns a keystroke representing a pressed key event, with the given
+ * modifiers. The "virtual key" should be one of the VK_* constants in
+ * {@link KeyEvent}. The modifiers are the bitwise or of the masks found in
+ * InputEvent; the new style (*_DOWN_MASK) is preferred, but the old style
+ * will work.
+ *
+ * @param keyCode
+ * the virtual key
+ * @param modifiers
+ * the modifiers, or 0
+ * @return the specified keystroke
+ */
+ public static KeyStroke getKeyStroke(final int keyCode, final int modifiers) {
+ return getKeyStroke(CHAR_UNDEFINED, keyCode, modifiers, false);
+ }
- /**
- * Returns a keystroke representing what caused the key event.
- *
- * @param event
- * the key event to convert
- * @return the specified keystroke, or null if the event is invalid
- * @throws NullPointerException
- * if event is null
- */
- public static KeyStroke getKeyStrokeForEvent(final Event event) {
- final int eventModif = getKeyboardModifiers(event);
- final int eventKeyCode = event.getKeyCode();
- // Log.info("key: " + eventKeyCode + " modifier: " + eventModif);
- switch (DOM.eventGetType(event)) {
- case Event.ONKEYDOWN:
- return getKeyStroke(CHAR_UNDEFINED, eventKeyCode, eventModif, false);
- case Event.ONKEYPRESS:
- final char charac = (char) eventKeyCode;
- return getKeyStroke(Character.isLowerCase(charac) ? Character.toUpperCase(charac) : charac, VK_UNDEFINED,
- eventModif, false);
- case Event.ONKEYUP:
- return getKeyStroke(CHAR_UNDEFINED, eventKeyCode, eventModif, false);
- default:
- return null;
- }
+ /**
+ * Returns a keystroke representing a pressed or released key event, with the
+ * given modifiers. The "virtual key" should be one of the VK_* constants in
+ * {@link KeyEvent}. The modifiers are the bitwise or of the masks found in
+ * InputEvent; the new style (*_DOWN_MASK) is preferred, but the old style
+ * will work.
+ *
+ * @param keyCode
+ * the virtual key
+ * @param modifiers
+ * the modifiers, or 0
+ * @param release
+ * true if this is a key release instead of a key press
+ * @return the specified keystroke
+ */
+ public static KeyStroke getKeyStroke(final int keyCode, final int modifiers, final boolean release) {
+ return getKeyStroke(CHAR_UNDEFINED, keyCode, modifiers, release);
+ }
+
+ /**
+ * Returns a keystroke representing what caused the key event.
+ *
+ * @param event
+ * the key event to convert
+ * @return the specified keystroke, or null if the event is invalid
+ * @throws NullPointerException
+ * if event is null
+ */
+ public static KeyStroke getKeyStrokeForEvent(final Event event) {
+ final int eventModif = getKeyboardModifiers(event);
+ final int eventKeyCode = event.getKeyCode();
+ // Log.info("key: " + eventKeyCode + " modifier: " + eventModif);
+ switch (DOM.eventGetType(event)) {
+ case Event.ONKEYDOWN:
+ return getKeyStroke(CHAR_UNDEFINED, eventKeyCode, eventModif, false);
+ case Event.ONKEYPRESS:
+ final char charac = (char) eventKeyCode;
+ return getKeyStroke(Character.isLowerCase(charac) ? Character.toUpperCase(charac) : charac,
+ VK_UNDEFINED, eventModif, false);
+ case Event.ONKEYUP:
+ return getKeyStroke(CHAR_UNDEFINED, eventKeyCode, eventModif, false);
+ default:
+ return null;
}
+ }
- /**
- * The typed character, or CHAR_UNDEFINED for key presses and releases.
- *
- * @serial the keyChar
- */
- private final char keyChar;
+ /**
+ * The typed character, or CHAR_UNDEFINED for key presses and releases.
+ *
+ * @serial the keyChar
+ */
+ private final char keyChar;
- /**
- * The virtual key code, or VK_UNDEFINED for key typed. Package visible for
- * use by Component.
- *
- * @serial the keyCode
- */
- int keyCode;
+ /**
+ * The virtual key code, or VK_UNDEFINED for key typed. Package visible for
+ * use by Component.
+ *
+ * @serial the keyCode
+ */
+ int keyCode;
- /**
- * The modifiers in effect. To match Sun, this stores the old style masks
- * for shift, control, alt, meta, and alt-graph (but not button1); as well
- * as the new style of extended modifiers for all modifiers.
- *
- * @serial bitwise or of the *_DOWN_MASK modifiers
- */
- private int modifiers;
+ /**
+ * The modifiers in effect. To match Sun, this stores the old style masks for
+ * shift, control, alt, meta, and alt-graph (but not button1); as well as the
+ * new style of extended modifiers for all modifiers.
+ *
+ * @serial bitwise or of the *_DOWN_MASK modifiers
+ */
+ private int modifiers;
- /**
- * True if this is a key release; should only be true if keyChar is
- * CHAR_UNDEFINED.
- *
- * @serial true to distinguish key pressed from key released
- */
- private boolean onKeyRelease;
+ /**
+ * True if this is a key release; should only be true if keyChar is
+ * CHAR_UNDEFINED.
+ *
+ * @serial true to distinguish key pressed from key released
+ */
+ private boolean onKeyRelease;
- /**
- * Construct a keystroke with default values: it will be interpreted as a
- * key typed event with an invalid character and no modifiers. Client code
- * should use the factory methods instead.
- *
- * @see #getKeyStroke(char)
- * @see #getKeyStroke(Character, int)
- * @see #getKeyStroke(int, int, boolean)
- * @see #getKeyStroke(int, int)
- * @see #getKeyStrokeForEvent(KeyEvent)
- * @see #getKeyStroke(String)
- */
- protected KeyStroke() {
- keyChar = CHAR_UNDEFINED;
- }
+ /**
+ * Construct a keystroke with default values: it will be interpreted as a key
+ * typed event with an invalid character and no modifiers. Client code should
+ * use the factory methods instead.
+ *
+ * @see #getKeyStroke(char)
+ * @see #getKeyStroke(Character, int)
+ * @see #getKeyStroke(int, int, boolean)
+ * @see #getKeyStroke(int, int)
+ * @see #getKeyStrokeForEvent(KeyEvent)
+ * @see #getKeyStroke(String)
+ */
+ protected KeyStroke() {
+ keyChar = CHAR_UNDEFINED;
+ }
- /**
- * Construct a keystroke with the given values. Client code should use the
- * factory methods instead.
- *
- * @param keyChar
- * the character entered, if this is a key typed
- * @param keyCode
- * the key pressed or released, or VK_UNDEFINED for key typed
- * @param modifiers
- * the modifier keys for the keystroke, in old or new style
- * @param onKeyRelease
- * true if this is a key release instead of a press
- * @see #getKeyStroke(char)
- * @see #getKeyStroke(Character, int)
- * @see #getKeyStroke(int, int, boolean)
- * @see #getKeyStroke(int, int)
- * @see #getKeyStrokeForEvent(KeyEvent)
- * @see #getKeyStroke(String)
- */
- protected KeyStroke(final char keyChar, final int keyCode, final int modifiers, final boolean onKeyRelease) {
- this.keyChar = keyChar;
- this.keyCode = keyCode;
- // No need to call extend(), as only trusted code calls this
- // constructor.
- this.modifiers = modifiers;
- this.onKeyRelease = onKeyRelease;
- }
+ /**
+ * Construct a keystroke with the given values. Client code should use the
+ * factory methods instead.
+ *
+ * @param keyChar
+ * the character entered, if this is a key typed
+ * @param keyCode
+ * the key pressed or released, or VK_UNDEFINED for key typed
+ * @param modifiers
+ * the modifier keys for the keystroke, in old or new style
+ * @param onKeyRelease
+ * true if this is a key release instead of a press
+ * @see #getKeyStroke(char)
+ * @see #getKeyStroke(Character, int)
+ * @see #getKeyStroke(int, int, boolean)
+ * @see #getKeyStroke(int, int)
+ * @see #getKeyStrokeForEvent(KeyEvent)
+ * @see #getKeyStroke(String)
+ */
+ protected KeyStroke(final char keyChar, final int keyCode, final int modifiers,
+ final boolean onKeyRelease) {
+ this.keyChar = keyChar;
+ this.keyCode = keyCode;
+ // No need to call extend(), as only trusted code calls this
+ // constructor.
+ this.modifiers = modifiers;
+ this.onKeyRelease = onKeyRelease;
+ }
- /**
- * Tests two keystrokes for equality.
- *
- * @param obj
- * the object to test
- * @return true if it is equal
- */
- @Override
- public final boolean equals(final Object obj) {
- if (!(obj instanceof KeyStroke)) {
- return false;
- }
- final KeyStroke stroke = (KeyStroke) obj;
- return this == obj
- || (keyChar == stroke.keyChar && keyCode == stroke.keyCode && modifiers == stroke.modifiers && onKeyRelease == stroke.onKeyRelease);
+ /**
+ * Tests two keystrokes for equality.
+ *
+ * @param obj
+ * the object to test
+ * @return true if it is equal
+ */
+ @Override
+ public final boolean equals(final Object obj) {
+ if (!(obj instanceof KeyStroke)) {
+ return false;
}
+ final KeyStroke stroke = (KeyStroke) obj;
+ return this == obj
+ || (keyChar == stroke.keyChar && keyCode == stroke.keyCode && modifiers == stroke.modifiers && onKeyRelease == stroke.onKeyRelease);
+ }
- /**
- * Returns the character of this keystroke, if it was typed.
- *
- * @return the character value, or CHAR_UNDEFINED
- * @see #getKeyStroke(char)
- */
- public final char getKeyChar() {
- return keyChar;
- }
+ /**
+ * Returns the character of this keystroke, if it was typed.
+ *
+ * @return the character value, or CHAR_UNDEFINED
+ * @see #getKeyStroke(char)
+ */
+ public final char getKeyChar() {
+ return keyChar;
+ }
- /**
- * Returns the virtual key code of this keystroke, if it was pressed or
- * released. This will be a VK_* constant from KeyEvent.
- *
- * @return the virtual key code value, or VK_UNDEFINED
- * @see #getKeyStroke(int, int)
- */
- public final int getKeyCode() {
- return keyCode;
- }
+ /**
+ * Returns the virtual key code of this keystroke, if it was pressed or
+ * released. This will be a VK_* constant from KeyEvent.
+ *
+ * @return the virtual key code value, or VK_UNDEFINED
+ * @see #getKeyStroke(int, int)
+ */
+ public final int getKeyCode() {
+ return keyCode;
+ }
- /**
- * Returns the AWT event type of this keystroke. This is one of
- * {@link KeyEvent#KEY_TYPED}, {@link KeyEvent#KEY_PRESSED}, or
- * {@link KeyEvent#KEY_RELEASED}.
- *
- * @return the key event type
- */
- public final int getKeyEventType() {
- return keyCode == VK_UNDEFINED ? Event.ONKEYDOWN : onKeyRelease ? Event.ONKEYUP : Event.ONKEYPRESS;
- }
+ /**
+ * Returns the AWT event type of this keystroke. This is one of
+ * {@link KeyEvent#KEY_TYPED}, {@link KeyEvent#KEY_PRESSED}, or
+ * {@link KeyEvent#KEY_RELEASED}.
+ *
+ * @return the key event type
+ */
+ public final int getKeyEventType() {
+ return keyCode == VK_UNDEFINED ? Event.ONKEYDOWN : onKeyRelease ? Event.ONKEYUP : Event.ONKEYPRESS;
+ }
- @SuppressWarnings("deprecation")
- public String getKeyText() {
- switch (keyCode) {
- case KeyCodes.KEY_BACKSPACE:
- return translateKey("Backspace");
- // case KeyCodes.KEY_DELETE:
- // return translateKey("Delete");
- case KeyCodes.KEY_DOWN:
- return translateKey("Down");
- case KeyCodes.KEY_END:
- return translateKey("End");
- case KeyCodes.KEY_ENTER:
- return translateKey("Enter");
- case KeyCodes.KEY_ESCAPE:
- return translateKey("Escape");
- case KeyCodes.KEY_HOME:
- return translateKey("Home");
- case KeyCodes.KEY_LEFT:
- return translateKey("Left");
- case KeyCodes.KEY_PAGEDOWN:
- return translateKey("Page Down");
- case KeyCodes.KEY_PAGEUP:
- return translateKey("Page Up");
- case KeyCodes.KEY_RIGHT:
- return translateKey("Right");
- case KeyCodes.KEY_TAB:
- return translateKey("Tab");
- case KeyCodes.KEY_UP:
- return translateKey("Up");
- case Keyboard.KEY_SPACE:
- return translateKey("Space");
- case Keyboard.KEY_F1:
- case Keyboard.KEY_F2:
- case Keyboard.KEY_F3:
- case Keyboard.KEY_F4:
- case Keyboard.KEY_F5:
- case Keyboard.KEY_F6:
- case Keyboard.KEY_F7:
- case Keyboard.KEY_F8:
- case Keyboard.KEY_F9:
- case Keyboard.KEY_F10:
- case Keyboard.KEY_F11:
- case Keyboard.KEY_F12:
- return translateKey("F" + (keyCode - (Keyboard.KEY_F1 - 1)));
- case Keyboard.KEY_COMMA:
- case Keyboard.KEY_PERIOD:
- case Keyboard.KEY_SLASH:
- case Keyboard.KEY_0:
- case Keyboard.KEY_1:
- case Keyboard.KEY_2:
- case Keyboard.KEY_3:
- case Keyboard.KEY_4:
- case Keyboard.KEY_5:
- case Keyboard.KEY_6:
- case Keyboard.KEY_7:
- case Keyboard.KEY_8:
- case Keyboard.KEY_9:
- case Keyboard.KEY_SEMICOLON:
- case Keyboard.KEY_EQUALS:
- case Keyboard.KEY_A:
- case Keyboard.KEY_B:
- case Keyboard.KEY_C:
- case Keyboard.KEY_D:
- case Keyboard.KEY_E:
- case Keyboard.KEY_F:
- case Keyboard.KEY_G:
- case Keyboard.KEY_H:
- case Keyboard.KEY_I:
- case Keyboard.KEY_J:
- case Keyboard.KEY_K:
- case Keyboard.KEY_L:
- case Keyboard.KEY_M:
- case Keyboard.KEY_N:
- case Keyboard.KEY_O:
- case Keyboard.KEY_P:
- case Keyboard.KEY_Q:
- case Keyboard.KEY_R:
- case Keyboard.KEY_S:
- case Keyboard.KEY_T:
- case Keyboard.KEY_U:
- case Keyboard.KEY_V:
- case Keyboard.KEY_W:
- case Keyboard.KEY_X:
- case Keyboard.KEY_Y:
- case Keyboard.KEY_Z:
- case Keyboard.KEY_OPEN_BRACKET:
- case Keyboard.KEY_BACK_SLASH:
- case Keyboard.KEY_CLOSE_BRACKET:
- return String.valueOf(keyCode).toUpperCase();
- default:
- final String charS = String.valueOf(keyChar);
- if (charS == null) {
- return "Unknown keyCode: 0x" + (keyCode < 0 ? "-" : "") + Integer.toHexString(Math.abs(keyCode));
- } else {
- if (" ".equals(charS)) {
- return translateKey("Space");
- } else {
- return charS;
- }
- }
+ @SuppressWarnings("deprecation")
+ public String getKeyText() {
+ switch (keyCode) {
+ case KeyCodes.KEY_BACKSPACE:
+ return translateKey("Backspace");
+ // case KeyCodes.KEY_DELETE:
+ // return translateKey("Delete");
+ case KeyCodes.KEY_DOWN:
+ return translateKey("Down");
+ case KeyCodes.KEY_END:
+ return translateKey("End");
+ case KeyCodes.KEY_ENTER:
+ return translateKey("Enter");
+ case KeyCodes.KEY_ESCAPE:
+ return translateKey("Escape");
+ case KeyCodes.KEY_HOME:
+ return translateKey("Home");
+ case KeyCodes.KEY_LEFT:
+ return translateKey("Left");
+ case KeyCodes.KEY_PAGEDOWN:
+ return translateKey("Page Down");
+ case KeyCodes.KEY_PAGEUP:
+ return translateKey("Page Up");
+ case KeyCodes.KEY_RIGHT:
+ return translateKey("Right");
+ case KeyCodes.KEY_TAB:
+ return translateKey("Tab");
+ case KeyCodes.KEY_UP:
+ return translateKey("Up");
+ case Keyboard.KEY_SPACE:
+ return translateKey("Space");
+ case Keyboard.KEY_F1:
+ case Keyboard.KEY_F2:
+ case Keyboard.KEY_F3:
+ case Keyboard.KEY_F4:
+ case Keyboard.KEY_F5:
+ case Keyboard.KEY_F6:
+ case Keyboard.KEY_F7:
+ case Keyboard.KEY_F8:
+ case Keyboard.KEY_F9:
+ case Keyboard.KEY_F10:
+ case Keyboard.KEY_F11:
+ case Keyboard.KEY_F12:
+ return translateKey("F" + (keyCode - (Keyboard.KEY_F1 - 1)));
+ case Keyboard.KEY_COMMA:
+ case Keyboard.KEY_PERIOD:
+ case Keyboard.KEY_SLASH:
+ case Keyboard.KEY_0:
+ case Keyboard.KEY_1:
+ case Keyboard.KEY_2:
+ case Keyboard.KEY_3:
+ case Keyboard.KEY_4:
+ case Keyboard.KEY_5:
+ case Keyboard.KEY_6:
+ case Keyboard.KEY_7:
+ case Keyboard.KEY_8:
+ case Keyboard.KEY_9:
+ case Keyboard.KEY_SEMICOLON:
+ case Keyboard.KEY_EQUALS:
+ case Keyboard.KEY_A:
+ case Keyboard.KEY_B:
+ case Keyboard.KEY_C:
+ case Keyboard.KEY_D:
+ case Keyboard.KEY_E:
+ case Keyboard.KEY_F:
+ case Keyboard.KEY_G:
+ case Keyboard.KEY_H:
+ case Keyboard.KEY_I:
+ case Keyboard.KEY_J:
+ case Keyboard.KEY_K:
+ case Keyboard.KEY_L:
+ case Keyboard.KEY_M:
+ case Keyboard.KEY_N:
+ case Keyboard.KEY_O:
+ case Keyboard.KEY_P:
+ case Keyboard.KEY_Q:
+ case Keyboard.KEY_R:
+ case Keyboard.KEY_S:
+ case Keyboard.KEY_T:
+ case Keyboard.KEY_U:
+ case Keyboard.KEY_V:
+ case Keyboard.KEY_W:
+ case Keyboard.KEY_X:
+ case Keyboard.KEY_Y:
+ case Keyboard.KEY_Z:
+ case Keyboard.KEY_OPEN_BRACKET:
+ case Keyboard.KEY_BACK_SLASH:
+ case Keyboard.KEY_CLOSE_BRACKET:
+ return String.valueOf(keyCode).toUpperCase();
+ default:
+ final String charS = String.valueOf(keyChar);
+ if (charS == null) {
+ return "Unknown keyCode: 0x" + (keyCode < 0 ? "-" : "") + Integer.toHexString(Math.abs(keyCode));
+ } else {
+ if (" ".equals(charS)) {
+ return translateKey("Space");
+ } else {
+ return charS;
}
+ }
}
+ }
- /**
- * Returns the modifiers for this keystroke. This will be a bitwise or of
- * constants from InputEvent; it includes the old style masks for shift,
- * control, alt, meta, and alt-graph (but not button1); as well as the new
- * style of extended modifiers for all modifiers.
- *
- * @return the modifiers
- * @see #getKeyStroke(Character, int)
- * @see #getKeyStroke(int, int)
- */
- public final int getModifiers() {
- return modifiers;
- }
+ /**
+ * Returns the modifiers for this keystroke. This will be a bitwise or of
+ * constants from InputEvent; it includes the old style masks for shift,
+ * control, alt, meta, and alt-graph (but not button1); as well as the new
+ * style of extended modifiers for all modifiers.
+ *
+ * @return the modifiers
+ * @see #getKeyStroke(Character, int)
+ * @see #getKeyStroke(int, int)
+ */
+ public final int getModifiers() {
+ return modifiers;
+ }
- /**
- * Returns a hashcode for this key event. It is not documented, but appears
- * to be: <code>(getKeyChar() + 1) * (getKeyCode() + 1)
- * * (getModifiers() + 1) * 2 + (isOnKeyRelease() ? 1 : 2)</code>.
- *
- * @return the hashcode
- */
- @Override
- public int hashCode() {
- return (keyChar + 1) * (keyCode + 1) * (modifiers + 1) * 2 + (onKeyRelease ? 1 : 2);
- }
+ /**
+ * Returns a hashcode for this key event. It is not documented, but appears to
+ * be: <code>(getKeyChar() + 1) * (getKeyCode() + 1)
+ * * (getModifiers() + 1) * 2 + (isOnKeyRelease() ? 1 : 2)</code>.
+ *
+ * @return the hashcode
+ */
+ @Override
+ public int hashCode() {
+ return (keyChar + 1) * (keyCode + 1) * (modifiers + 1) * 2 + (onKeyRelease ? 1 : 2);
+ }
- /**
- * Tests if this keystroke is a key release.
- *
- * @return true if this is a key release
- * @see #getKeyStroke(int, int, boolean)
- */
- public final boolean isOnKeyRelease() {
- return onKeyRelease;
- }
+ /**
+ * Tests if this keystroke is a key release.
+ *
+ * @return true if this is a key release
+ * @see #getKeyStroke(int, int, boolean)
+ */
+ public final boolean isOnKeyRelease() {
+ return onKeyRelease;
+ }
- /**
- * Returns a cached version of the deserialized keystroke, if available.
- *
- * @return a cached replacement if something goes wrong
- */
- protected Object readResolve() {
- final KeyStroke s = CACHE.get(this);
- if (s != null) {
- return s;
- }
- CACHE.put(this, this);
- return this;
+ /**
+ * Returns a cached version of the deserialized keystroke, if available.
+ *
+ * @return a cached replacement if something goes wrong
+ */
+ protected Object readResolve() {
+ final KeyStroke s = CACHE.get(this);
+ if (s != null) {
+ return s;
}
+ CACHE.put(this, this);
+ return this;
+ }
- @Override
- public String toString() {
- String s = " (";
- if ((modifiers & Keyboard.MODIFIER_META) != 0) {
- s += translateKey("Meta") + "+";
- }
- if ((modifiers & Keyboard.MODIFIER_CTRL) != 0) {
- s += translateKey("Ctrl") + "+";
- }
- if ((modifiers & Keyboard.MODIFIER_ALT) != 0) {
- s += translateKey("Alt") + "+";
- }
- if ((modifiers & Keyboard.MODIFIER_SHIFT) != 0) {
- s += translateKey("Shift") + "+";
- }
- /*
- * if ((modifiers & Event.BUTTON_LEFT) != 0) { s +=
- * translateKey("Button1") + "+"; } if ((modifiers & Event.BUTTON_RIGHT)
- * != 0) { s += translateKey("Button2") + "+"; } if ((modifiers &
- * Event.BUTTON_MIDDLE) != 0) { s += translateKey("Button3") + "+"; }
- */
- s += getKeyText() + ")";
- return s;
+ @Override
+ public String toString() {
+ String s = " (";
+ if ((modifiers & Keyboard.MODIFIER_META) != 0) {
+ s += translateKey("Meta") + "+";
}
-
- protected String translateKey(final String keyNameToTranslate) {
- // return Resources.i18n.tWithNT(keyNameToTranslate, "The '" +
- // keyNameToTranslate + "' keyboard key");
- return keyNameToTranslate;
+ if ((modifiers & Keyboard.MODIFIER_CTRL) != 0) {
+ s += translateKey("Ctrl") + "+";
}
+ if ((modifiers & Keyboard.MODIFIER_ALT) != 0) {
+ s += translateKey("Alt") + "+";
+ }
+ if ((modifiers & Keyboard.MODIFIER_SHIFT) != 0) {
+ s += translateKey("Shift") + "+";
+ }
+ /*
+ * if ((modifiers & Event.BUTTON_LEFT) != 0) { s += translateKey("Button1")
+ * + "+"; } if ((modifiers & Event.BUTTON_RIGHT) != 0) { s +=
+ * translateKey("Button2") + "+"; } if ((modifiers & Event.BUTTON_MIDDLE) !=
+ * 0) { s += translateKey("Button3") + "+"; }
+ */
+ s += getKeyText() + ")";
+ return s;
+ }
+ protected String translateKey(final String keyNameToTranslate) {
+ return I18n.tWithNT(keyNameToTranslate, "The '" + keyNameToTranslate + "' keyboard key");
+ // return keyNameToTranslate;
+ }
+
} // class KeyStroke
Modified: trunk/src/main/java/cc/kune/common/client/actions/Shortcut.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/Shortcut.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/actions/Shortcut.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -23,22 +23,39 @@
public final class Shortcut {
- public static KeyStroke getShortcut(final boolean ctrl, final boolean alt, final boolean shift, final boolean meta,
- final Character character) {
- return KeyStroke.getKeyStroke(character, (ctrl ? Keyboard.MODIFIER_CTRL : 0)
- + (alt ? Keyboard.MODIFIER_ALT : 0) + (shift ? Keyboard.MODIFIER_SHIFT : 0)
- + (meta ? Keyboard.MODIFIER_META : 0));
- }
+ public static KeyStroke getShortcut(final boolean ctrl, final boolean alt, final boolean shift,
+ final boolean meta, final Character character) {
+ return KeyStroke.getKeyStroke(character, (ctrl ? Keyboard.MODIFIER_CTRL : 0)
+ + (alt ? Keyboard.MODIFIER_ALT : 0) + (shift ? Keyboard.MODIFIER_SHIFT : 0)
+ + (meta ? Keyboard.MODIFIER_META : 0));
+ }
- public static KeyStroke getShortcut(final boolean ctrl, final boolean shift, final Character character) {
- return getShortcut(ctrl, false, shift, false, character);
- }
+ public static KeyStroke getShortcut(final boolean ctrl, final boolean shift, final Character character) {
+ return getShortcut(ctrl, false, shift, false, character);
+ }
- public static KeyStroke getShortcut(final boolean ctrl, final Character character) {
- return getShortcut(ctrl, false, false, false, character);
- }
+ public static KeyStroke getShortcut(final boolean ctrl, final Character character) {
+ return getShortcut(ctrl, false, false, false, character);
+ }
- private Shortcut() {
- }
+ /**
+ * Gets the shortcut using as parameter something like "Alt+A" "Ctrl+M" or
+ * "Meta+Shift+R"
+ *
+ * @param keys
+ * the keys
+ * @return the shortcut
+ */
+ public static KeyStroke getShortcut(final String keys) {
+ final boolean hasCtrl = keys.contains("Ctrl");
+ final boolean hasAlt = keys.contains("Alt");
+ final boolean hasMeta = keys.contains("Meta");
+ final boolean hasShift = keys.contains("Shift");
+ final Character key = keys.charAt(keys.length() - 1);
+ return Shortcut.getShortcut(hasCtrl, hasAlt, hasShift, hasMeta, key);
+ }
+ private Shortcut() {
+ }
+
}
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -38,8 +38,6 @@
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.MenuItem;
@@ -153,14 +151,6 @@
return checkItem;
}
- private String createShortCut(final KeyStroke key, final String style) {
- // See: https://yui-ext.com/forum/showthread.php?t=5762
- final Element keyLabel = DOM.createSpan();
- keyLabel.setId(style);
- keyLabel.setInnerText(key.toString());
- return keyLabel.getString();
- }
-
public GwtBaseMenuItem getItem() {
return item;
}
@@ -224,9 +214,7 @@
if (key == null) {
iconLabel.setText(text, descriptor.getDirection());
} else {
- iconLabel.setText(
- text + createShortCut(key, "oc-mshortcut-hidden") + createShortCut(key, "oc-mshortcut"),
- descriptor.getDirection());
+ iconLabel.setText(text + " " + key.toString(), descriptor.getDirection());
}
}
layout();
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -340,12 +340,7 @@
@Override
public GuiActionDescrip withShortcut(final String keys, final GlobalShortcutRegister register) {
- final boolean hasCtrl = keys.contains("Ctrl");
- final boolean hasAlt = keys.contains("Alt");
- final boolean hasMeta = keys.contains("Meta");
- final boolean hasShift = keys.contains("Shift");
- final Character key = keys.charAt(keys.length() - 1);
- final KeyStroke shortcut = Shortcut.getShortcut(hasCtrl, hasAlt, hasShift, hasMeta, key);
+ final KeyStroke shortcut = Shortcut.getShortcut(keys);
putValue(Action.ACCELERATOR_KEY, shortcut);
register.put(shortcut, action);
return this;
Added: trunk/src/main/java/cc/kune/common/client/events/EventBusInstance.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/events/EventBusInstance.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/events/EventBusInstance.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -0,0 +1,34 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.common.client.events;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+
+public class EventBusInstance {
+
+ @Inject
+ private static EventBus eventBus;
+
+ public static EventBus get() {
+ return eventBus;
+ }
+}
Copied: trunk/src/main/java/cc/kune/common/client/events/EventBusWithLogging.java (from rev 1797, trunk/src/main/java/cc/kune/common/client/log/EventBusWithLogging.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/events/EventBusWithLogging.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/events/EventBusWithLogging.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -0,0 +1,34 @@
+/*
+ *
+ * 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.common.client.events;
+
+
+import cc.kune.common.client.log.Log;
+
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.SimpleEventBus;
+
+public class EventBusWithLogging extends SimpleEventBus {
+ @Override
+ public void fireEvent(final GwtEvent<?> event) {
+ Log.debug(event.toDebugString() + " " + event.toString());
+ super.fireEvent(event);
+ }
+}
Copied: trunk/src/main/java/cc/kune/common/client/events/EventBusWithoutLogging.java (from rev 1797, trunk/src/main/java/cc/kune/common/client/log/EventBusWithoutLogging.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/events/EventBusWithoutLogging.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/events/EventBusWithoutLogging.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -0,0 +1,30 @@
+/*
+ *
+ * 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.common.client.events;
+
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.SimpleEventBus;
+
+public class EventBusWithoutLogging extends SimpleEventBus {
+ @Override
+ public void fireEvent(final GwtEvent<?> event) {
+ super.fireEvent(event);
+ }
+}
Deleted: trunk/src/main/java/cc/kune/common/client/log/EventBusWithLogging.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/log/EventBusWithLogging.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/log/EventBusWithLogging.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -1,32 +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.common.client.log;
-
-
-import com.google.gwt.event.shared.GwtEvent;
-import com.google.gwt.event.shared.SimpleEventBus;
-
-public class EventBusWithLogging extends SimpleEventBus {
- @Override
- public void fireEvent(final GwtEvent<?> event) {
- Log.debug(event.toDebugString() + " " + event.toString());
- super.fireEvent(event);
- }
-}
Deleted: trunk/src/main/java/cc/kune/common/client/log/EventBusWithoutLogging.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/log/EventBusWithoutLogging.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/log/EventBusWithoutLogging.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -1,30 +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.common.client.log;
-
-import com.google.gwt.event.shared.GwtEvent;
-import com.google.gwt.event.shared.SimpleEventBus;
-
-public class EventBusWithoutLogging extends SimpleEventBus {
- @Override
- public void fireEvent(final GwtEvent<?> event) {
- super.fireEvent(event);
- }
-}
Deleted: trunk/src/main/java/cc/kune/common/client/shortcuts/DefaultGlobalShortcutRegister.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/shortcuts/DefaultGlobalShortcutRegister.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/shortcuts/DefaultGlobalShortcutRegister.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -1,87 +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.common.client.shortcuts;
-
-import cc.kune.common.client.actions.AbstractAction;
-import cc.kune.common.client.actions.Action;
-import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.actions.ChangeableObject;
-import cc.kune.common.client.actions.InputMap;
-import cc.kune.common.client.actions.KeyStroke;
-import cc.kune.common.client.actions.Shortcut;
-import cc.kune.common.client.log.Log;
-
-import com.google.gwt.dom.client.NativeEvent;
-import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.Event.NativePreviewEvent;
-import com.google.gwt.user.client.Event.NativePreviewHandler;
-
-public class DefaultGlobalShortcutRegister extends InputMap implements GlobalShortcutRegister {
-
- private final NativePreviewHandler eventHandler;
- private HandlerRegistration handlerReg;
-
- public DefaultGlobalShortcutRegister() {
- super();
- eventHandler = new NativePreviewHandler() {
- @Override
- public void onPreviewNativeEvent(final NativePreviewEvent nativeEventPrev) {
- if (nativeEventPrev.getTypeInt() == Event.ONKEYDOWN) {
- final NativeEvent nativeEvent = nativeEventPrev.getNativeEvent();
- final Event event = Event.as(nativeEvent);
- final AbstractAction action = get(Shortcut.getShortcut(event.getCtrlKey(), event.getAltKey(),
- event.getShiftKey(), event.getShiftKey(), (char) event.getKeyCode()));
- if (action != null) {
- Log.debug("Not propagating event for action: " + action.getValue(Action.NAME));
- nativeEvent.stopPropagation();
- action.actionPerformed(new ActionEvent(nativeEvent.getCurrentEventTarget(), event));
- nativeEventPrev.cancel();
- }
- }
- }
- };
- }
-
- @Override
- public void disable() {
- if (handlerReg != null) {
- handlerReg.removeHandler();
- }
- }
-
- @Override
- public void enable() {
- enableImpl();
- }
-
- private void enableImpl() {
- handlerReg = Event.addNativePreviewHandler(eventHandler);
- }
-
- @Override
- public void put(final KeyStroke keystroke, final AbstractAction action) {
- final ChangeableObject previous = super.get(keystroke);
- if (previous != null) {
- Log.info("Shortcut already registed by: " + previous + "(overriding)");
- }
- super.put(keystroke, action);
- }
-}
Copied: trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcutRegisterDefault.java (from rev 1797, trunk/src/main/java/cc/kune/common/client/shortcuts/DefaultGlobalShortcutRegister.java)
===================================================================
--- trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcutRegisterDefault.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcutRegisterDefault.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -0,0 +1,90 @@
+/*
+ *
+ * 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.common.client.shortcuts;
+
+import cc.kune.common.client.actions.AbstractAction;
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.ChangeableObject;
+import cc.kune.common.client.actions.InputMap;
+import cc.kune.common.client.actions.KeyStroke;
+import cc.kune.common.client.actions.Shortcut;
+import cc.kune.common.client.log.Log;
+
+import com.google.gwt.dom.client.NativeEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.user.client.Event;
+import com.google.gwt.user.client.Event.NativePreviewEvent;
+import com.google.gwt.user.client.Event.NativePreviewHandler;
+
+public class GlobalShortcutRegisterDefault extends InputMap implements GlobalShortcutRegister {
+
+ private final NativePreviewHandler eventHandler;
+ private HandlerRegistration handlerReg;
+
+ public GlobalShortcutRegisterDefault() {
+ super();
+ eventHandler = new NativePreviewHandler() {
+ @Override
+ public void onPreviewNativeEvent(final NativePreviewEvent nativeEventPrev) {
+ if (nativeEventPrev.getTypeInt() == Event.ONKEYDOWN) {
+ final NativeEvent nativeEvent = nativeEventPrev.getNativeEvent();
+ final Event event = Event.as(nativeEvent);
+ AbstractAction action = get(KeyStroke.getKeyStroke(event.getKeyCode(), 0));
+ if (action == null) {
+ action = get(Shortcut.getShortcut(event.getCtrlKey(), event.getAltKey(),
+ event.getShiftKey(), event.getShiftKey(), (char) event.getKeyCode()));
+ }
+ if (action != null) {
+ Log.debug("Not propagating event for action: " + action.getValue(Action.NAME));
+ nativeEvent.stopPropagation();
+ action.actionPerformed(new ActionEvent(nativeEvent.getCurrentEventTarget(), event));
+ nativeEventPrev.cancel();
+ }
+ }
+ }
+ };
+ }
+
+ @Override
+ public void disable() {
+ if (handlerReg != null) {
+ handlerReg.removeHandler();
+ }
+ }
+
+ @Override
+ public void enable() {
+ enableImpl();
+ }
+
+ private void enableImpl() {
+ handlerReg = Event.addNativePreviewHandler(eventHandler);
+ }
+
+ @Override
+ public void put(final KeyStroke keystroke, final AbstractAction action) {
+ final ChangeableObject previous = super.get(keystroke);
+ if (previous != null) {
+ Log.info("Shortcut already registed by: " + previous + "(overriding)");
+ }
+ super.put(keystroke, action);
+ }
+}
Added: trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcuts.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcuts.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/shortcuts/GlobalShortcuts.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -0,0 +1,45 @@
+/*
+ *
+ * Copyright (C) 2007-2012 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.common.client.shortcuts;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.actions.KeyStroke;
+
+import com.google.gwt.event.dom.client.KeyCodes;
+import com.google.gwt.event.shared.EventBus;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class GlobalShortcuts {
+
+ @Inject
+ public GlobalShortcuts(final GlobalShortcutRegister register, final EventBus eventBus) {
+ register.put(KeyStroke.getKeyStroke(KeyCodes.KEY_ESCAPE, 0), new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ OnEscapePressedEvent.fire(eventBus);
+ }
+ });
+ }
+
+}
Added: trunk/src/main/java/cc/kune/common/client/shortcuts/OnEscapePressedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/shortcuts/OnEscapePressedEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/shortcuts/OnEscapePressedEvent.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -0,0 +1,55 @@
+package cc.kune.common.client.shortcuts;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class OnEscapePressedEvent extends GwtEvent<OnEscapePressedEvent.OnEscapePressedHandler> {
+
+ public interface HasOnEscapePressedHandlers extends HasHandlers {
+ HandlerRegistration addOnEscapePressedHandler(OnEscapePressedHandler handler);
+ }
+
+ public interface OnEscapePressedHandler extends EventHandler {
+ public void onOnEscapePressed(OnEscapePressedEvent event);
+ }
+
+ private static final Type<OnEscapePressedHandler> TYPE = new Type<OnEscapePressedHandler>();
+
+ public static void fire(final HasHandlers source) {
+ source.fireEvent(new OnEscapePressedEvent());
+ }
+
+ public static Type<OnEscapePressedHandler> getType() {
+ return TYPE;
+ }
+
+ public OnEscapePressedEvent() {
+ }
+
+ @Override
+ protected void dispatch(final OnEscapePressedHandler handler) {
+ handler.onOnEscapePressed(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return super.equals(obj);
+ }
+
+ @Override
+ public Type<OnEscapePressedHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return "OnEscapePressedEvent[" + "]";
+ }
+}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialog.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -19,6 +19,7 @@
*/
package cc.kune.common.client.ui.dialogs;
+import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.client.ui.IconLabel;
import cc.kune.common.shared.utils.TextUtils;
@@ -106,6 +107,11 @@
}
@Override
+ public void setCloseBtnTooltip(final String tooltip) {
+ Tooltip.to(closeBtn, tooltip);
+ }
+
+ @Override
public void setCloseBtnVisible(final boolean visible) {
closeBtn.setVisible(visible);
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialogView.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialogView.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicDialogView.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -27,24 +27,26 @@
ForIsWidget getBottomPanel();
+ HasClickHandlers getCloseBtn();
+
HasClickHandlers getFirstBtn();
ForIsWidget getInnerPanel();
HasClickHandlers getSecondBtn();
- HasClickHandlers getCloseBtn();
-
HasDirectionalText getTitleText();
+ void setCloseBtnTooltip(String tooltip);
+
+ void setCloseBtnVisible(boolean visible);
+
void setFirstBtnText(String text);
void setFirstBtnTitle(String title);
void setFirstBtnVisible(boolean visible);
- void setCloseBtnVisible(boolean visible);
-
void setSecondBtnText(String text);
void setSecondBtnTitle(String title);
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 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/BasicTopDialog.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -19,9 +19,13 @@
*/
package cc.kune.common.client.ui.dialogs;
+import cc.kune.common.client.events.EventBusInstance;
+import cc.kune.common.client.shortcuts.OnEscapePressedEvent;
+import cc.kune.common.client.shortcuts.OnEscapePressedEvent.OnEscapePressedHandler;
import cc.kune.common.client.tooltip.Tooltip;
import cc.kune.common.client.ui.PopupTopPanel;
import cc.kune.common.shared.utils.TextUtils;
+import cc.kune.core.client.i18n.I18n;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
@@ -188,6 +192,15 @@
private void setCloseBtn(final boolean closeBtn) {
setCloseBtnVisible(closeBtn);
if (closeBtn) {
+ setCloseBtnTooltip(I18n.t("Close") + " (Esc)");
+ EventBusInstance.get().addHandler(OnEscapePressedEvent.getType(), new OnEscapePressedHandler() {
+ @Override
+ public void onOnEscapePressed(final OnEscapePressedEvent event) {
+ if (popup.isShowing()) {
+ popup.hide();
+ }
+ }
+ });
if (closeClickHandler == null) {
closeClickHandler = super.getCloseBtn().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 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2012-03-28 13:41:51 UTC (rev 1803)
@@ -369,6 +369,8 @@
background: #ffffff;
}
+/* shorcuts, only used in gxt guidescriptors */
+
#oc-mshortcut {
position: absolute;
right: 10px;
Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -22,9 +22,11 @@
import cc.kune.common.client.actions.gxtui.GxtGuiProvider;
import cc.kune.common.client.actions.ui.DefaultGuiProvider;
import cc.kune.common.client.actions.ui.GuiProvider;
-import cc.kune.common.client.log.EventBusWithLogging;
-import cc.kune.common.client.shortcuts.DefaultGlobalShortcutRegister;
+import cc.kune.common.client.events.EventBusInstance;
+import cc.kune.common.client.events.EventBusWithLogging;
import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegisterDefault;
+import cc.kune.common.client.shortcuts.GlobalShortcuts;
import cc.kune.common.client.ui.MaskWidget;
import cc.kune.common.client.ui.MaskWidgetView;
import cc.kune.common.shared.i18n.HasRTL;
@@ -139,6 +141,8 @@
@Override
protected void configure() {
bind(EventBus.class).to(EventBusWithLogging.class).in(Singleton.class);
+ requestStaticInjection(EventBusInstance.class);
+
bind(TokenFormatter.class).to(ParameterTokenFormatter.class).in(Singleton.class);
bind(RootPresenter.class).asEagerSingleton();
bind(ProxyFailureHandler.class).to(DefaultProxyFailureHandler.class).in(Singleton.class);
@@ -149,7 +153,8 @@
s(I18n.class);
requestStaticInjection(I18n.class);
- bind(GlobalShortcutRegister.class).to(DefaultGlobalShortcutRegister.class).in(Singleton.class);
+ bind(GlobalShortcutRegister.class).to(GlobalShortcutRegisterDefault.class).in(Singleton.class);
+ bind(GlobalShortcuts.class).in(Singleton.class);
s(AnonUsersManager.class);
Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -19,6 +19,7 @@
*/
package cc.kune.core.client;
+import cc.kune.common.client.shortcuts.GlobalShortcuts;
import cc.kune.core.client.auth.AnonUsersManager;
import cc.kune.core.client.auth.Register;
import cc.kune.core.client.auth.SignIn;
@@ -66,7 +67,8 @@
final Provider<SubtitlesManager> subProvider, final EventBus eventBus,
final Provider<VerifyEmailClientManager> verifyManager,
final Provider<UserOptions> userOptionsDialog, final Provider<GroupOptions> groupOptionsDialog,
- final Provider<PasswordResetPanel> passReset, final Provider<AskForPasswordResetPanel> askForPass) {
+ final Provider<PasswordResetPanel> passReset, final Provider<AskForPasswordResetPanel> askForPass,
+ final GlobalShortcuts shortcuts) {
session.onAppStart(true, new AppStartHandler() {
@Override
public void onAppStart(final AppStartEvent event) {
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -70,7 +70,7 @@
withText(I18n.t("Your groups"));
withToolTip(I18n.t("See your groups or create a new one"));
withIcon(res.arrowdownsitebar());
- withShortcut("Alt+G", global);
+ withShortcut("Alt+M", global);
eventBus.addHandler(MyGroupsChangedEvent.getType(),
new MyGroupsChangedEvent.MyGroupsChangedHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/SiteUserOptionsPresenter.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -22,11 +22,13 @@
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.Shortcut;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor;
import cc.kune.common.client.actions.ui.descrip.ToolbarSeparatorDescriptor.Type;
+import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
import cc.kune.common.shared.i18n.I18nTranslationService;
import cc.kune.core.client.events.UserSignInEvent;
import cc.kune.core.client.events.UserSignInEvent.UserSignInHandler;
@@ -50,18 +52,21 @@
private final CoreResources res;
private ToolbarSeparatorDescriptor separator;
private final Session session;
+ private final GlobalShortcutRegister shortCutRegister;
private final SitebarActions siteOptions;
private final StateManager stateManager;
@Inject
public SiteUserOptionsPresenter(final Session session, final StateManager stateManager,
- final I18nTranslationService i18n, final CoreResources img, final SitebarActions siteOptions) {
+ final I18nTranslationService i18n, final CoreResources img, final SitebarActions siteOptions,
+ final GlobalShortcutRegister shortCutRegister) {
super();
this.session = session;
this.stateManager = stateManager;
this.i18n = i18n;
this.res = img;
this.siteOptions = siteOptions;
+ this.shortCutRegister = shortCutRegister;
createActions();
separator.setVisible(false);
session.onUserSignIn(true, new UserSignInHandler() {
@@ -106,6 +111,7 @@
userHomeAction.putValue(Action.NAME, i18n.t(CoreMessages.YOUR_HOMEPAGE));
userHomeAction.putValue(Action.SMALL_ICON, res.groupHome());
final MenuItemDescriptor item = new MenuItemDescriptor(userHomeAction);
+ item.withShortcut(Shortcut.getShortcut("Alt+U"), shortCutRegister);
item.setPosition(0);
addActionImpl(item);
}
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPanel.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -64,16 +64,19 @@
armor.getSitebar().insert(uiBinder.createAndBindUi(this), 0);
// homeButton.setVisible(false);
final String siteCommonName = i18n.getSiteCommonName();
- homeSpaceTooltip = Tooltip.to(homeButton, i18n.t("Your home page in [%s]", siteCommonName));
+ homeSpaceTooltip = Tooltip.to(homeButton, i18n.t("Your home page in [%s]", siteCommonName)
+ + " (Alt+H)");
userSpaceTooltip = Tooltip.to(
userButton,
i18n.t("User space: it shows a list of all documents and contents " + "in which you participate")
+ " (Alt+I)");
groupSpaceTooltip = Tooltip.to(groupButton, i18n.t("Group and personal space: Where you can create "
- + "and publish contents for your personal or group web spaces"));
+ + "and publish contents for your personal or group web spaces")
+ + " (Alt+G)");
publicSpaceTooltip = Tooltip.to(publicButton,
i18n.t("Public space: Where you can see a preview of how your Personal or "
- + "Group Space looks like on the web"));
+ + "Group Space looks like on the web")
+ + " (Alt+P)");
// homeSpaceTooltip.setWidth(0);
userSpaceTooltip.setWidth(190);
groupSpaceTooltip.setWidth(170);
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-03-28 01:02:06 UTC (rev 1802)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/spaces/SpaceSelectorPresenter.java 2012-03-28 13:41:51 UTC (rev 1803)
@@ -21,7 +21,6 @@
import cc.kune.common.client.actions.AbstractExtendedAction;
import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.actions.KeyStroke;
import cc.kune.common.client.actions.Shortcut;
import cc.kune.common.client.log.Log;
import cc.kune.common.client.notify.NotifyLevel;
@@ -32,7 +31,6 @@
import cc.kune.core.client.events.AppStartEvent;
import cc.kune.core.client.events.AppStartEvent.AppStartHandler;
import cc.kune.core.client.events.UserSignOutEvent;
-import cc.kune.core.client.events.WindowFocusEvent;
import cc.kune.core.client.state.Session;
import cc.kune.core.client.state.SiteTokens;
import cc.kune.core.client.state.StateManager;
@@ -115,6 +113,7 @@
private String inboxToken;
private String publicToken;
private final Session session;
+ private final GlobalShortcutRegister shortcutRegister;
private final Provider<SignIn> signIn;
private final StateManager stateManager;
@@ -131,66 +130,86 @@
this.signIn = signIn;
this.backManager = backManager;
this.i18n = i18n;
+ this.shortcutRegister = shortcutRegister;
currentSpace = null;
homeToken = SiteTokens.HOME;
inboxToken = SiteTokens.WAVE_INBOX;
groupToken = SiteTokens.GROUP_HOME;
publicToken = TokenUtils.preview(SiteTokens.GROUP_HOME);
- view.getHomeBtn().addClickHandler(new ClickHandler() {
+ configureClickListeners();
+ configureShortcuts();
+ // eventBus.addHandler(WindowFocusEvent.getType(), new
+ // WindowFocusEvent.WindowFocusHandler() {
+ // @Override
+ // public void onWindowFocus(final WindowFocusEvent event) {
+ // if (event.isHasFocus() && !mask.isShowing()) {
+ // // showTooltipWithDelay();
+ // }
+ // }
+ // });
+ session.onAppStart(true, new AppStartHandler() {
@Override
+ public void onAppStart(final AppStartEvent event) {
+ getView().setPublicVisible(event.getInitData().isPublicSpaceVisible());
+ }
+ });
+ }
+
+ private void configureClickListeners() {
+ getView().getHomeBtn().addClickHandler(new ClickHandler() {
+ @Override
public void onClick(final ClickEvent event) {
- restoreToken(homeToken);
- setDown(Space.homeSpace);
+ onHomeBtnClick();
}
+
});
- view.getUserBtn().addClickHandler(new ClickHandler() {
+ getView().getUserBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- onUserBtnClick(stateManager, session, signIn);
+ onUserBtnClick();
}
});
- view.getGroupBtn().addClickHandler(new ClickHandler() {
+ getView().getGroupBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- if (groupToken.equals(SiteTokens.GROUP_HOME)) {
- // as current home is equal to "no content" token, we shall go to
- // group space def home page
- stateManager.gotoDefaultHomepage();
- } else {
- restoreToken(groupToken);
- }
- setDown(Space.groupSpace);
+ onGroupBtnClick();
}
+
});
- view.getPublicBtn().addClickHandler(new ClickHandler() {
+ getView().getPublicBtn().addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
- restoreToken(publicToken);
- setDown(Space.publicSpace);
+ onPublicBtnClick();
}
+ });
+ }
+ private void configureShortcuts() {
+ shortcutRegister.put(Shortcut.getShortcut("Alt+H"), new AbstractExtendedAction() {
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ onHomeBtnClick();
+ }
});
- eventBus.addHandler(WindowFocusEvent.getType(), new WindowFocusEvent.WindowFocusHandler() {
+ shortcutRegister.put(Shortcut.getShortcut("Alt+I"), new AbstractExtendedAction() {
@Override
- public void onWindowFocus(final WindowFocusEvent event) {
- if (event.isHasFocus() && !mask.isShowing()) {
- // showTooltipWithDelay();
- }
+ public void actionPerformed(final ActionEvent event) {
+ onUserBtnClick();
}
});
- session.onAppStart(true, new AppStartHandler() {
+ shortcutRegister.put(Shortcut.getShortcut("Alt+G"), new AbstractExtendedAction() {
@Override
- public void onAppStart(final AppStartEvent event) {
- getView().setPublicVisible(event.getInitData().isPublicSpaceVisible());
+ public void actionPerformed(final ActionEvent event) {
+ onGroupBtnClick();
}
});
- final KeyStroke shortcut = Shortcut.getShortcut(false, true, false, false, Character.valueOf('I'));
- shortcutRegister.put(shortcut, new AbstractExtendedAction() {
+ shortcutRegister.put(Shortcut.getShortcut("Alt+P"), new AbstractExtendedAction() {
@Override
public void actionPerformed(final ActionEvent event) {
- onUserBtnClick(stateManager, session, signIn);
+ onPublicBtnClick();
}
});
+
}
@ProxyEvent
@@ -198,6 +217,17 @@
showTooltipWithDelay();
}
+ private void onGroupBtnClick() {
+ if (groupToken.equals(SiteTokens.GROUP_HOME)) {
+ // as current home is equal to "no content" token, we shall go to
+ // group space def home page
+ stateManager.gotoDefaultHomepage();
+ } else {
+ restoreToken(groupToken);
+ }
+ setDown(Space.groupSpace);
+ }
+
private void onGroupSpaceSelect(final boolean shouldRestoreToken) {
restoreToken(shouldRestoreToken, groupToken);
armor.selectGroupSpace();
@@ -206,6 +236,11 @@
currentSpace = Space.groupSpace;
}
+ private void onHomeBtnClick() {
+ restoreToken(homeToken);
+ setDown(Space.homeSpace);
+ }
+
private void onHomeSpaceSelect(final boolean shouldRestoreToken) {
restoreToken(shouldRestoreToken, homeToken);
armor.selectHomeSpace();
@@ -215,8 +250,9 @@
getView().setWindowTitle(i18n.t("Home"));
}
- private void onPublicClick() {
-
+ private void onPublicBtnClick() {
+ restoreToken(publicToken);
+ setDown(Space.publicSpace);
}
private void onPublicSpaceSelect(final boolean shouldRestoreToken) {
@@ -271,8 +307,7 @@
}
}
- private void onUserBtnClick(final StateManager stateManager, final Session session,
- final Provider<SignIn> signIn) {
+ private void onUserBtnClick() {
signIn.get().setGotoTokenOnCancel(stateManager.getCurrentToken());
restoreToken(inboxToken);
if (session.isLogged()) {
1
0
r1802 - in trunk/src/main/java/cc/kune: barters/client/actions blogs/client/actions chat/client/actions core/client/actions/xml docs/client/actions events/client/actions gspace/client/actions gspace/client/armor/resources gspace/client/viewers lists/client/actions tasks/client/actions trash/client/actions wiki/client/actions
by Vicente J. Ruiz Jurado 28 Mar '12
by Vicente J. Ruiz Jurado 28 Mar '12
28 Mar '12
Author: vjrj_
Date: 2012-03-28 03:02:06 +0200 (Wed, 28 Mar 2012)
New Revision: 1802
Modified:
trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java
trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
Log:
Minor changes (folder go up in bottombar, less rounded borders)
Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -69,21 +69,21 @@
final Provider<RefreshContentMenuItem> refresh, final Provider<CopyContentMenuItem> copyContent,
final Provider<WriteToParticipantsMenuItem> writeToParticipants) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newBartersBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newBartersBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -79,25 +79,25 @@
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, blogNewMenu, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, postNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newBlogBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newPostIconBtn, noRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, blogNewMenu, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, postNewMenu, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newPostItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newBlogBtn, TYPE_ROOT);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
Modified: trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -51,12 +51,12 @@
final Provider<OpenRoomBtn> openRoomBtn, final Provider<TutorialContainerBtn> tutorialBtn,
final Provider<ContentViewerOptionsMenu> optionsMenuContent) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newRoomBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, openRoomBtn, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newRoomBtn, TYPE_ROOT);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, openRoomBtn, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomArchiveMenuItem, containersNoRoot);
}
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -132,7 +132,7 @@
subMenuDescriptor = new SubMenuDescriptor(parent, false, i18n.t(name));
// subMenuDescriptor.setVisible(false);
submenus.put(subpathId, subMenuDescriptor);
- actionRegistry.addAction(ActionGroups.TOOLBAR, subMenuDescriptor, typeId);
+ actionRegistry.addAction(ActionGroups.TOPBAR, subMenuDescriptor, typeId);
}
current = subMenuDescriptor;
}
@@ -176,7 +176,7 @@
descrip.getNewContentTitle(), TextUtils.empty(contentIntro) ? "" : contentIntro);
}
final Provider<GuiActionDescrip> menuItemProvider = createMenuItem(descrip, origTypeId, action);
- actionRegistry.addAction(ActionGroups.TOOLBAR, menuItemProvider, origTypeId);
+ actionRegistry.addAction(ActionGroups.TOPBAR, menuItemProvider, origTypeId);
}
}
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -81,26 +81,26 @@
final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu foldersNewMenu,
final DocsNewMenu docsNewMenu) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocIconBtn, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, foldersNewMenu, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, docsNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocMenuItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newDocIconBtn, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, foldersNewMenu, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, docsNewMenu, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newDocMenuItem, containers);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderMenuItem, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventsClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -75,34 +75,34 @@
final CalendarOnOverMenu onOverMenu, final Provider<CalendarGoTodayBtn> goToday,
final Provider<RefreshContentMenuItem> refresh) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, goToday, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, calPrevBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, cal1DayBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, cal3DaysBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, cal7DaysBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, calMonthBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, calNextBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, export, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, goToday, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, calPrevBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, cal1DayBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, cal3DaysBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, cal7DaysBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, calMonthBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, calNextBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, export, all);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
// On over calendar menu
- actionsRegistry.addAction(ActionGroups.TOOLBAR, onOverMenu, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, onOverMenu, containers);
eventOpenMenuItem.get();
eventAddMenuItem.get();
eventRemoveMenuItem.get();
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newMeetingsBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newMeetingsBtn, containers);
// For now, commented:
// actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem,
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -24,10 +24,11 @@
* edit, etc)
*/
public final class ActionGroups {
- public final static String EDIT = "edit";
- public final static String ITEM_MENU = "menu-item";
- public final static String TOOLBAR = "view";
+ public final static String BOTTOMBAR = "bottombar";
+ public final static String EDIT = "edit";
+ public final static String ITEM_MENU = "menu-item";
+ public final static String TOPBAR = "topbar";
- private ActionGroups() {
- }
+ private ActionGroups() {
+ }
}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GoParentContainerBtn.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -71,7 +71,7 @@
final CoreResources res, final Session session, final String typeRoot) {
super(action);
this.withToolTip(i18n.t("Go up: Open the container folder")).withIcon(res.folderGoUp()).withStyles(
- "k-btn-min, k-fr");
+ "k-btn-min, k-fl");
this.withId(GO_PARENT_ID);
final StateAbstractDTO state = session.getCurrentState();
if (!session.isCurrentStateAContent()) {
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css 2012-03-28 01:02:06 UTC (rev 1802)
@@ -130,12 +130,12 @@
border-left: 1px solid #959595;
border-right: 1px solid #959595;
border-top: 1px solid #959595;
- -webkit-border-top-left-radius: 3px;
- -moz-border-radius-topleft: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-radius-topright: 3px;
- border-top-right-radius: 3px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
position: absolute;
top: 0;
bottom: 0;
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -198,11 +198,16 @@
throw new UIException("Unexpected status in Viewer");
}
}
- final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(),
- stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.TOOLBAR);
+ final GuiActionDescCollection topActions = actionsRegistry.getCurrentActions(
+ stateContent.getGroup(), stateContent.getTypeId(), session.isLogged(), rights,
+ ActionGroups.TOPBAR);
+ final GuiActionDescCollection bottomActions = actionsRegistry.getCurrentActions(
+ stateContent.getGroup(), stateContent.getTypeId(), session.isLogged(), rights,
+ ActionGroups.BOTTOMBAR);
final GuiActionDescCollection pathActions = pathToolbarUtils.createPath(stateContent.getContainer(),
true);
- getView().setFooterActions(pathActions);
- getView().setSubheaderActions(actions);
+ bottomActions.addAll(pathActions);
+ getView().setSubheaderActions(topActions);
+ getView().setFooterActions(bottomActions);
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -201,12 +201,17 @@
getView().setContainer(stateContainer);
final AccessRights rights = stateContainer.getContainerRights();
// NotifyUser.info("Rights: " + rights, true);
- final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContainer.getGroup(),
- stateContainer.getTypeId(), session.isLogged(), rights, ActionGroups.TOOLBAR);
+ final GuiActionDescCollection topActions = actionsRegistry.getCurrentActions(
+ stateContainer.getGroup(), stateContainer.getTypeId(), session.isLogged(), rights,
+ ActionGroups.TOPBAR);
+ final GuiActionDescCollection bottomActions = actionsRegistry.getCurrentActions(
+ stateContainer.getGroup(), stateContainer.getTypeId(), session.isLogged(), rights,
+ ActionGroups.BOTTOMBAR);
final ContainerDTO container = stateContainer.getContainer();
final GuiActionDescCollection pathActions = pathToolbarUtils.createPath(container, true);
- getView().setSubheaderActions(actions);
- getView().setFooterActions(pathActions);
+ bottomActions.addAll(pathActions);
+ getView().setSubheaderActions(topActions);
+ getView().setFooterActions(bottomActions);
createChildItems(container, stateContainer.getContainerRights());
}
}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -82,32 +82,32 @@
final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelListMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContainer, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newListBtn, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, listNewMenu, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, postNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, subscribeBtn, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refreshList, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refreshPost, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, listOpenessMenuItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContainer, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newPostIconBtn, noRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newListBtn, TYPE_ROOT);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, listNewMenu, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, postNewMenu, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, subscribeBtn, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refreshList, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refreshPost, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, listOpenessMenuItem, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newPostItem, containersNoRoot);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, newListMenuItem,
// TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, subscribersCount, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, subscribersCount, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -82,26 +82,26 @@
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskIconBtn, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newTaskIconBtn, all);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, taskFolderNewMenu,
// containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, taskNewMenu, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, taskNewMenu, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, marksAsDoneMenuItem,
Modified: trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -47,8 +47,8 @@
final Provider<RefreshContentMenuItem> refresh, final Provider<GoParentChatBtn> folderGoUp,
final Provider<ContentViewerOptionsMenu> optionsMenuContent) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp,
// DocsToolConstants.TYPE_DOCUMENT);
// actionsRegistry.addAction(ActionGroups.ITEM_MENU, action,
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2012-03-28 01:02:06 UTC (rev 1802)
@@ -80,29 +80,29 @@
final Provider<WriteToParticipantsMenuItem> writeToParticipants,
final WikiPageNewMenu wikipageNewMenu) {
super(session, stateManager, i18n, registry);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiIconBtn, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newWikiIconBtn, all);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, newFolderBtn, containers);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu,
// containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, wikipageNewMenu, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, wikipageNewMenu, contents);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiMenuItem,
// containers);
// actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem,
// containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, shareMenuContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAllMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addAdminMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addCollabMembersMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, addPublicMenuItem, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, tutorialBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, copyContent, contents);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, writeToParticipants, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, contents);
+ actionsRegistry.addAction(ActionGroups.BOTTOMBAR, folderGoUp, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, shareMenuContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAllMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addAdminMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addCollabMembersMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, addPublicMenuItem, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, tutorialBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, participateBtn, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, chatAbout, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, copyContent, contents);
+ actionsRegistry.addAction(ActionGroups.TOPBAR, writeToParticipants, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
1
0
Author: vjrj_
Date: 2012-03-28 02:46:55 +0200 (Wed, 28 Mar 2012)
New Revision: 1801
Removed:
trunk/img/gray-ext-custom-theme/basic-dialog/dlg-bg.gif.orig
trunk/img/gray-ext-custom-theme/basic-dialog/hd-sprite.gif.orig
Modified:
trunk/COPYRIGHT
trunk/COPYRIGHT-AGPLv3.java
trunk/DEV-GUIDE
trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java
trunk/src/main/java/cc/kune/common/client/actions/gwtui/HasMenuItem.java
trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuShowAction.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/CloseDialogButton.java
trunk/src/main/java/cc/kune/common/client/utils/DateUtils.java
trunk/src/main/java/cc/kune/common/shared/i18n/HasRTL.java
trunk/src/main/java/cc/kune/common/shared/res/ICalConstants.java
trunk/src/main/java/cc/kune/common/shared/utils/DateFormatConstants.java
trunk/src/main/java/cc/kune/common/shared/utils/SimpleArgCallback.java
trunk/src/main/java/cc/kune/core/client/events/GoHomeEvent.java
trunk/src/main/java/cc/kune/core/client/events/MyGroupsChangedEvent.java
trunk/src/main/java/cc/kune/core/client/events/StackErrorEvent.java
trunk/src/main/java/cc/kune/core/client/events/UserMustBeLoggedEvent.java
trunk/src/main/java/cc/kune/core/client/i18n/I18n.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceHelper.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java
trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
trunk/src/main/java/cc/kune/core/client/sitebar/auth/AskForPasswordResetPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java
trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java
trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java
trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNModerationSubMenu.java
trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNOptionsMenu.java
trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNVisibilitySubMenu.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java
trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java
trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java
trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java
trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceMultiLang.java
trunk/src/main/java/cc/kune/core/server/mail/FormatedString.java
trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java
trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java
trunk/src/main/java/cc/kune/core/server/notifier/ClearUpdatedWavesHourlyJob.java
trunk/src/main/java/cc/kune/core/server/notifier/DestinationProvider.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationHtmlHelper.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java
trunk/src/main/java/cc/kune/core/server/notifier/NotificationType.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotification.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationDailyJob.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationHourlyJob.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationImmediateJob.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationProvider.java
trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java
trunk/src/main/java/cc/kune/core/server/notifier/SimpleDestinationProvider.java
trunk/src/main/java/cc/kune/core/server/notifier/UserOnlineSimpleManager.java
trunk/src/main/java/cc/kune/core/server/notifier/UsersOnline.java
trunk/src/main/java/cc/kune/core/server/notifier/WaveDestinationProvider.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceKune.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceKuneSessionProvider.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfire.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfirePersistModule.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfireSessionProvider.java
trunk/src/main/java/cc/kune/core/server/persist/GenericPersistenceInitializer.java
trunk/src/main/java/cc/kune/core/server/persist/KuneTransactional.java
trunk/src/main/java/cc/kune/core/server/rack/AdminThread.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java
trunk/src/main/java/cc/kune/core/server/scheduler/CustomJobFactory.java
trunk/src/main/java/cc/kune/core/server/state/StateEventContainer.java
trunk/src/main/java/cc/kune/core/server/utils/AbsoluteFileDownloadUtils.java
trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterFinder.java
trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterProvider.java
trunk/src/main/java/cc/kune/core/server/xmpp/RosterItem.java
trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProvider.java
trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProviderMock.java
trunk/src/main/java/cc/kune/core/shared/SessionConstants.java
trunk/src/main/java/cc/kune/core/shared/actions/xml/XMLActionsConstants.java
trunk/src/main/java/cc/kune/core/shared/dto/StateEventContainerDTO.java
trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
trunk/src/main/java/cc/kune/events/client/actions/AbstractCalendarViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextAction.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextBtn.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevAction.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevBtn.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayAction.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayBtn.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarMonthViewSelectBtn.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarOnOverMenu.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarRolAction.java
trunk/src/main/java/cc/kune/events/client/actions/CalendarViewSelectAction.java
trunk/src/main/java/cc/kune/events/client/actions/EventAddMenuItem.java
trunk/src/main/java/cc/kune/events/client/actions/EventOpenMenuItem.java
trunk/src/main/java/cc/kune/events/client/actions/EventRemoveMenuItem.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarStateChangeEvent.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewer.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java
trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java
trunk/src/main/java/cc/kune/events/server/EventsServlet.java
trunk/src/main/java/cc/kune/events/server/utils/DateUtils.java
trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java
trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java
trunk/src/main/java/cc/kune/events/shared/EventsClientConversionUtil.java
trunk/src/main/java/cc/kune/events/shared/EventsSharedConversionUtil.java
trunk/src/main/java/cc/kune/gspace/client/actions/ActionStyles.java
trunk/src/main/java/cc/kune/gspace/client/actions/MenuLoggedDescriptor.java
trunk/src/main/java/cc/kune/gspace/client/actions/ShowHelpContainerEvent.java
trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css
trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerView.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ToolbarStyles.java
trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java
trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
trunk/src/main/java/cc/kune/trash/server/TrashServerModule.java
trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java
trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java
trunk/src/main/java/cc/kune/wave/client/WaveClientUtils.java
trunk/src/main/java/cc/kune/wave/server/kspecific/WaveEmailNotifier.java
trunk/src/test/java/cc/kune/core/server/mail/FormatedStringTest.java
trunk/src/test/java/cc/kune/core/server/mail/MailServiceDefaultTest.java
trunk/src/test/java/cc/kune/core/server/notifier/AbstractPendingNotificationTest.java
trunk/src/test/java/cc/kune/core/server/notifier/NotificationHtmlHelperTest.java
trunk/src/test/java/cc/kune/core/server/notifier/PendingNotificationSenderTest.java
trunk/src/test/java/cc/kune/core/server/notifier/SimpleDestinationProviderTest.java
trunk/src/test/java/cc/kune/core/server/utils/FilenameUtilsTest.java
trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
trunk/src/test/java/cc/kune/events/server/utils/BasicCalendarTest.java
trunk/src/test/java/cc/kune/events/server/utils/EventsServerConversionUtilTest.java
trunk/src/test/java/cc/kune/msgs/client/UserMessagesPresenterTest.java
Log:
COPYRIGHT added/updated
Less rounded corners
Modified: trunk/COPYRIGHT
===================================================================
--- trunk/COPYRIGHT 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/COPYRIGHT 2012-03-28 00:46:55 UTC (rev 1801)
@@ -20,7 +20,7 @@
Copyright
-(c) 2007-2011 The kune development team (see CREDITS for details)
+(c) 2007-2012 The kune development team (see CREDITS for details)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
@@ -194,4 +194,4 @@
#Iconic#
http://somerandomdude.com/work/iconic/
Creative Commons Share Alike 3.0
-http://creativecommons.org/licenses/by-sa/3.0/us/
\ No newline at end of file
+http://creativecommons.org/licenses/by-sa/3.0/us/
Modified: trunk/COPYRIGHT-AGPLv3.java
===================================================================
--- trunk/COPYRIGHT-AGPLv3.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/COPYRIGHT-AGPLv3.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,6 +1,6 @@
/*
*
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * Copyright (C) 2007-2012 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
Modified: trunk/DEV-GUIDE
===================================================================
--- trunk/DEV-GUIDE 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/DEV-GUIDE 2012-03-28 00:46:55 UTC (rev 1801)
@@ -384,7 +384,7 @@
Attach the following notices to each source of the program at the begining:
<pre>
- (c) 2007-2011 The Kune development team (see CREDITS for details)
+ (c) 2007-2012 The Kune development team (see CREDITS for details)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
@@ -405,7 +405,7 @@
<pre>
/*
*
- * Copyright (C) 2007-2011 The Kune development team (see CREDITS for details)
+ * Copyright (C) 2007-2012 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
Deleted: trunk/img/gray-ext-custom-theme/basic-dialog/dlg-bg.gif.orig
===================================================================
(Binary files differ)
Deleted: trunk/img/gray-ext-custom-theme/basic-dialog/hd-sprite.gif.orig
===================================================================
(Binary files differ)
Modified: trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/chat/client/XmppSessionProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client;
import com.calclab.emite.core.client.xmpp.session.XmppSession;
Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/HasMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/HasMenuItem.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/HasMenuItem.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.client.actions.gwtui;
import com.google.gwt.user.client.ui.MenuItem;
Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuShowAction.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuShowAction.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuShowAction.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.client.actions.ui.descrip;
import cc.kune.common.client.actions.AbstractExtendedAction;
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/CloseDialogButton.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/CloseDialogButton.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/CloseDialogButton.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.client.ui.dialogs;
import com.google.gwt.core.client.GWT;
Modified: trunk/src/main/java/cc/kune/common/client/utils/DateUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/utils/DateUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/client/utils/DateUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.client.utils;
import java.util.Date;
Modified: trunk/src/main/java/cc/kune/common/shared/i18n/HasRTL.java
===================================================================
--- trunk/src/main/java/cc/kune/common/shared/i18n/HasRTL.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/shared/i18n/HasRTL.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.shared.i18n;
public interface HasRTL {
Modified: trunk/src/main/java/cc/kune/common/shared/res/ICalConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/common/shared/res/ICalConstants.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/shared/res/ICalConstants.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.shared.res;
public class ICalConstants {
Modified: trunk/src/main/java/cc/kune/common/shared/utils/DateFormatConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/common/shared/utils/DateFormatConstants.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/shared/utils/DateFormatConstants.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.shared.utils;
public class DateFormatConstants {
Modified: trunk/src/main/java/cc/kune/common/shared/utils/SimpleArgCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/common/shared/utils/SimpleArgCallback.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/common/shared/utils/SimpleArgCallback.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.common.shared.utils;
public interface SimpleArgCallback<T> {
Modified: trunk/src/main/java/cc/kune/core/client/events/GoHomeEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/GoHomeEvent.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/events/GoHomeEvent.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.events;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/core/client/events/MyGroupsChangedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/MyGroupsChangedEvent.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/events/MyGroupsChangedEvent.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.events;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/core/client/events/StackErrorEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/StackErrorEvent.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/events/StackErrorEvent.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.events;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/core/client/events/UserMustBeLoggedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/UserMustBeLoggedEvent.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/events/UserMustBeLoggedEvent.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.events;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18n.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18n.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18n.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.i18n;
import com.google.inject.Inject;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceHelper.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.rpcservices;
import cc.kune.common.client.notify.ConfirmAskEvent;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceHelper.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/GroupServiceHelper.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.rpcservices;
import com.google.inject.Inject;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetServiceHelper.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.rpcservices;
import cc.kune.common.client.notify.NotifyUser;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/MyGroupsMenu.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sitebar;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/AskForPasswordResetPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/auth/AskForPasswordResetPanel.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/AskForPasswordResetPanel.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sitebar.auth;
import cc.kune.common.client.notify.NotifyLevel;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/PasswordResetPanel.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sitebar.auth;
import cc.kune.common.client.log.Log;
Modified: trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/auth/VerifyEmailClientManager.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sitebar.auth;
import cc.kune.common.client.notify.NotifyUser;
Modified: trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/AdminsGroupSNDropController.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/AllMembersGroupSNDropController.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/CollabsGroupSNDropController.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupSNDropController.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNModerationSubMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNModerationSubMenu.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNModerationSubMenu.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn.actions;
import cc.kune.common.client.actions.ui.descrip.SubMenuDescriptor;
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNOptionsMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNOptionsMenu.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNOptionsMenu.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn.actions;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNVisibilitySubMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNVisibilitySubMenu.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/GroupSNVisibilitySubMenu.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.sn.actions;
import cc.kune.common.client.actions.ui.descrip.SubMenuDescriptor;
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenAuthNotNeededCallback.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.state;
/**
Modified: trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/state/HistoryTokenMustBeAuthCallback.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.state;
/**
Modified: trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionExpirationManager.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.state;
import cc.kune.common.client.notify.NotifyUser;
Modified: trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/client/ui/BasicDragableThumb.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.client.ui;
import cc.kune.common.client.ui.BasicThumb;
Modified: trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceMultiLang.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceMultiLang.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/i18n/I18nTranslationServiceMultiLang.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.i18n;
import cc.kune.domain.I18nLanguage;
Modified: trunk/src/main/java/cc/kune/core/server/mail/FormatedString.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/mail/FormatedString.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/mail/FormatedString.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.mail;
import java.util.Arrays;
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/EmailConfirmationType.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.manager.impl;
/**
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/GroupServerUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.manager.impl;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/ClearUpdatedWavesHourlyJob.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/ClearUpdatedWavesHourlyJob.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/ClearUpdatedWavesHourlyJob.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.text.ParseException;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/DestinationProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/DestinationProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/DestinationProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationHtmlHelper.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationHtmlHelper.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationHtmlHelper.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import cc.kune.core.server.mail.FormatedString;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationSender.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import cc.kune.core.shared.dto.EmailNotificationFrequency;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationSenderDefault.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.io.File;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationService.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/NotificationType.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/NotificationType.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/NotificationType.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
/**
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotification.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotification.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotification.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import cc.kune.core.server.mail.FormatedString;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationDailyJob.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationDailyJob.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationDailyJob.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.text.ParseException;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationHourlyJob.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationHourlyJob.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationHourlyJob.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.text.ParseException;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationImmediateJob.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationImmediateJob.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationImmediateJob.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.text.ParseException;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import com.google.inject.Provider;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/PendingNotificationSender.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/SimpleDestinationProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/SimpleDestinationProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/SimpleDestinationProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.util.Arrays;
Modified: trunk/src/main/java/cc/kune/core/server/notifier/UserOnlineSimpleManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/UserOnlineSimpleManager.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/UserOnlineSimpleManager.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
public class UserOnlineSimpleManager {
Modified: trunk/src/main/java/cc/kune/core/server/notifier/UsersOnline.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/UsersOnline.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/UsersOnline.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
public interface UsersOnline {
Modified: trunk/src/main/java/cc/kune/core/server/notifier/WaveDestinationProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/notifier/WaveDestinationProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/notifier/WaveDestinationProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceKune.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceKune.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceKune.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import static java.lang.annotation.ElementType.FIELD;
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import java.util.Properties;
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceKuneSessionProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceKuneSessionProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceKuneSessionProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import javax.persistence.EntityManager;
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfire.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfire.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfire.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import static java.lang.annotation.ElementType.FIELD;
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfirePersistModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfirePersistModule.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfirePersistModule.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import java.util.Properties;
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfireSessionProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfireSessionProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceOpenfireSessionProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import javax.persistence.EntityManager;
Modified: trunk/src/main/java/cc/kune/core/server/persist/GenericPersistenceInitializer.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/GenericPersistenceInitializer.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/GenericPersistenceInitializer.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import com.google.inject.Inject;
Modified: trunk/src/main/java/cc/kune/core/server/persist/KuneTransactional.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/KuneTransactional.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/persist/KuneTransactional.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.persist;
import java.lang.annotation.ElementType;
Modified: trunk/src/main/java/cc/kune/core/server/rack/AdminThread.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rack/AdminThread.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/rack/AdminThread.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.rack;
import java.io.BufferedReader;
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPCMock.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.rpc;
import java.util.Date;
Modified: trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/scheduler/CronServerTasksManager.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.scheduler;
import static org.quartz.CronScheduleBuilder.cronSchedule;
Modified: trunk/src/main/java/cc/kune/core/server/scheduler/CustomJobFactory.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/scheduler/CustomJobFactory.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/scheduler/CustomJobFactory.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.scheduler;
import org.quartz.Job;
Modified: trunk/src/main/java/cc/kune/core/server/state/StateEventContainer.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateEventContainer.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/state/StateEventContainer.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.state;
import java.util.List;
Modified: trunk/src/main/java/cc/kune/core/server/utils/AbsoluteFileDownloadUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/utils/AbsoluteFileDownloadUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/utils/AbsoluteFileDownloadUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.utils;
import cc.kune.core.server.properties.KuneBasicProperties;
Modified: trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterFinder.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterFinder.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterFinder.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.xmpp;
import java.util.ArrayList;
Modified: trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/xmpp/OpenfireXmppRosterProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.xmpp;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/xmpp/RosterItem.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/xmpp/RosterItem.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/xmpp/RosterItem.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.xmpp;
import javax.persistence.Column;
Modified: trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProvider.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProvider.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.xmpp;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProviderMock.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProviderMock.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/server/xmpp/XmppRosterProviderMock.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.xmpp;
import java.util.Collection;
Modified: trunk/src/main/java/cc/kune/core/shared/SessionConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/SessionConstants.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/shared/SessionConstants.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.shared;
public final class SessionConstants {
Modified: trunk/src/main/java/cc/kune/core/shared/actions/xml/XMLActionsConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/actions/xml/XMLActionsConstants.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/shared/actions/xml/XMLActionsConstants.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.shared.actions.xml;
public class XMLActionsConstants {
Modified: trunk/src/main/java/cc/kune/core/shared/dto/StateEventContainerDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/StateEventContainerDTO.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/shared/dto/StateEventContainerDTO.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.shared.dto;
import java.util.List;
Modified: trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/core/shared/utils/SharedFileDownloadUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.shared.utils;
import cc.kune.common.shared.utils.Url;
Modified: trunk/src/main/java/cc/kune/events/client/actions/AbstractCalendarViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/AbstractCalendarViewSelectBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/AbstractCalendarViewSelectBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
Modified: trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/Calendar1DayViewSelectBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/Calendar3DaysViewSelectBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/Calendar7DaysViewSelectBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextAction.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextAction.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextAction.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarGoNextBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevAction.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevAction.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevAction.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarGoPrevBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayAction.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayAction.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayAction.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarGoTodayBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarMonthViewSelectBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarMonthViewSelectBtn.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarMonthViewSelectBtn.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarOnOverMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarOnOverMenu.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarOnOverMenu.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.gspace.client.actions.AbstractStandaloneMenu;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarRolAction.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarRolAction.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarRolAction.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.core.client.actions.RolAction;
Modified: trunk/src/main/java/cc/kune/events/client/actions/CalendarViewSelectAction.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/CalendarViewSelectAction.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/CalendarViewSelectAction.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventAddMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventAddMenuItem.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventAddMenuItem.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import java.util.Date;
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventOpenMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventOpenMenuItem.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventOpenMenuItem.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/events/client/actions/EventRemoveMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/actions/EventRemoveMenuItem.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/actions/EventRemoveMenuItem.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarStateChangeEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarStateChangeEvent.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarStateChangeEvent.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.viewer;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewer.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewer.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewer.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.viewer;
import java.util.Date;
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPanel.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.viewer;
import java.util.ArrayList;
Modified: trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/client/viewer/CalendarViewerPresenter.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.client.viewer;
import java.util.Date;
Modified: trunk/src/main/java/cc/kune/events/server/EventsServlet.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/EventsServlet.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/server/EventsServlet.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.server;
import java.io.IOException;
Modified: trunk/src/main/java/cc/kune/events/server/utils/DateUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/DateUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/server/utils/DateUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.server.utils;
import java.text.ParseException;
Modified: trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/server/utils/DateUtilsTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.server.utils;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/server/utils/EventsServerConversionUtil.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.server.utils;
import java.util.ArrayList;
Modified: trunk/src/main/java/cc/kune/events/shared/EventsClientConversionUtil.java
===================================================================
--- trunk/src/main/java/cc/kune/events/shared/EventsClientConversionUtil.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/shared/EventsClientConversionUtil.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.shared;
import java.util.Map;
Modified: trunk/src/main/java/cc/kune/events/shared/EventsSharedConversionUtil.java
===================================================================
--- trunk/src/main/java/cc/kune/events/shared/EventsSharedConversionUtil.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/events/shared/EventsSharedConversionUtil.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.shared;
import java.util.HashMap;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ActionStyles.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ActionStyles.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ActionStyles.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.actions;
public class ActionStyles {
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/MenuLoggedDescriptor.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/MenuLoggedDescriptor.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/MenuLoggedDescriptor.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.actions;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ShowHelpContainerEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/ShowHelpContainerEvent.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/ShowHelpContainerEvent.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.actions;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/armor/resources/gSpaceArmor.css 2012-03-28 00:46:55 UTC (rev 1801)
@@ -38,16 +38,16 @@
}
.entityHeader {
- -webkit-border-top-right-radius: 7px;
- -moz-border-radius-topright: 7px;
- border-top-right-radius: 7px;
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
overflow: hidden;
}
.entityFooter {
- -webkit-border-bottom-right-radius: 7px;
- -moz-border-radius-bottomright: 7px;
- border-bottom-right-radius: 7px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
overflow: hidden;
}
@@ -130,12 +130,12 @@
border-left: 1px solid #959595;
border-right: 1px solid #959595;
border-top: 1px solid #959595;
- -webkit-border-top-left-radius: 7px;
- -moz-border-radius-topleft: 7px;
- border-top-left-radius: 7px;
- -webkit-border-top-right-radius: 7px;
- -moz-border-radius-topright: 7px;
- border-top-right-radius: 7px;
+ -webkit-border-top-left-radius: 3px;
+ -moz-border-radius-topleft: 3px;
+ border-top-left-radius: 3px;
+ -webkit-border-top-right-radius: 3px;
+ -moz-border-radius-topright: 3px;
+ border-top-right-radius: 3px;
position: absolute;
top: 0;
bottom: 0;
@@ -149,24 +149,24 @@
bottom: 0;
left: 0;
right: 0;
- -webkit-border-top-left-radius: 7px;
- -moz-border-radius-topleft: 7px;
- border-top-left-radius: 7px;
- -webkit-border-top-right-radius: 7px;
- -moz-border-radius-topright: 7px;
- border-top-right-radius: 7px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
}
.docFooter {
border-left: 1px solid #959595;
border-right: 1px solid #959595;
border-bottom: 1px solid #959595;
- -webkit-border-bottom-left-radius: 7px;
- -moz-border-radius-bottomleft: 7px;
- border-bottom-left-radius: 7px;
- -webkit-border-bottom-right-radius: 7px;
- -moz-border-radius-bottomright: 7px;
- border-bottom-right-radius: 7px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
padding: 1px 7px 0 7px;
overflow: hidden;
border-collapse: separate;
@@ -178,12 +178,12 @@
}
.entityTools {
- -webkit-border-top-left-radius: 7px;
- -moz-border-radius-topleft: 7px;
- border-top-left-radius: 7px;
- -webkit-border-bottom-left-radius: 7px;
- -moz-border-radius-bottomleft: 7px;
- border-bottom-left-radius: 7px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
}
.entityToolsNorth {
@@ -208,9 +208,9 @@
border-top: 2px solid #FFF;
padding: 10px;
border-collapse: separate;
- -webkit-border-bottom-left-radius: 7px;
- -moz-border-radius-bottomleft: 7px;
- border-bottom-left-radius: 7px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
}
.entityToolsSouth span {
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerView.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerView.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerView.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.viewers;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentDropController.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.viewers;
import cc.kune.common.shared.i18n.I18nTranslationService;
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.viewers;
import javax.annotation.Nonnull;
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ToolbarStyles.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ToolbarStyles.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ToolbarStyles.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.viewers;
public class ToolbarStyles {
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/TutorialViewer.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.viewers;
import java.util.List;
Modified: trunk/src/main/java/cc/kune/msgs/client/UserMessage.java
===================================================================
--- trunk/src/main/java/cc/kune/msgs/client/UserMessage.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/msgs/client/UserMessage.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.msgs.client;
import com.google.gwt.event.dom.client.HasClickHandlers;
Modified: trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/trash/client/actions/TrashClientActions.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.trash.client.actions;
import static cc.kune.trash.shared.TrashToolConstants.TYPE_ROOT;
Modified: trunk/src/main/java/cc/kune/trash/server/TrashServerModule.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/server/TrashServerModule.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/trash/server/TrashServerModule.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.trash.server;
import com.google.inject.Binder;
Modified: trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/trash/server/TrashServerTool.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.trash.server;
import static cc.kune.trash.shared.TrashToolConstants.NAME;
Modified: trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/trash/shared/TrashToolConstants.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.trash.shared;
public final class TrashToolConstants {
Modified: trunk/src/main/java/cc/kune/wave/client/WaveClientUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/WaveClientUtils.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/wave/client/WaveClientUtils.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.wave.client;
import org.waveprotocol.wave.client.widget.common.ImplPanel;
Modified: trunk/src/main/java/cc/kune/wave/server/kspecific/WaveEmailNotifier.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/kspecific/WaveEmailNotifier.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/main/java/cc/kune/wave/server/kspecific/WaveEmailNotifier.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.wave.server.kspecific;
import java.util.HashSet;
Modified: trunk/src/test/java/cc/kune/core/server/mail/FormatedStringTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/mail/FormatedStringTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/mail/FormatedStringTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.mail;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/core/server/mail/MailServiceDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/mail/MailServiceDefaultTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/mail/MailServiceDefaultTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.mail;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/core/server/notifier/AbstractPendingNotificationTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/notifier/AbstractPendingNotificationTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/notifier/AbstractPendingNotificationTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import org.junit.Before;
Modified: trunk/src/test/java/cc/kune/core/server/notifier/NotificationHtmlHelperTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/notifier/NotificationHtmlHelperTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/notifier/NotificationHtmlHelperTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import static org.junit.Assert.assertNotNull;
Modified: trunk/src/test/java/cc/kune/core/server/notifier/PendingNotificationSenderTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/notifier/PendingNotificationSenderTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/notifier/PendingNotificationSenderTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/core/server/notifier/SimpleDestinationProviderTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/notifier/SimpleDestinationProviderTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/notifier/SimpleDestinationProviderTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.notifier;
import static org.junit.Assert.assertFalse;
Modified: trunk/src/test/java/cc/kune/core/server/utils/FilenameUtilsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/utils/FilenameUtilsTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/server/utils/FilenameUtilsTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.utils;
import org.junit.Test;
Modified: trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/core/shared/utils/SharedFileDownloadUtilsTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.shared.utils;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/events/server/utils/BasicCalendarTest.java
===================================================================
--- trunk/src/test/java/cc/kune/events/server/utils/BasicCalendarTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/events/server/utils/BasicCalendarTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.server.utils;
import net.fortuna.ical4j.model.Calendar;
Modified: trunk/src/test/java/cc/kune/events/server/utils/EventsServerConversionUtilTest.java
===================================================================
--- trunk/src/test/java/cc/kune/events/server/utils/EventsServerConversionUtilTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/events/server/utils/EventsServerConversionUtilTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events.server.utils;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/msgs/client/UserMessagesPresenterTest.java
===================================================================
--- trunk/src/test/java/cc/kune/msgs/client/UserMessagesPresenterTest.java 2012-03-28 00:20:38 UTC (rev 1800)
+++ trunk/src/test/java/cc/kune/msgs/client/UserMessagesPresenterTest.java 2012-03-28 00:46:55 UTC (rev 1801)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.msgs.client;
import org.junit.Before;
1
0
r1800 - in trunk: debian src/main/java/cc/kune/core/client/auth src/main/java/cc/kune/core/server/persist src/main/java/cc/kune/core/server/properties src/main/java/cc/kune/core/server/rpc src/main/java/cc/kune/core/server/state src/main/java/com/google/wave/splash/web/template src/main/webapp src/main/webapp/tutorials
by Vicente J. Ruiz Jurado 28 Mar '12
by Vicente J. Ruiz Jurado 28 Mar '12
28 Mar '12
Author: vjrj_
Date: 2012-03-28 02:20:38 +0200 (Wed, 28 Mar 2012)
New Revision: 1800
Modified:
trunk/debian/changelog
trunk/debian/files
trunk/debian/kune.init
trunk/src/main/java/cc/kune/core/client/auth/LoginRememberManagerImpl.java
trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java
trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/com/google/wave/splash/web/template/Templates.java
trunk/src/main/webapp/tutorials/chats.svg
trunk/src/main/webapp/ws.html
Log:
Login remember in chrome, first works
CLOSED - # 70: Implement some kind of "/etc/init.d/kune reload" to reload configuration
http://kune.ourproject.org/issues/ticket/70
CLOSED - # 119: Generate debian packages for production installs
http://kune.ourproject.org/issues/ticket/119
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/debian/changelog 2012-03-28 00:20:38 UTC (rev 1800)
@@ -1,3 +1,9 @@
+kune (0.1.0+b2) unstable; urgency=low
+
+ * Perms in daemon. SIGHUP to reload. Other minor changes
+
+ -- Vicente J. Ruiz Jurado <vjrj(a)ourproject.org> Wed, 28 Mar 2012 01:35:15 +0200
+
kune (0.1.0+b1) unstable; urgency=low
* For a full changelog see trunk/ChangeLog in svn repo
Modified: trunk/debian/files
===================================================================
--- trunk/debian/files 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/debian/files 2012-03-28 00:20:38 UTC (rev 1800)
@@ -1 +1 @@
-kune_0.1.0+b1_all.deb java optional
+kune_0.1.0+b2_all.deb java optional
Modified: trunk/debian/kune.init
===================================================================
--- trunk/debian/kune.init 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/debian/kune.init 2012-03-28 00:20:38 UTC (rev 1800)
@@ -51,9 +51,9 @@
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
- start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ --exec $DAEMON --test > /dev/null \
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ -c $NAME:$NAME -b --exec $DAEMON --test > /dev/null \
|| return 1
- start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ --exec $DAEMON -- \
+ start-stop-daemon --start --quiet --pidfile $PIDFILE -d /usr/share/kune/ -c $NAME:$NAME -b --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
@@ -101,7 +101,9 @@
# then implement that here.
#
log_daemon_msg "Reloading kune"
- start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+ # Seems that dont works if the user/group is not the same:
+ # http://stackoverflow.com/questions/4147288/how-to-trap-a-signal-in-a-java-a…
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --user $NAME --group $NAME --name $NAME
return 0
}
@@ -125,15 +127,14 @@
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
- #reload|force-reload)
+ reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
- #log_daemon_msg "Reloading $DESC" "$NAME"
- #do_reload
- #log_end_msg $?
- #;;
+ do_reload
+ log_end_msg $?
+ ;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
Modified: trunk/src/main/java/cc/kune/core/client/auth/LoginRememberManagerImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/LoginRememberManagerImpl.java 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/java/cc/kune/core/client/auth/LoginRememberManagerImpl.java 2012-03-28 00:20:38 UTC (rev 1800)
@@ -39,9 +39,15 @@
return $doc.getElementById(domId).value;
}-*/;
+ /**
+ * login.submit() only works in FF // $doc.getElementById("login").submit();
+ * http
+ * ://stackoverflow.com/questions/4254284/browser-stored-username-passwords
+ * -in-chrome
+ */
@Override
public native void clickFormLogin() /*-{
- $doc.getElementById("login").submit();
+ $doc.getElementById("loginsubmit").click();
}-*/;
@Override
Modified: trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/java/cc/kune/core/server/persist/DataSourceKunePersistModule.java 2012-03-28 00:20:38 UTC (rev 1800)
@@ -86,7 +86,7 @@
dbProperties.setProperty("hibernate.connection.password", dbPass);
jpm.properties(dbProperties);
LOG.info(String.format("Using user '%s' and connection '%s'", dbUser, dbUrl));
- LOG.debug(String.format("dbpass '%s'", dbPass));
+ // LOG.debug(String.format("dbpass '%s'", dbPass));
}
// http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Inje…
Modified: trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/java/cc/kune/core/server/properties/KunePropertiesDefault.java 2012-03-28 00:20:38 UTC (rev 1800)
@@ -26,7 +26,10 @@
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.SystemConfiguration;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import sun.misc.SignalHandler;
import cc.kune.core.server.error.ServerException;
import com.google.inject.Inject;
@@ -34,20 +37,23 @@
@Singleton
public class KunePropertiesDefault implements KuneProperties {
+ public static final Log LOG = LogFactory.getLog(KunePropertiesDefault.class);
private CompositeConfiguration config;
private final String fileName;
@Inject
public KunePropertiesDefault(final String fileName) {
this.fileName = fileName;
- try {
- config = new CompositeConfiguration();
- config.addConfiguration(new SystemConfiguration());
- config.addConfiguration(new PropertiesConfiguration(fileName));
- } catch (final ConfigurationException e) {
- final String msg = MessageFormat.format("Couldn't open property file {0}", fileName);
- throw new ServerException(msg, e);
- }
+ // http://stackoverflow.com/questions/40376/handle-signals-in-the-java-virtual…
+ // Runtime.getRuntime().addShutdownHook() ??
+ sun.misc.Signal.handle(new sun.misc.Signal("HUP"), new SignalHandler() {
+ @Override
+ public void handle(final sun.misc.Signal sig) {
+ LOG.warn("Received SIGHUP signal. Will reload kune.properties");
+ loadConfiguration();
+ }
+ });
+ loadConfiguration();
}
private void checkNull(final String key, final Object value) {
@@ -100,4 +106,15 @@
return value;
}
+ private void loadConfiguration() {
+ try {
+ config = new CompositeConfiguration();
+ config.addConfiguration(new SystemConfiguration());
+ config.addConfiguration(new PropertiesConfiguration(fileName));
+ } catch (final ConfigurationException e) {
+ final String msg = MessageFormat.format("Couldn't open property file {0}", fileName);
+ throw new ServerException(msg, e);
+ }
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/java/cc/kune/core/server/rpc/SiteRPC.java 2012-03-28 00:20:38 UTC (rev 1800)
@@ -23,6 +23,7 @@
import java.util.List;
import java.util.TimeZone;
+import sun.misc.SignalHandler;
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.client.rpcservices.SiteService;
import cc.kune.core.server.InitData;
@@ -56,9 +57,9 @@
private final I18nLanguageManager languageManager;
private final LicenseManager licenseManager;
private final Mapper mapper;
- private final ReservedWordsRegistryDTO reservedWords;
+ private ReservedWordsRegistryDTO reservedWords;
private final ServerToolRegistry serverToolRegistry;
- private final HashMap<String, GSpaceTheme> siteThemes;
+ private HashMap<String, GSpaceTheme> siteThemes;
private final UserInfoService userInfoService;
private final UserSessionManager userSessionManager;
@@ -78,9 +79,13 @@
this.countryManager = countryManager;
this.serverToolRegistry = serverToolRegistry;
this.extMediaDescManager = extMediaDescManager;
- data = loadInitData();
- siteThemes = getSiteThemes(this.kuneProperties.getList(KuneProperties.WS_THEMES));
- reservedWords = new ReservedWordsRegistryDTO(ReservedWordsRegistry.fromList(kuneProperties));
+ sun.misc.Signal.handle(new sun.misc.Signal("HUP"), new SignalHandler() {
+ @Override
+ public void handle(final sun.misc.Signal sig) {
+ loadProperties(kuneProperties);
+ }
+ });
+ loadProperties(kuneProperties);
}
private String[] getColors(final String key) {
@@ -157,4 +162,10 @@
return data;
}
+ private void loadProperties(final KuneProperties kuneProperties) {
+ data = loadInitData();
+ siteThemes = getSiteThemes(this.kuneProperties.getList(KuneProperties.WS_THEMES));
+ reservedWords = new ReservedWordsRegistryDTO(ReservedWordsRegistry.fromList(kuneProperties));
+ }
+
}
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2012-03-28 00:20:38 UTC (rev 1800)
@@ -19,6 +19,8 @@
*/
package cc.kune.core.server.state;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.waveprotocol.wave.util.escapers.jvm.JavaWaverefEncoder;
import cc.kune.common.shared.i18n.I18nTranslationService;
@@ -43,7 +45,7 @@
@Singleton
public class StateServiceDefault implements StateService {
-
+ public static final Log LOG = LogFactory.getLog(StateServiceDefault.class);
private final ContentManager contentManager;
private final GroupManager groupManager;
private final I18nTranslationService i18n;
@@ -125,6 +127,7 @@
state.setIsParticipant(userLogged != User.UNKNOWN_USER ? kuneWaveManager.isParticipant(wavelet,
userLogged.getShortName()) : false);
} catch (final Exception e) {
+ LOG.error("Error accessing wave " + waveId, e);
state.setContent(i18n.t("Error accessing this document. "
+ "Please contact the administrators providing this reference ([%s]) "
+ "and any other relevant info.", waveId));
Modified: trunk/src/main/java/com/google/wave/splash/web/template/Templates.java
===================================================================
--- trunk/src/main/java/com/google/wave/splash/web/template/Templates.java 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/java/com/google/wave/splash/web/template/Templates.java 2012-03-28 00:20:38 UTC (rev 1800)
@@ -109,9 +109,9 @@
FileInputStream stream = null;
try {
- stream = new FileInputStream(new File("src/main/webapp/others/splash/" + file));
+ stream = new FileInputStream(new File((productionMode ? "/usr/share/kune/webapp"
+ : "src/main/webapp") + "/others/splash/" + file));
} catch (final FileNotFoundException e) {
- // TODO Auto-generated catch block
LOG.info("Could not find resource named: " + file);
}
return stream;
Modified: trunk/src/main/webapp/tutorials/chats.svg
===================================================================
--- trunk/src/main/webapp/tutorials/chats.svg 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/webapp/tutorials/chats.svg 2012-03-28 00:20:38 UTC (rev 1800)
@@ -27,15 +27,15 @@
inkscape:pageshadow="2"
inkscape:zoom="1.5916065"
inkscape:cx="243.10117"
- inkscape:cy="328.42964"
+ inkscape:cy="1308.5714"
inkscape:document-units="px"
- inkscape:current-layer="g19891"
+ inkscape:current-layer="layer1"
showgrid="false"
showborder="true"
inkscape:showpageshadow="false"
- inkscape:window-width="1306"
- inkscape:window-height="744"
- inkscape:window-x="60"
+ inkscape:window-width="1080"
+ inkscape:window-height="1868"
+ inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1" />
<!-- Start kune i18n part -->
@@ -301,11 +301,11 @@
y="723.52075" />
<rect
y="622.80676"
- x="52.822086"
+ x="52.822083"
height="91.091072"
- width="212.24748"
+ width="222.91"
id="rect6444"
- style="opacity:0.5;fill:none;stroke:#ff5555;stroke-width:0.66635466;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
+ style="opacity:0.5;fill:none;stroke:#ff5555;stroke-width:0.6663546;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
<rect
style="opacity:0.5;fill:none;stroke:#ff5555;stroke-width:0.83669257;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
id="rect21625"
@@ -324,7 +324,7 @@
y="466.51004"
x="29.671577"
height="123.13216"
- width="398.70364"
+ width="427.13708"
id="rect21642-5"
style="opacity:0.5;fill:none;stroke:#ff5555;stroke-width:0.7304064;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
</g>
@@ -332,8 +332,7 @@
inkscape:groupmode="layer"
id="layer6"
inkscape:label="graphics"
- style="display:inline"
- sodipodi:insensitive="true">
+ style="display:inline">
<g
transform="matrix(1.5625,0,0,1.5636219,144.82865,137.05532)"
id="chat_x5F_32x32">
@@ -403,11 +402,11 @@
sodipodi:cy="3.6610169"
sodipodi:rx="5.1525426"
sodipodi:ry="5.1525426"
- d="m -13.152542,3.6610169 c 0,2.8456707 -2.306872,5.1525426 -5.152542,5.1525426 -2.845671,0 -5.152543,-2.3068719 -5.152543,-5.1525426 0,-2.84567065 2.306872,-5.1525426 5.152543,-5.1525426 2.84567,0 5.152542,2.30687195 5.152542,5.1525426 z"
+ d="m -13.152542,3.6610169 a 5.1525426,5.1525426 0 1 1 -10.305085,0 5.1525426,5.1525426 0 1 1 10.305085,0 z"
transform="matrix(1.7017328,0,0,1.7017328,109.33073,517.00513)" />
<path
transform="matrix(1.7017328,0,0,1.7017328,109.33073,548.30382)"
- d="m -13.152542,3.6610169 c 0,2.8456707 -2.306872,5.1525426 -5.152542,5.1525426 -2.845671,0 -5.152543,-2.3068719 -5.152543,-5.1525426 0,-2.84567065 2.306872,-5.1525426 5.152543,-5.1525426 2.84567,0 5.152542,2.30687195 5.152542,5.1525426 z"
+ d="m -13.152542,3.6610169 a 5.1525426,5.1525426 0 1 1 -10.305085,0 5.1525426,5.1525426 0 1 1 10.305085,0 z"
sodipodi:ry="5.1525426"
sodipodi:rx="5.1525426"
sodipodi:cy="3.6610169"
@@ -423,7 +422,7 @@
sodipodi:cy="3.6610169"
sodipodi:rx="5.1525426"
sodipodi:ry="5.1525426"
- d="m -13.152542,3.6610169 c 0,2.8456707 -2.306872,5.1525426 -5.152542,5.1525426 -2.845671,0 -5.152543,-2.3068719 -5.152543,-5.1525426 0,-2.84567065 2.306872,-5.1525426 5.152543,-5.1525426 2.84567,0 5.152542,2.30687195 5.152542,5.1525426 z"
+ d="m -13.152542,3.6610169 a 5.1525426,5.1525426 0 1 1 -10.305085,0 5.1525426,5.1525426 0 1 1 10.305085,0 z"
transform="matrix(1.7017328,0,0,1.7017328,140.62945,532.72866)" />
<path
style="fill:none;stroke:#231f20;stroke-width:6.95526648;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
@@ -622,39 +621,39 @@
<text
sodipodi:linespacing="125%"
id="text15572"
- y="939.13818"
+ y="929.13818"
x="127.9239"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="939.13818"
+ y="929.13818"
x="127.9239"
sodipodi:role="line"
id="tspan13522">Más ventajas: éste es un sistema <tspan
id="tspan24241"
style="font-weight:bold">descentralizado </tspan>que</tspan><tspan
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="954.13818"
+ y="944.13818"
x="127.9239"
sodipodi:role="line"
id="tspan13695">mantiene tu privacidad. Es decir, que al usarlo y tener </tspan><tspan
id="tspan21344"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="969.13818"
+ y="959.13818"
x="127.9239"
sodipodi:role="line">aquí tu lista de contactos, ésta estará en un sistema </tspan><tspan
id="tspan15585"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="984.13818"
+ y="974.13818"
x="127.9239"
sodipodi:role="line">que te dé confianza (como quizás éste), mientras que </tspan><tspan
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="999.13818"
+ y="989.13818"
x="127.9239"
sodipodi:role="line"
id="tspan13553">a su vez te puedes comunicar con usuarios/as que </tspan><tspan
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="1014.1382"
+ y="1004.1382"
x="127.9239"
sodipodi:role="line"
id="tspan13557">hayan elegido otros sistemas fuera de este sitio</tspan></text>
@@ -686,110 +685,13 @@
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">las notas sobre el encuentro</tspan></text>
</g>
<g
- style="display:inline"
- inkscape:label="en-working"
- id="g19891"
- inkscape:groupmode="layer">
- <g
- transform="translate(106.00677,59.44173)"
- id="g19893"
- style="display:inline">
- <text
- transform="scale(0.99912117,1.0008796)"
- sodipodi:linespacing="125%"
- id="text19895"
- y="122.68937"
- x="101.1684"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- xml:space="preserve"><tspan
- id="tspan19897"
- style="font-size:32px;font-weight:bold;fill:#aa4400"
- y="122.68937"
- x="101.1684"
- sodipodi:role="line">Chats</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- x="101.42439"
- y="95.114334"
- id="text19899"
- sodipodi:linespacing="125%"
- transform="scale(0.99912117,1.0008796)"><tspan
- sodipodi:role="line"
- x="101.42439"
- y="95.114334"
- style="font-size:16px;font-style:normal;font-weight:normal;fill:#aa4400"
- id="tspan19901">explaining the</tspan></text>
- </g>
+ inkscape:groupmode="layer"
+ id="layer8"
+ inkscape:label="en"
+ style="display:none">
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- x="149.85907"
- y="-168.92439"
- id="text19903"
- sodipodi:linespacing="125%"
- transform="translate(0,435.82679)"><tspan
- y="-168.92439"
- x="149.85907"
- id="tspan19905"
- sodipodi:role="line"
- style="font-style:italic">Mouse click to continue</tspan></text>
- <text
- sodipodi:linespacing="125%"
- id="text19907"
- y="1176.7134"
- x="149.82024"
- style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- xml:space="preserve"><tspan
- style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="1176.7134"
- x="149.82024"
- sodipodi:role="line"
- id="tspan19909" /><tspan
- style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="1191.7134"
- x="149.82024"
- sodipodi:role="line"
- id="tspan19911">...and give us your</tspan><tspan
- style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="1206.7134"
- x="149.82024"
- sodipodi:role="line"
- id="tspan13788"><tspan
- id="tspan19913"
- style="font-weight:bold">feedback</tspan>, and even</tspan><tspan
- style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="1221.7134"
- x="149.82024"
- sodipodi:role="line"
- id="tspan13793">join to improve </tspan><tspan
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="1236.7134"
- x="149.82024"
- sodipodi:role="line"
- id="tspan19919">this tool</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- x="122.1581"
- y="1092.6705"
- id="text19921"
- sodipodi:linespacing="125%"><tspan
- id="tspan19923"
- sodipodi:role="line"
- x="122.1581"
- y="1092.6705"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">From here you can </tspan><tspan
- id="tspan19925"
- sodipodi:role="line"
- x="122.1581"
- y="1107.6705"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">create new <tspan
- style="font-weight:bold"
- id="tspan13786">chat-rooms</tspan></tspan></text>
- <text
- xml:space="preserve"
- style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
x="155.08841"
y="419.41821"
id="text19929"
@@ -867,39 +769,39 @@
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
x="127.9239"
- y="939.13818"
+ y="929.13818"
id="text19963"
sodipodi:linespacing="125%"><tspan
id="tspan19965"
sodipodi:role="line"
x="127.9239"
- y="939.13818"
+ y="929.13818"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">Other benefits: this is a <tspan
style="font-weight:bold"
id="tspan13686">decentralized </tspan>system that</tspan><tspan
sodipodi:role="line"
x="127.9239"
- y="954.13818"
+ y="944.13818"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
id="tspan13749">protects your privacy. That is, while you use it and</tspan><tspan
sodipodi:role="line"
x="127.9239"
- y="969.13818"
+ y="959.13818"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
id="tspan13751">thus keep here your contact list, such info can be in a</tspan><tspan
sodipodi:role="line"
x="127.9239"
- y="984.13818"
+ y="974.13818"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
id="tspan13753">system you trust (as maybe this one), while you can</tspan><tspan
sodipodi:role="line"
x="127.9239"
- y="999.13818"
+ y="989.13818"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
id="tspan13755">still communicate with other users that chose other</tspan><tspan
sodipodi:role="line"
x="127.9239"
- y="1014.1382"
+ y="1004.1382"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
id="tspan13747">systems outside of this one.</tspan></text>
<text
@@ -928,128 +830,103 @@
x="116.10284"
sodipodi:role="line"
id="tspan19987">or event notes</tspan></text>
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer8"
- inkscape:label="en"
- style="display:none">
<text
xml:space="preserve"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- x="207.26842"
- y="166.0929"
- id="text11705"
- sodipodi:linespacing="125%"
- transform="scale(0.99912117,1.0008796)"><tspan
- sodipodi:role="line"
- x="207.26842"
- y="166.0929"
- style="font-size:32px;font-weight:bold;fill:#aa4400"
- id="tspan11707">chats</tspan></text>
- <text
- sodipodi:linespacing="125%"
- id="text11729"
- y="1189.5017"
- x="155.79486"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- xml:space="preserve"><tspan
- style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="1189.5017"
- x="155.79486"
- sodipodi:role="line"
- id="tspan11731" /><tspan
- style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="1204.5017"
- x="155.79486"
- sodipodi:role="line"
- id="tspan11733">...give us your <tspan
- id="tspan11735"
- style="font-weight:bold">feedback </tspan></tspan><tspan
- id="tspan11739"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="1219.5017"
- x="155.79486"
- sodipodi:role="line">and participate</tspan><tspan
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- y="1234.5017"
- x="155.79486"
- sodipodi:role="line"
- id="tspan11741">to improve this tool...</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- x="126.6009"
- y="1099.3315"
- id="text11743"
+ x="122.1581"
+ y="1092.6705"
+ id="text19921"
sodipodi:linespacing="125%"><tspan
- id="tspan11745"
+ id="tspan19923"
sodipodi:role="line"
- x="126.6009"
- y="1099.3315"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">...here you can create</tspan><tspan
+ x="122.1581"
+ y="1092.6705"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">From here you can </tspan><tspan
+ id="tspan19925"
sodipodi:role="line"
- x="126.6009"
- y="1114.3315"
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
- id="tspan11814">your new <tspan
- id="tspan13685"
- style="font-weight:bold">chat rooms</tspan>...</tspan></text>
+ x="122.1581"
+ y="1107.6705"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400">create new <tspan
+ style="font-weight:bold"
+ id="tspan13786">chat-rooms</tspan></tspan></text>
<text
- xml:space="preserve"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- x="207.5244"
- y="184.92917"
- id="text11787"
sodipodi:linespacing="125%"
- transform="scale(0.99912117,1.0008796)"><tspan
- sodipodi:role="line"
- x="207.5244"
- y="184.92917"
- style="font-size:16px;font-style:normal;font-weight:normal;fill:#aa4400"
- id="tspan11789">explained</tspan></text>
- <text
- sodipodi:linespacing="125%"
- id="text11717-5"
- y="222.1895"
- x="207.88985"
+ id="text19907"
+ y="1176.7134"
+ x="149.82024"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
- id="tspan11719-7"
style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="222.1895"
- x="207.88985"
- sodipodi:role="line">Sorry, we are</tspan><tspan
+ y="1176.7134"
+ x="149.82024"
+ sodipodi:role="line"
+ id="tspan19909" /><tspan
style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="237.1895"
- x="207.88985"
+ y="1191.7134"
+ x="149.82024"
sodipodi:role="line"
- id="tspan11791-7">still designing </tspan><tspan
- id="tspan11725-4"
+ id="tspan19911">...and give us your</tspan><tspan
style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="252.1895"
- x="207.88985"
- sodipodi:role="line">this tutorial.</tspan><tspan
- id="tspan11727-0"
+ y="1206.7134"
+ x="149.82024"
+ sodipodi:role="line"
+ id="tspan13788"><tspan
+ id="tspan19913"
+ style="font-weight:bold">feedback</tspan>, and even</tspan><tspan
style="font-size:12px;font-weight:normal;fill:#aa4400"
- y="267.18951"
- x="207.88985"
- sodipodi:role="line" /></text>
+ y="1221.7134"
+ x="149.82024"
+ sodipodi:role="line"
+ id="tspan13793">join to improve </tspan><tspan
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#aa4400"
+ y="1236.7134"
+ x="149.82024"
+ sodipodi:role="line"
+ id="tspan19919">this tool</tspan></text>
<g
- id="g16880"
- transform="matrix(0.75024247,0,0,0.75024247,176.23508,211.84322)"
+ transform="translate(106.00677,59.44173)"
+ id="g19893"
style="display:inline">
- <g
- id="Layer_1-8" />
- <g
- id="cog_x5F_alt_x5F_32x32">
- <path
- id="path16872"
- d="m 32,17.969 v -4 L 27.219,11.977 C 27.086,11.602 26.946,11.24 26.774,10.883 L 28.704,6.078 25.875,3.25 21.112,5.211 C 20.75,5.036 20.378,4.888 19.995,4.75 L 17.969,0 h -4 L 11.992,4.734 C 11.594,4.875 11.211,5.023 10.831,5.203 L 6.078,3.294 3.25,6.122 5.188,10.833 C 5,11.219 4.847,11.614 4.703,12.021 L 0,14.031 v 4 l 4.706,1.961 c 0.146,0.406 0.302,0.802 0.489,1.188 l -1.903,4.742 2.828,2.828 4.724,-1.945 c 0.378,0.18 0.766,0.325 1.164,0.461 L 14.031,32 h 4 l 1.979,-4.758 c 0.38,-0.141 0.755,-0.289 1.114,-0.461 l 4.797,1.922 2.828,-2.828 -1.969,-4.773 c 0.167,-0.359 0.305,-0.722 0.438,-1.094 L 32,17.969 z M 15.969,22 c -3.312,0 -6,-2.688 -6,-6 0,-3.312 2.688,-6 6,-6 3.312,0 6,2.688 6,6 0,3.312 -2.688,6 -6,6 z"
- inkscape:connector-curvature="0"
- style="fill:#231f20" />
- </g>
+ <text
+ transform="scale(0.99912117,1.0008796)"
+ sodipodi:linespacing="125%"
+ id="text19895"
+ y="122.68937"
+ x="101.1684"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ xml:space="preserve"><tspan
+ id="tspan19897"
+ style="font-size:32px;font-weight:bold;fill:#aa4400"
+ y="122.68937"
+ x="101.1684"
+ sodipodi:role="line">Chats</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="101.42439"
+ y="95.114334"
+ id="text19899"
+ sodipodi:linespacing="125%"
+ transform="scale(0.99912117,1.0008796)"><tspan
+ sodipodi:role="line"
+ x="101.42439"
+ y="95.114334"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#aa4400"
+ id="tspan19901">explaining the</tspan></text>
</g>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#aa4400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="149.85907"
+ y="-168.92439"
+ id="text19903"
+ sodipodi:linespacing="125%"
+ transform="translate(0,435.82679)"><tspan
+ y="-168.92439"
+ x="149.85907"
+ id="tspan19905"
+ sodipodi:role="line"
+ style="font-style:italic">Mouse click to continue</tspan></text>
</g>
<g
inkscape:groupmode="layer"
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2012-03-27 00:41:57 UTC (rev 1799)
+++ trunk/src/main/webapp/ws.html 2012-03-28 00:20:38 UTC (rev 1800)
@@ -298,15 +298,17 @@
<!-- Banner for wave errors -->
<div class="banner" id="banner"></div>
<!-- Remember user/pass (this is removed from here and rendered in gxt form) -->
- <form id="loginrender" action="javascript:;" style="display: none;">
+ <!-- action empty suggested in http://stackoverflow.com/questions/4254284/browser-stored-username-password… -->
+ <form id="loginrender" action="" style="display: none;">
<input type="text" id="usernamerender" name="usernamerender"
value="" /> <input type="password" id="passwordrender"
name="passwordrender" value="" />
</form>
<!-- Remember user/pass (this part is used to send the values to the browser) -->
- <form id="login" action="javascript:;" style="display: none;">
+ <form id="login" action="" style="display: none;">
<input type="text" id="username" name="username" value="" /> <input
- type="password" id="password" name="password" value="" />
+ type="password" id="password" name="password" value="" /> <input
+ id="loginsubmit" type="submit" value="login">
</form>
<!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
<noscript>
1
0
r1799 - in trunk: . debian script src/main/java/cc/kune/events/server src/main/resources
by Vicente J. Ruiz Jurado 27 Mar '12
by Vicente J. Ruiz Jurado 27 Mar '12
27 Mar '12
Author: vjrj_
Date: 2012-03-27 02:41:57 +0200 (Tue, 27 Mar 2012)
New Revision: 1799
Modified:
trunk/DEV-GUIDE
trunk/INSTALL
trunk/debian/README.Debian
trunk/debian/config
trunk/debian/kune.init
trunk/script/server.sh
trunk/src/main/java/cc/kune/events/server/EventsServlet.java
trunk/src/main/resources/assembly.xml
Log:
CLOSED - # 119: Generate debian packages for production installs
http://kune.ourproject.org/issues/ticket/119
Modified: trunk/DEV-GUIDE
===================================================================
--- trunk/DEV-GUIDE 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/DEV-GUIDE 2012-03-27 00:41:57 UTC (rev 1799)
@@ -351,7 +351,7 @@
See class WaveClientProvider in Kune (in a short term, we should define this in a .gwt.xml not there, but this is a start point).
-== kune maven repo ==
+==kune maven repo==
For upload packages you need to configure in .m2/settings.xml something like:
Modified: trunk/INSTALL
===================================================================
--- trunk/INSTALL 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/INSTALL 2012-03-27 00:41:57 UTC (rev 1799)
@@ -185,7 +185,9 @@
==Debian package generation==
In trunk run:
-debuild -us -uc -b
+ mvn assembly:assembly
+and generate the debian package with
+ debuild -us -uc -b
===Customization: Adapting Kune to your site===
Modified: trunk/debian/README.Debian
===================================================================
--- trunk/debian/README.Debian 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/debian/README.Debian 2012-03-27 00:41:57 UTC (rev 1799)
@@ -1,9 +1,14 @@
kune for Debian
---------------
-If you install openfire, configure /etc/kune/kune.properties accordingly.
-Also you should install a MTA (exim4 or postfix) and configure kune.properties in the same way
+See /etc/kune for the default configuration and tune there your installation.
+Also check START variable in /etc/default/kune
+
+If you install openfire (recommended), configure /etc/kune/kune.properties accordingly.
+
+Also you should install a MTA (exim4 or postfix) and configure kune.properties in the same way if you want to send notifications to your users (email confirmations, etc).
+
Add to /etc/security/limits.conf:
* soft nofile 20000
* hard nofile 20000
Modified: trunk/debian/config
===================================================================
--- trunk/debian/config 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/debian/config 2012-03-27 00:41:57 UTC (rev 1799)
@@ -10,7 +10,7 @@
if [ -f /usr/share/dbconfig-common/dpkg/config.mysql ]; then
. /usr/share/dbconfig-common/dpkg/config.mysql
- dbc_dbuser=kune
+ dbc_dbuser=kune_prod
dbc_dbname=kune_prod
dbc_mysql_createdb_encoding="UTF8"
dbc_go kune $@
Modified: trunk/debian/kune.init
===================================================================
--- trunk/debian/kune.init 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/debian/kune.init 2012-03-27 00:41:57 UTC (rev 1799)
@@ -46,6 +46,7 @@
do_start()
{
if is_true "$START" ; then
+ log_daemon_msg "Starting kune"
# Return
# 0 if daemon has been started
# 1 if daemon was already running
@@ -59,7 +60,7 @@
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
else
- echo "Skiping start (see /etc/default/kune)" >&2
+ log_daemon_msg "Skipping start of kune (see /etc/default/kune)"
fi
}
@@ -73,6 +74,7 @@
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
+ log_daemon_msg "Stopping kune"
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
@@ -98,6 +100,7 @@
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
+ log_daemon_msg "Reloading kune"
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
Modified: trunk/script/server.sh
===================================================================
--- trunk/script/server.sh 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/script/server.sh 2012-03-27 00:41:57 UTC (rev 1799)
@@ -139,7 +139,7 @@
-Dwave.server.config=$WAVE_CONFIG \
$MS \
$MX \
- -jar $JAR </dev/null > $LOGFILE 2>&1 &
+ -jar $JAR </dev/null >> $LOGFILE 2>&1 &
echo $! > $PIDFILE
else
exec java $DEBUG_FLAGS \
Modified: trunk/src/main/java/cc/kune/events/server/EventsServlet.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/EventsServlet.java 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/src/main/java/cc/kune/events/server/EventsServlet.java 2012-03-27 00:41:57 UTC (rev 1799)
@@ -68,7 +68,7 @@
try {
final Container cnt = getContainer(userHash, token);
- if (cnt.getTypeId().equals(EventsToolConstants.TYPE_ROOT)) {
+ if (cnt != null && cnt.getTypeId().equals(EventsToolConstants.TYPE_ROOT)) {
final List<Map<String, String>> listOfProps = EventsServerConversionUtil.getAppointments(cnt);
for (final Map<String, String> props : listOfProps) {
try {
Modified: trunk/src/main/resources/assembly.xml
===================================================================
--- trunk/src/main/resources/assembly.xml 2012-03-27 00:16:22 UTC (rev 1798)
+++ trunk/src/main/resources/assembly.xml 2012-03-27 00:41:57 UTC (rev 1799)
@@ -17,14 +17,13 @@
</dependencySets>
<fileSets>
<!-- <fileSet> -->
- <!-- ${module.groupId}-${module.artifactId}-${module.version}.${module.extension} -->
- <!-- <directory>target/kune-0.1.0-SNAPSHOT/ws/</directory>
- <outputDirectory>META-INF/resources/ws</outputDirectory>
- </fileSet>-->
- <fileSet>
- <directory>${project.basedir}/src/main/webapp/</directory>
- <outputDirectory>META-INF/resources/webapp</outputDirectory>
- <filtered>true</filtered>
- </fileSet>
+ <!-- ${module.groupId}-${module.artifactId}-${module.version}.${module.extension} -->
+ <!-- <directory>target/kune-0.1.0-SNAPSHOT/ws/</directory> <outputDirectory>META-INF/resources/ws</outputDirectory>
+ </fileSet> -->
+ <!-- <fileSet> -->
+ <!-- <directory>${project.basedir}/src/main/webapp/</directory> -->
+ <!-- <outputDirectory>META-INF/resources/webapp</outputDirectory> -->
+ <!-- <filtered>true</filtered> -->
+ <!-- </fileSet> -->
</fileSets>
</assembly>
\ No newline at end of file
1
0