Pollen-commits
Threads by month
- ----- 2026 -----
- 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
May 2014
- 5 participants
- 203 discussions
r3963 - in trunk: pollen-rest-api/src/main/java/org/chorem/pollen/rest/api src/site/rst
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 15:49:52 +0200 (Fri, 16 May 2014)
New Revision: 3963
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3963
Log:
review login workflow
Removed:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java
Modified:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
trunk/src/site/rst/restApi.rst
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java 2014-05-16 13:14:22 UTC (rev 3962)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java 2014-05-16 13:49:52 UTC (rev 3963)
@@ -48,8 +48,6 @@
httpContext.getRequest().setAttribute(REQUEST_POLLEN_REQUEST_CONTEXT, serviceContext);
}
- protected PollenRestApiSession session;
-
protected PollenServiceContext serviceContext;
public void setServiceContext(PollenServiceContext serviceContext) {
@@ -68,14 +66,6 @@
return serviceContext.getSecurityContext();
}
- public PollenRestApiSession getSession() {
- return session;
- }
-
- public void setSession(PollenRestApiSession session) {
- this.session = session;
- }
-
public SecurityService getSecurityService() {
return serviceContext.newService(SecurityService.class);
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-16 13:14:22 UTC (rev 3962)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-16 13:49:52 UTC (rev 3963)
@@ -23,6 +23,8 @@
* #L%
*/
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.chorem.pollen.persistence.PollenPersistenceContext;
import org.chorem.pollen.persistence.entity.PollenPrincipal;
import org.chorem.pollen.persistence.entity.SessionToken;
@@ -37,6 +39,7 @@
import org.debux.webmotion.server.render.RenderStatus;
import javax.servlet.http.HttpServletResponse;
+import java.util.Locale;
import java.util.Map;
/**
@@ -47,8 +50,13 @@
*/
public class PollenRestApiRequestFilter extends WebMotionFilter {
+ public static final String REQUEST_SESSION_TOKEN_PARAMETER = "sessionToken";
+
public static final String REQUEST_PERMISSION_PARAMETER = "permission";
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PollenRestApiRequestFilter.class);
+
public void inject(Call call, HttpContext context) throws PollenInvalidSessionTokenException {
PollenRestApiRequestContext requestContext = prepareRequestContext(context);
@@ -75,7 +83,7 @@
protected PollenRestApiRequestContext prepareRequestContext(HttpContext context) throws PollenInvalidSessionTokenException {
- PollenRestApiSession session = PollenRestApiSession.getSession(context);
+ Locale locale = getUSerLocale(context);
PollenRestApiApplicationContext applicationContext =
PollenRestApiApplicationContext.getApplicationContext(context.getServletContext());
@@ -83,12 +91,10 @@
PollenPersistenceContext persistenceContext =
PollenTopiaTransactionFilter.getPersistenceContext(context.getRequest());
- PollenServiceContext serviceContext =
- applicationContext.newServiceContext(persistenceContext, session.getLocale());
+ PollenServiceContext serviceContext = applicationContext.newServiceContext(persistenceContext, locale);
PollenRestApiRequestContext requestContext = new PollenRestApiRequestContext();
requestContext.setServiceContext(serviceContext);
- requestContext.setSession(session);
PollenSecurityContext securityContext = createSecurityContext(context, applicationContext, requestContext);
requestContext.setSecurityContext(securityContext);
@@ -99,20 +105,22 @@
}
- protected PollenSecurityContext createSecurityContext(HttpContext httpContext,
+ protected PollenSecurityContext createSecurityContext(HttpContext context,
PollenRestApiApplicationContext applicationContext,
PollenRestApiRequestContext requestContext) throws PollenInvalidSessionTokenException {
SecurityService securityService = requestContext.getSecurityService();
- // --- get session token (from session) --- //
- PollenRestApiSession session = requestContext.getSession();
- String authParam = session.getSessionToken();
+ // --- get session token (from request parameters) --- //
+ Map<String, String[]> parameters = context.getParameters();
+ String[] strings = parameters.get(REQUEST_SESSION_TOKEN_PARAMETER);
+ String authParam = strings == null || strings.length < 1 ? null : strings[0];
+
SessionToken sessionToken = securityService.getSessionTokenByToken(authParam);
// --- get mainPrincipal (from request parameters) --- //
- Map<String, String[]> parameters = httpContext.getParameters();
- String[] strings = parameters.get(REQUEST_PERMISSION_PARAMETER);
+ parameters = context.getParameters();
+ strings = parameters.get(REQUEST_PERMISSION_PARAMETER);
String credentialParam = strings == null || strings.length < 1 ? null : strings[0];
PollenPrincipal mainPrincipal = securityService.getPollenPrincipalByPermissionToken(credentialParam);
@@ -124,4 +132,26 @@
}
+ protected Locale getUSerLocale(HttpContext context) {
+ String language = context.getHeader(HttpContext.HEADER_LANGUAGE);
+
+ if (log.isInfoEnabled()) {
+ log.info("Found Accept-Language: " + language);
+ }
+
+ if (language == null) {
+
+ language = Locale.FRENCH.getLanguage();
+
+ if (log.isInfoEnabled()) {
+ log.info("Use default language: " + language);
+ }
+
+ }
+
+ Locale locale = new Locale(language);
+ return locale;
+
+ }
+
}
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java 2014-05-16 13:14:22 UTC (rev 3962)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java 2014-05-16 13:49:52 UTC (rev 3963)
@@ -1,88 +0,0 @@
-package org.chorem.pollen.rest.api;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.debux.webmotion.server.call.CookieManager;
-import org.debux.webmotion.server.call.HttpContext;
-
-import java.io.Serializable;
-import java.util.Locale;
-
-/**
- * Created on 5/16/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class PollenRestApiSession implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(PollenRestApiSession.class);
-
- public static final String COOKIE_SESSION = "pollenSession";
-
- public static PollenRestApiSession getSession(HttpContext context) {
-
- CookieManager cookieManager = context.getCookieManager();
-
- CookieManager.CookieEntity sessionCookie = cookieManager.get(COOKIE_SESSION);
-
- if (sessionCookie == null) {
-
- if (log.isInfoEnabled()) {
- log.info("Will create user session.");
- }
-
- PollenRestApiSession session = new PollenRestApiSession();
-
- String language = context.getHeader(HttpContext.HEADER_LANGUAGE);
-
- if (log.isInfoEnabled()) {
- log.info("Found Accept-Language: " + language);
- }
-
- if (language == null) {
-
- language = Locale.FRENCH.getLanguage();
-
- if (log.isInfoEnabled()) {
- log.info("Use default language: " + language);
- }
-
- }
-
- Locale locale = new Locale(language);
- session.setLocale(locale);
-
- sessionCookie = cookieManager.create(COOKIE_SESSION, session);
- cookieManager.add(sessionCookie);
-
- }
-
- PollenRestApiSession session = sessionCookie.getValue(PollenRestApiSession.class);
- return session;
-
- }
-
- protected Locale locale;
-
- protected String sessionToken;
-
- public Locale getLocale() {
- return locale;
- }
-
- public void setLocale(Locale locale) {
- this.locale = locale;
- }
-
- public String getSessionToken() {
- return sessionToken;
- }
-
- public void setSessionToken(String sessionToken) {
- this.sessionToken = sessionToken;
- }
-}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 13:14:22 UTC (rev 3962)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 13:49:52 UTC (rev 3963)
@@ -7,8 +7,6 @@
import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
-import org.chorem.pollen.persistence.entity.SessionToken;
-import org.chorem.pollen.services.service.security.PollenSecurityContext;
import org.debux.webmotion.server.call.HttpContext;
import javax.servlet.http.HttpServletResponse;
@@ -68,18 +66,18 @@
response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*");
response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
- PollenSecurityContext securityContext = requestContext.getSecurityContext();
- SessionToken sessionToken = securityContext.getSessionToken();
- if (sessionToken != null) {
+// PollenSecurityContext securityContext = requestContext.getSecurityContext();
+// SessionToken sessionToken = securityContext.getSessionToken();
+// if (sessionToken != null) {
+//
+// context.getResponse().setHeader(sessionToken.getPollenToken().getToken());
+//
+// } else {
+//
+// context.getResponse().setHeader(requestContext.getSession().setSessionToken(null);
+//
+// }
- requestContext.getSession().setSessionToken(sessionToken.getPollenToken().getToken());
-
- } else {
-
- requestContext.getSession().setSessionToken(null);
-
- }
-
}
public static void addOptionCorsHeaders(HttpContext context) {
Modified: trunk/src/site/rst/restApi.rst
===================================================================
--- trunk/src/site/rst/restApi.rst 2014-05-16 13:14:22 UTC (rev 3962)
+++ trunk/src/site/rst/restApi.rst 2014-05-16 13:49:52 UTC (rev 3963)
@@ -34,7 +34,7 @@
- mandaTory parameter **login**
- mandaTory parameter **password**
-- optional parameter **remberberMe**
+- optional parameter **remberberMe** (TODO)
Validation
~~~~~~~~~~
@@ -51,10 +51,8 @@
permission: "Token"
}
-A cookie named **pollenSession** with this data will be keep this data til you are logout.
+You must keep the **permission** value and add it in all your REST queries as the parameter named **sessionToken**.
-The cookie will be user for each request To log you in.
-
GET /v1/lostpassword/{Token}
----------------------------
1
0
r3962 - trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 15:14:22 +0200 (Fri, 16 May 2014)
New Revision: 3962
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3962
Log:
use a real session object stored in cookie
Added:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java
Modified:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java 2014-05-16 13:13:49 UTC (rev 3961)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestContext.java 2014-05-16 13:14:22 UTC (rev 3962)
@@ -48,6 +48,8 @@
httpContext.getRequest().setAttribute(REQUEST_POLLEN_REQUEST_CONTEXT, serviceContext);
}
+ protected PollenRestApiSession session;
+
protected PollenServiceContext serviceContext;
public void setServiceContext(PollenServiceContext serviceContext) {
@@ -66,6 +68,14 @@
return serviceContext.getSecurityContext();
}
+ public PollenRestApiSession getSession() {
+ return session;
+ }
+
+ public void setSession(PollenRestApiSession session) {
+ this.session = session;
+ }
+
public SecurityService getSecurityService() {
return serviceContext.newService(SecurityService.class);
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-16 13:13:49 UTC (rev 3961)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-16 13:14:22 UTC (rev 3962)
@@ -32,13 +32,11 @@
import org.chorem.pollen.services.service.security.SecurityService;
import org.debux.webmotion.server.WebMotionFilter;
import org.debux.webmotion.server.call.Call;
-import org.debux.webmotion.server.call.CookieManager;
import org.debux.webmotion.server.call.HttpContext;
import org.debux.webmotion.server.render.Render;
import org.debux.webmotion.server.render.RenderStatus;
import javax.servlet.http.HttpServletResponse;
-import java.util.Locale;
import java.util.Map;
/**
@@ -77,18 +75,20 @@
protected PollenRestApiRequestContext prepareRequestContext(HttpContext context) throws PollenInvalidSessionTokenException {
+ PollenRestApiSession session = PollenRestApiSession.getSession(context);
+
PollenRestApiApplicationContext applicationContext =
PollenRestApiApplicationContext.getApplicationContext(context.getServletContext());
PollenPersistenceContext persistenceContext =
PollenTopiaTransactionFilter.getPersistenceContext(context.getRequest());
- //FIXME Reuse user locale
PollenServiceContext serviceContext =
- applicationContext.newServiceContext(persistenceContext, Locale.FRANCE);
+ applicationContext.newServiceContext(persistenceContext, session.getLocale());
PollenRestApiRequestContext requestContext = new PollenRestApiRequestContext();
requestContext.setServiceContext(serviceContext);
+ requestContext.setSession(session);
PollenSecurityContext securityContext = createSecurityContext(context, applicationContext, requestContext);
requestContext.setSecurityContext(securityContext);
@@ -105,9 +105,9 @@
SecurityService securityService = requestContext.getSecurityService();
- // --- get session token (from cookie) --- //
- CookieManager.CookieEntity pollenSession = httpContext.getCookieManager().get(PollenRestApiUtil.COOKIE_USER_SESSION);
- String authParam = pollenSession == null ? null : pollenSession.getValue();
+ // --- get session token (from session) --- //
+ PollenRestApiSession session = requestContext.getSession();
+ String authParam = session.getSessionToken();
SessionToken sessionToken = securityService.getSessionTokenByToken(authParam);
// --- get mainPrincipal (from request parameters) --- //
Added: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java (rev 0)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java 2014-05-16 13:14:22 UTC (rev 3962)
@@ -0,0 +1,88 @@
+package org.chorem.pollen.rest.api;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.debux.webmotion.server.call.CookieManager;
+import org.debux.webmotion.server.call.HttpContext;
+
+import java.io.Serializable;
+import java.util.Locale;
+
+/**
+ * Created on 5/16/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class PollenRestApiSession implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(PollenRestApiSession.class);
+
+ public static final String COOKIE_SESSION = "pollenSession";
+
+ public static PollenRestApiSession getSession(HttpContext context) {
+
+ CookieManager cookieManager = context.getCookieManager();
+
+ CookieManager.CookieEntity sessionCookie = cookieManager.get(COOKIE_SESSION);
+
+ if (sessionCookie == null) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Will create user session.");
+ }
+
+ PollenRestApiSession session = new PollenRestApiSession();
+
+ String language = context.getHeader(HttpContext.HEADER_LANGUAGE);
+
+ if (log.isInfoEnabled()) {
+ log.info("Found Accept-Language: " + language);
+ }
+
+ if (language == null) {
+
+ language = Locale.FRENCH.getLanguage();
+
+ if (log.isInfoEnabled()) {
+ log.info("Use default language: " + language);
+ }
+
+ }
+
+ Locale locale = new Locale(language);
+ session.setLocale(locale);
+
+ sessionCookie = cookieManager.create(COOKIE_SESSION, session);
+ cookieManager.add(sessionCookie);
+
+ }
+
+ PollenRestApiSession session = sessionCookie.getValue(PollenRestApiSession.class);
+ return session;
+
+ }
+
+ protected Locale locale;
+
+ protected String sessionToken;
+
+ public Locale getLocale() {
+ return locale;
+ }
+
+ public void setLocale(Locale locale) {
+ this.locale = locale;
+ }
+
+ public String getSessionToken() {
+ return sessionToken;
+ }
+
+ public void setSessionToken(String sessionToken) {
+ this.sessionToken = sessionToken;
+ }
+}
Property changes on: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiSession.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 13:13:49 UTC (rev 3961)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 13:14:22 UTC (rev 3962)
@@ -9,7 +9,6 @@
import org.apache.commons.lang3.StringUtils;
import org.chorem.pollen.persistence.entity.SessionToken;
import org.chorem.pollen.services.service.security.PollenSecurityContext;
-import org.debux.webmotion.server.call.CookieManager;
import org.debux.webmotion.server.call.HttpContext;
import javax.servlet.http.HttpServletResponse;
@@ -23,9 +22,6 @@
*/
public class PollenRestApiUtil {
-
- public static final String COOKIE_USER_SESSION = "pollenSession";
-
public static final String HEADER_ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers";
public static final String HEADER_ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers";
@@ -72,18 +68,15 @@
response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*");
response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
- CookieManager cookieManager = context.getCookieManager();
-
PollenSecurityContext securityContext = requestContext.getSecurityContext();
SessionToken sessionToken = securityContext.getSessionToken();
if (sessionToken != null) {
- CookieManager.CookieEntity pollenSession = cookieManager.create(COOKIE_USER_SESSION, sessionToken.getPollenToken().getToken());
- cookieManager.add(pollenSession);
+ requestContext.getSession().setSessionToken(sessionToken.getPollenToken().getToken());
} else {
- cookieManager.remove(COOKIE_USER_SESSION);
+ requestContext.getSession().setSessionToken(null);
}
1
0
r3961 - in trunk/pollen-services/src/main: java/org/chorem/pollen/services/config java/org/chorem/pollen/services/service resources/i18n
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 15:13:49 +0200 (Fri, 16 May 2014)
New Revision: 3961
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3961
Log:
i18n on validation
Modified:
trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java
trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties
trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java 2014-05-16 12:26:45 UTC (rev 3960)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java 2014-05-16 13:13:49 UTC (rev 3961)
@@ -115,7 +115,7 @@
*/
DEFAULT_CHOICE_TYPE(
"pollen.default.pollChoiceType",
- n("pollen.configuration.pollChoiceType"),
+ n("pollen.configuration.defaultPollChoiceType"),
ChoiceType.TEXT.name(),
ChoiceType.class),
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java 2014-05-16 12:26:45 UTC (rev 3960)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java 2014-05-16 13:13:49 UTC (rev 3961)
@@ -41,6 +41,8 @@
import java.util.List;
import java.util.Set;
+import static org.nuiton.i18n.I18n.l;
+
/**
* TODO
*
@@ -340,12 +342,13 @@
ErrorMap errors = new ErrorMap();
- checkNotNull(errors, Poll.PROPERTY_POLL_TYPE, poll.getPollType(), "pollType can not be null");
- checkNotNull(errors, Poll.PROPERTY_COMMENT_VISIBILITY, poll.getCommentVisibility(), "commentVisibility can not be null");
- checkNotNull(errors, Poll.PROPERTY_VOTE_VISIBILITY, poll.getVoteVisibility(), "voteVisibility can not be null");
- checkNotNull(errors, Poll.PROPERTY_VOTE_COUNTING_TYPE, poll.getVoteCountingType(), "voteCountingType can not be null");
+ checkNotNull(errors, Poll.PROPERTY_POLL_TYPE, poll.getPollType(), l(getLocale(), "pollen.error.poll.pollType.mandatory"));
+ checkNotNull(errors, Poll.PROPERTY_COMMENT_VISIBILITY, poll.getCommentVisibility(), l(getLocale(), "pollen.error.poll.pollType.mandatory commentVisibility"));
+ checkNotNull(errors, Poll.PROPERTY_VOTE_VISIBILITY, poll.getVoteVisibility(), l(getLocale(), "pollen.error.poll.voteVisibility.mandatory"));
+ checkNotNull(errors, Poll.PROPERTY_RESULT_VISIBILITY, poll.getResultVisibility(), l(getLocale(), "pollen.error.poll.resultVisibility.mandatory"));
+ checkNotNull(errors, Poll.PROPERTY_VOTE_COUNTING_TYPE, poll.getVoteCountingType(), l(getLocale(), "pollen.error.poll.voteCountingType.mandatory"));
- checkNotBlank(errors, Poll.PROPERTY_TITLE, poll.getTitle(), "title can not be empty");
+ checkNotBlank(errors, Poll.PROPERTY_TITLE, poll.getTitle(), l(getLocale(), "pollen.error.poll.title.mandatory"));
return errors;
@@ -355,7 +358,7 @@
boolean choicesNotEmpty = CollectionUtils.isNotEmpty(choices);
- check(errorMap, "choice", choicesNotEmpty, "need at least one choice");
+ check(errorMap, "choice", choicesNotEmpty, l(getLocale(), "pollen.error.poll.choice.mandatory"));
if (choicesNotEmpty) {
@@ -381,15 +384,15 @@
if (PollBean.isPollFree(poll)) {
- checkEmpty(errorMap, "voterList", voterLists, "can't have voterList with free poll");
+ checkEmpty(errorMap, "voterList", voterLists, l(getLocale(), "pollen.error.poll.voterList.mismatch.freePoll"));
} else if (PollBean.isPollRestricted(poll)) {
- check(errorMap, "voterList", voterListsNotEmpty && 1 == voterLists.size(), "must have a unique voterList with a restricted poll");
+ check(errorMap, "voterList", voterListsNotEmpty && 1 == voterLists.size(), l(getLocale(), "pollen.error.poll.unique.voterList.mandatory.for.restrictedPoll"));
} else if (PollBean.isPollGroup(poll)) {
- check(errorMap, "voterList", voterListsNotEmpty, "must have at least one voterList with a group poll");
+ check(errorMap, "voterList", voterListsNotEmpty, l(getLocale(), "pollen.error.poll.voterList.mandatory.for.groupedPoll"));
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java 2014-05-16 12:26:45 UTC (rev 3960)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java 2014-05-16 13:13:49 UTC (rev 3961)
@@ -59,6 +59,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
+import java.util.Locale;
/**
* TODO
@@ -99,6 +100,10 @@
return serviceContext.getPollenServiceConfig();
}
+ protected Locale getLocale() {
+ return serviceContext.getLocale();
+ }
+
// -- Services -- //
protected AuthService getAuthService() {
Modified: trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties
===================================================================
--- trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties 2014-05-16 12:26:45 UTC (rev 3960)
+++ trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties 2014-05-16 13:13:49 UTC (rev 3961)
@@ -1,15 +1,28 @@
pollen.configuration.data.directory=Directory where Pollen stores his data
+pollen.configuration.defaultPollChoiceType=Default choice type used when creating a new poll
pollen.configuration.defaultPollCommentVisibility=Default Poll comment visibility used when creating a new poll
+pollen.configuration.defaultPollResultVisibility=Default Result vsibility used when creating a new poll
pollen.configuration.defaultPollType=Default Poll type used when creating a new poll
pollen.configuration.defaultPollVoteVisibility=Default Poll vote visibility used when creating a new poll
pollen.configuration.defaultVoteCountingType=Default vote counting type used when creating a new poll
-pollen.configuration.pollChoiceType=
pollen.error.favoriteList.import.csv.already.used.email=
pollen.error.favoriteList.import.csv.already.used.name=
pollen.error.favoriteList.import.csv.invalid.email=
pollen.error.favoriteList.import.ldap.already.used.email=
pollen.error.favoriteList.import.ldap.already.used.name=
pollen.error.favoriteList.import.ldap.invalid.email=
+pollen.error.poll.choice.mandatory=At least a choice is mandatory
+pollen.error.poll.commentVisibility.mandatory=comment visiblity is mandatory
+pollen.error.poll.mismatch.freePoll=cant' have a voter list for a free poll
+pollen.error.poll.pollType.mandatory=poll type is mandatory
+pollen.error.poll.pollType.mandatory\ commentVisibility=
+pollen.error.poll.resultVisibility.mandatory=result visibility is mandatory
+pollen.error.poll.title.mandatory=title is mandatory
+pollen.error.poll.unique.voterList.mandatory.for.restrictedPoll=A voter list is mandatory for a restricted poll
+pollen.error.poll.voteCountingType.mandatory=vote counting type is mandatory
+pollen.error.poll.voteVisibility.mandatory=vote visibility is mandatory
+pollen.error.poll.voterList.mandatory.for.groupedPoll=At least one voter list ins mandatory for a grouped poll
+pollen.error.poll.voterList.mismatch.freePoll=
pollen.service.mail.ChoiceAddedEmail.subject=[Pollen] A choice was added in poll %s
pollen.service.mail.ChoiceDeletedEmail.subject=[Pollen] A choice was deleted in poll %s
pollen.service.mail.ChoiceEditedEmail.subject=[Pollen] A choice was edited in poll %s
Modified: trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties
===================================================================
--- trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties 2014-05-16 12:26:45 UTC (rev 3960)
+++ trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties 2014-05-16 13:13:49 UTC (rev 3961)
@@ -1,15 +1,27 @@
pollen.configuration.data.directory=Répertoire de données de l'application
+pollen.configuration.defaultPollChoiceType=Type de choix par défaut lors de la création d'un nouveau sondage
pollen.configuration.defaultPollCommentVisibility=Visibilité des commentaires par défaut lors de la création d'un nouveau sondage
+pollen.configuration.defaultPollResultVisibility=Visibilité des résultats par défaut lors de la création d'un nouveau sondage
pollen.configuration.defaultPollType=Type de sondage par défaut lors de la création d'un nouveau sondage
pollen.configuration.defaultPollVoteVisibility=Visibilité des votes par défaut lors de la création d'un nouveau sondage
pollen.configuration.defaultVoteCountingType=Type de dépouillement par défaut lors de la création d'un nouveau sondage
-pollen.configuration.pollChoiceType=
pollen.error.favoriteList.import.csv.already.used.email=
pollen.error.favoriteList.import.csv.already.used.name=
pollen.error.favoriteList.import.csv.invalid.email=
pollen.error.favoriteList.import.ldap.already.used.email=
pollen.error.favoriteList.import.ldap.already.used.name=
pollen.error.favoriteList.import.ldap.invalid.email=
+pollen.error.poll.choice.mandatory=Au moins un choix est nécessaire
+pollen.error.poll.commentVisibility.mandatory=la visibilité des commentaires est obligatoire
+pollen.error.poll.pollType.mandatory=le type de sondage est obligatoire
+pollen.error.poll.pollType.mandatory\ commentVisibility=
+pollen.error.poll.resultVisibility.mandatory=la visibilité des résultats est obligatoire
+pollen.error.poll.title.mandatory=le titre du sondage est obligatoire
+pollen.error.poll.unique.voterList.mandatory.for.restrictedPoll=une liste de votant est obligatoire pour un sondage restreint
+pollen.error.poll.voteCountingType.mandatory=le type de vote est obligatoire
+pollen.error.poll.voteVisibility.mandatory=la visiblité des votes est obligatoire
+pollen.error.poll.voterList.mandatory.for.groupedPoll=Au moins une liste de votant est obligatoire pour un sondage groupé
+pollen.error.poll.voterList.mismatch.freePoll=Liste de votants impossible pour un sondage libre
pollen.service.mail.ChoiceAddedEmail.subject=[Pollen] Un choix a été ajouté au sondage %s
pollen.service.mail.ChoiceDeletedEmail.subject=[Pollen] Un choix a été supprimé du sondage %s
pollen.service.mail.ChoiceEditedEmail.subject=[Pollen] Un choix a été modifié sur le sondage %s
1
0
r3960 - in trunk: pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1 pollen-services/src/main/java/org/chorem/pollen/services/bean pollen-services/src/main/java/org/chorem/pollen/services/service
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 14:26:45 +0200 (Fri, 16 May 2014)
New Revision: 3960
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3960
Log:
add a create entity ref after login
Modified:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/AuthApi.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/AuthService.java
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/AuthApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/AuthApi.java 2014-05-16 12:26:05 UTC (rev 3959)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/AuthApi.java 2014-05-16 12:26:45 UTC (rev 3960)
@@ -23,7 +23,7 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.SessionToken;
+import org.chorem.pollen.services.bean.CreateBeanRef;
import org.chorem.pollen.services.service.AuthService;
import org.chorem.pollen.services.service.security.PollenAuthenticationException;
import org.debux.webmotion.server.WebMotionController;
@@ -36,10 +36,10 @@
*/
public class AuthApi extends WebMotionController {
- public SessionToken login(AuthService authService, String login, String password, Boolean rememberMe) throws PollenAuthenticationException {
+ public CreateBeanRef login(AuthService authService, String login, String password, Boolean rememberMe) throws PollenAuthenticationException {
- SessionToken sessionToken = authService.login(login, password, rememberMe);
- return sessionToken;
+ CreateBeanRef principalRef = authService.login(login, password, rememberMe);
+ return principalRef;
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java 2014-05-16 12:26:05 UTC (rev 3959)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java 2014-05-16 12:26:45 UTC (rev 3960)
@@ -6,6 +6,7 @@
import org.chorem.pollen.persistence.entity.FavoriteListMember;
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollenUser;
+import org.chorem.pollen.persistence.entity.SessionToken;
import org.chorem.pollen.persistence.entity.Vote;
import org.chorem.pollen.persistence.entity.VoterList;
@@ -72,6 +73,11 @@
setId(result.getTopiaId());
}
+ public void fromEntity(SessionToken result) {
+ setId(result.getTopiaId());
+ setPermission(result.getPollenToken().getToken());
+ }
+
public String getId() {
return id;
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/AuthService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/AuthService.java 2014-05-16 12:26:05 UTC (rev 3959)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/AuthService.java 2014-05-16 12:26:45 UTC (rev 3960)
@@ -29,6 +29,7 @@
import org.chorem.pollen.persistence.entity.PollenToken;
import org.chorem.pollen.persistence.entity.PollenUser;
import org.chorem.pollen.persistence.entity.SessionToken;
+import org.chorem.pollen.services.bean.CreateBeanRef;
import org.chorem.pollen.services.service.security.PollenAuthenticationException;
/**
@@ -42,7 +43,7 @@
/** Logger. */
private static final Log log = LogFactory.getLog(AuthService.class);
- public SessionToken login(String login, String password, Boolean rememberMe) throws PollenAuthenticationException {
+ public CreateBeanRef login(String login, String password, Boolean rememberMe) throws PollenAuthenticationException {
// Log-in user
PollenUser user = getSecurityService().login(login, password, rememberMe);
@@ -56,7 +57,9 @@
SessionToken.PROPERTY_POLLEN_USER, user);
commit();
- return sessionToken;
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(sessionToken);
+ return createBeanRef;
}
1
0
r3959 - trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 14:26:05 +0200 (Fri, 16 May 2014)
New Revision: 3959
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3959
Log:
rename session cookie name
Modified:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 12:25:43 UTC (rev 3958)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 12:26:05 UTC (rev 3959)
@@ -24,7 +24,7 @@
public class PollenRestApiUtil {
- public static final String COOKIE_USER_SESSION = "userSession";
+ public static final String COOKIE_USER_SESSION = "pollenSession";
public static final String HEADER_ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers";
1
0
r3958 - in trunk/pollen-services/src/main/java/org/chorem/pollen/services: config service
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 14:25:43 +0200 (Fri, 16 May 2014)
New Revision: 3958
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3958
Log:
add default resultVisibility option
Modified:
trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java 2014-05-16 12:25:22 UTC (rev 3957)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfig.java 2014-05-16 12:25:43 UTC (rev 3958)
@@ -32,6 +32,7 @@
import org.chorem.pollen.persistence.entity.ChoiceType;
import org.chorem.pollen.persistence.entity.CommentVisibility;
import org.chorem.pollen.persistence.entity.PollType;
+import org.chorem.pollen.persistence.entity.ResultVisibility;
import org.chorem.pollen.persistence.entity.VoteVisibility;
import org.chorem.pollen.services.PollenTechnicalException;
import org.nuiton.config.ApplicationConfig;
@@ -149,6 +150,13 @@
return result;
}
+ public ResultVisibility getDefaultResultVisibility() {
+ ResultVisibility result = applicationConfig.getOption(
+ ResultVisibility.class,
+ PollenServiceConfigOption.DEFAULT_RESULT_VISIBILITY.key);
+ return result;
+ }
+
public ChoiceType getDefaultChoiceType() {
ChoiceType result = applicationConfig.getOption(
ChoiceType.class,
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java 2014-05-16 12:25:22 UTC (rev 3957)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/config/PollenServiceConfigOption.java 2014-05-16 12:25:43 UTC (rev 3958)
@@ -26,6 +26,7 @@
import org.chorem.pollen.persistence.entity.ChoiceType;
import org.chorem.pollen.persistence.entity.CommentVisibility;
import org.chorem.pollen.persistence.entity.PollType;
+import org.chorem.pollen.persistence.entity.ResultVisibility;
import org.chorem.pollen.persistence.entity.VoteVisibility;
import org.nuiton.config.ConfigOptionDef;
@@ -97,6 +98,17 @@
CommentVisibility.class),
/**
+ * Default poll comment visibility to use at a new poll creation.
+ *
+ * @since 2.0
+ */
+ DEFAULT_RESULT_VISIBILITY(
+ "pollen.default.pollResultVisibility",
+ n("pollen.configuration.defaultPollResultVisibility"),
+ ResultVisibility.EVERYBODY.name(),
+ ResultVisibility.class),
+
+ /**
* Default poll choice type to use at a new choice creation.
*
* @since 2.0
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java 2014-05-16 12:25:22 UTC (rev 3957)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java 2014-05-16 12:25:43 UTC (rev 3958)
@@ -120,6 +120,7 @@
result.setPollType(getPollenServiceConfig().getDefaultPollType());
result.setVoteVisibility(getPollenServiceConfig().getDefaultVoteVisibility());
result.setCommentVisibility(getPollenServiceConfig().getDefaultCommentVisibility());
+ result.setResultVisibility(getPollenServiceConfig().getDefaultResultVisibility());
result.setBeginDate(serviceContext.getNow());
// -- creator -- //
1
0
Author: tchemit
Date: 2014-05-16 14:25:22 +0200 (Fri, 16 May 2014)
New Revision: 3957
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3957
Log:
begin of rest api
Modified:
trunk/src/site/rst/restApi.rst
Modified: trunk/src/site/rst/restApi.rst
===================================================================
--- trunk/src/site/rst/restApi.rst 2014-05-16 12:11:00 UTC (rev 3956)
+++ trunk/src/site/rst/restApi.rst 2014-05-16 12:25:22 UTC (rev 3957)
@@ -10,102 +10,1358 @@
Doc
===
-GET /v1/doc
+GET /v1/doc
+-----------
+Abstract
+~~~~~~~~
+
+To Show this documentation page.
+
Auth
====
-PUT /v1/login
-GET /v1/lostpassword/{token}
-GET /v1/logout
+PUT /v1/login
+-------------
+Abstract
+~~~~~~~~
+
+To log in.
+
+In
+~~
+
+- mandaTory parameter **login**
+- mandaTory parameter **password**
+- optional parameter **remberberMe**
+
+Validation
+~~~~~~~~~~
+
+- status 401 if bad authentication
+
+Out
+~~~
+
+::
+
+ {
+ id: "TokenId",
+ permission: "Token"
+ }
+
+A cookie named **pollenSession** with this data will be keep this data til you are logout.
+
+The cookie will be user for each request To log you in.
+
+GET /v1/lostpassword/{Token}
+----------------------------
+
+Abstract
+~~~~~~~~
+
+To ask a new password generation.
+
+In
+~~
+
+- mandaTory parameter **login**
+
+Validation
+~~~~~~~~~~
+
+- status 404 If login is not found
+
+FIXME Should return nothing (do not inform user the login does not exist).
+
+Out
+~~~
+
+None.
+
+GET /v1/logout
+--------------
+
+Abstract
+~~~~~~~~
+
+To log out from pollen.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+None.
+
+Out
+~~~
+
+None. The **pollenSession** cookie will be removed.
+
+Poll
+====
+
+GET /v1/polls/new
+-----------------
+
+Abstract
+~~~~~~~~
+
+To get a empty poll with default create values.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+None.
+
+Out
+~~~
+
+::
+
+ {
+ "id" : null,
+ "permission" : null,
+ "creaTorName" : null,
+ "creaTorEmail" : null,
+ "title" : null,
+ "description" : null,
+ "beginChoiceDate" : null,
+ "endChoiceDate" : null,
+ "beginDate" : 1388530800000,
+ "endDate" : null,
+ "maxChoiceNumber" : 0,
+ "choiceAddAllowed" : false,
+ "anonymousVoteAllowed" : false,
+ "continuousResults" : false,
+ "voteCountingType" : 1,
+ "pollType" : "FREE",
+ "voteVisibility" : "EVERYBODY",
+ "commentVisibility" : "EVERYBODY",
+ "resultVisibility" : "EVERYBODY",
+ "persisted" : false
+ }
+
+
+GET /v1/polls
+-------------
+
+Abstract
+~~~~~~~~
+
+To get all polls (for admin usage only).
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+- must be connected
+- must be admin
+
+Out
+~~~
+
+::
+
+ [
+ {
+
+ }
+ ]
+
+GET /v1/polls/created
+---------------------
+
+Abstract
+~~~~~~~~
+
+Get all the created polls for a connected user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+- need To be connected
+
+Out
+~~~
+
+A list of polls:
+
+::
+
+ [
+ { poll1 },
+ ...
+ ]
+
+GET /v1/polls/invited
+---------------------
+
+Abstract
+~~~~~~~~
+
+Get all the invited polls for a connected user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+- need To be connected
+
+Out
+~~~
+
+A list of polls:
+
+::
+
+ [
+ { poll1 },
+ ...
+ ]
+
+GET /v1/polls/participated
+--------------------------
+
+Abstract
+~~~~~~~~
+
+Get all the participated polls for a connected user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+- need To be connected
+
+Out
+~~~
+
+A list of polls:
+
+::
+
+ [
+ { poll1 },
+ ...
+ ]
+
+POST /v1/polls
+--------------
+
+Abstract
+~~~~~~~~
+
+To create a poll.
+
+In
+~~
+
+- mandaTory **poll** parameter with this format
+
+::
+
+
+ {
+ "id" : null,
+ "permission" : null,
+ "creaTorName" : null,
+ "creaTorEmail" : null,
+ "title" : null,
+ "description" : null,
+ "beginChoiceDate" : null,
+ "endChoiceDate" : null,
+ "beginDate" : 1388530800000,
+ "endDate" : null,
+ "maxChoiceNumber" : 0,
+ "choiceAddAllowed" : false,
+ "anonymousVoteAllowed" : false,
+ "continuousResults" : false,
+ "voteCountingType" : 1,
+ "pollType" : "FREE",
+ "voteVisibility" : "EVERYBODY",
+ "commentVisibility" : "EVERYBODY",
+ "resultVisibility" : "EVERYBODY",
+ "persisted" : false
+ }
+
+- mandaTory **choices** paremeter
+
+::
+
+ [
+ {
+ name: "",
+ choicetype: "",
+ description: ""
+ },
+ ...
+ ]
+
+- optional **voterLists** parameter (only for none free polls)
+
+::
+
+ [
+ {
+ name: "voterList1",
+ weight: 1.0,
+ member :
+ [
+ {
+ name: "member1",
+ email: "member1(a)pollen.org",
+ weight: 1.0
+ },
+ ...
+ ]
+ }
+ ]
+
+Validation
+~~~~~~~~~~
+
+TODO
+
+Out
+~~~
+
+Created poll reference:
+
+::
+
+ {
+ id: "pollId",
+ permission: "Token To be able To edit again the poll"
+ }
+
+PUT /v1/polls/{pollId}
+----------------------
+
+Abstract
+~~~~~~~~
+
+Edit a poll.
+
+In
+~~
+
+- mandaTory **poll** parameter with this format
+
+::
+
+ {
+ "id" : null,
+ "permission" : null,
+ "creaTorName" : null,
+ "creaTorEmail" : null,
+ "title" : null,
+ "description" : null,
+ "beginChoiceDate" : null,
+ "endChoiceDate" : null,
+ "beginDate" : 1388530800000,
+ "endDate" : null,
+ "maxChoiceNumber" : 0,
+ "choiceAddAllowed" : false,
+ "anonymousVoteAllowed" : false,
+ "continuousResults" : false,
+ "voteCountingType" : 1,
+ "pollType" : "FREE",
+ "voteVisibility" : "EVERYBODY",
+ "commentVisibility" : "EVERYBODY",
+ "resultVisibility" : "EVERYBODY",
+ "persisted" : false
+ }
+
+- optional parameter **permission** (if user is connected no need)
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+GET /v1/polls/{pollId}
+----------------------
+
+Abstract
+~~~~~~~~
+
+Get the poll of the given id.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+None.
+
+Out
+~~~
+
+A poll:
+
+::
+
+ {
+ "id" : null,
+ "permission" : null,
+ "creaTorName" : null,
+ "creaTorEmail" : null,
+ "title" : null,
+ "description" : null,
+ "beginChoiceDate" : null,
+ "endChoiceDate" : null,
+ "beginDate" : 1388530800000,
+ "endDate" : null,
+ "maxChoiceNumber" : 0,
+ "choiceAddAllowed" : false,
+ "anonymousVoteAllowed" : false,
+ "continuousResults" : false,
+ "voteCountingType" : 1,
+ "pollType" : "FREE",
+ "voteVisibility" : "EVERYBODY",
+ "commentVisibility" : "EVERYBODY",
+ "resultVisibility" : "EVERYBODY",
+ "persisted" : false
+ }
+
+DELETE /v1/polls/{pollId}
+-------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a poll.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+None.
+
+Out
+~~~
+
+None.
+
+POST /v1/polls/{pollId}
+-----------------------
+
+Abstract
+~~~~~~~~
+
+To clone a poll.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+None.
+
+Out
+~~~
+
+Reference on cloned poll.
+
+GET /v1/polls/{pollId}/export
+-----------------------------
+
+Abstract
+~~~~~~~~
+
+To export a poll.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+None.
+
+Out
+~~~
+
+Stream of the file.
+
+PUT /v1/polls/{pollId}/close
+----------------------------
+
+Abstract
+~~~~~~~~
+
+To close a poll.
+
+In
+~~
+
+None.
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+None.
+
Choice
======
-GET /v1/polls/{pollId}/choices
-POST /v1/polls/{pollId}/choices
-GET /v1/polls/{pollId}/choices/{choiceId}
-PUT /v1/polls/{pollId}/choices/{choiceId}
-DELETE /v1/polls/{pollId}/choices/{choiceId}
+GET /v1/polls/{pollId}/choices
+------------------------------
+Abstract
+~~~~~~~~
+
+To get all choices of a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+POST /v1/polls/{pollId}/choices
+-------------------------------
+
+Abstract
+~~~~~~~~
+
+To add a new choice on a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+GET /v1/polls/{pollId}/choices/{choiceId}
+-----------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get a choice.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+PUT /v1/polls/{pollId}/choices/{choiceId}
+-----------------------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a choice.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+DELETE /v1/polls/{pollId}/choices/{choiceId}
+--------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a choice.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
Comment
=======
-GET /v1/polls/{pollId}/comments
-POST /v1/polls/{pollId}/comments
-GET /v1/polls/{pollId}/comments/{commentId}
-PUT /v1/polls/{pollId}/comments/{commentId}
-DELETE /v1/polls/{pollId}/comments/{commentId}
+GET /v1/polls/{pollId}/comments
+-------------------------------
+Abstract
+~~~~~~~~
+
+To get all comments of a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/polls/{pollId}/comments
+--------------------------------
+
+Abstract
+~~~~~~~~
+
+To add a comment on a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/polls/{pollId}/comments/{commentId}
+-------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get a comment.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/polls/{pollId}/comments/{commentId}
+-------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a comment.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/polls/{pollId}/comments/{commentId}
+----------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a comment.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
FavoriteList
============
-GET /v1/favoriteLists
-GET /v1/favoriteLists/{flId}
-POST /v1/favoriteLists/{flId}/importCsv
-POST /v1/favoriteLists/{flId}/importLdap
-POST /v1/favoriteLists
-PUT /v1/favoriteLists/{flId}
-DELETE /v1/favoriteLists/{flId}
-GET /v1/favoriteLists/{flId}/members
-GET /v1/favoriteLists/{flId}/members/{mId}
-POST /v1/favoriteLists/{flId}/members
-PUT /v1/favoriteLists/{flId}/members/{mId}
-DELETE /v1/favoriteLists/{flId}/members/{mId}
+GET /v1/favoriteLists
+---------------------
-Poll
-====
+Abstract
+~~~~~~~~
-GET /v1/polls/new
-GET /v1/polls
-GET /v1/polls/created
-GET /v1/polls/invited
-GET /v1/polls/participated
-POST /v1/polls
-GET /v1/polls/create
-PUT /v1/polls/{pollId}
-GET /v1/polls/{pollId}
-DELETE /v1/polls/{pollId}
-POST /v1/polls/{pollId}
-GET /v1/polls/{pollId}/export
-PUT /v1/polls/{pollId}/close
+To get all favorite lists.
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/favoriteLists/{flId}
+----------------------------
+
+Abstract
+~~~~~~~~
+
+To get a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/favoriteLists/{flId}/importCsv
+---------------------------------------
+
+Abstract
+~~~~~~~~
+
+To import a favorite list from a csv file.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/favoriteLists/{flId}/importLdap
+----------------------------------------
+
+Abstract
+~~~~~~~~
+
+To import a favorite list from a ldap.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/favoriteLists
+----------------------
+
+Abstract
+~~~~~~~~
+
+To create a new favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/favoriteLists/{flId}
+----------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/favoriteLists/{flId}
+-------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/favoriteLists/{flId}/members
+------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get all members of a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/favoriteLists/{flId}/members/{mId}
+------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get a member of a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/favoriteLists/{flId}/members
+-------------------------------------
+
+Abstract
+~~~~~~~~
+
+To add a member in a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/favoriteLists/{flId}/members/{mId}
+------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a favorite list member.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/favoriteLists/{flId}/members/{mId}
+---------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a member from a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
PollenUser
==========
-GET /v1/users
-GET /v1/users/{userId}
-POST /v1/users
-PUT /v1/users/{userId}
-DELETE /v1/users/{userId}
-PUT /v1/users/{userId}?token={}
+GET /v1/users
+-------------
+Abstract
+~~~~~~~~
+
+To get all users (only for admin).
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/users/{userId}
+----------------------
+
+Abstract
+~~~~~~~~
+
+To get a user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/users
+--------------
+
+Abstract
+~~~~~~~~
+
+To create a user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/users/{userId}
+----------------------
+
+Abstract
+~~~~~~~~
+
+To edit a user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/users/{userId}
+-------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/users/{userId}?Token={}
+-------------------------------
+
+Abstract
+~~~~~~~~
+
+To validate email of a user.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
VoteCounting
============
-GET /v1/polls/{pollId}/results
+GET /v1/polls/{pollId}/results
+------------------------------
+Abstract
+~~~~~~~~
+
+To get results of a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
VoterList
=========
-PUT /v1/polls/{pollId}/favoriteLists/{flId}
-GET /v1/polls/{pollId}/voterLists
-GET /v1/polls/{pollId}/voterLists/{vlId}
-POST /v1/polls/{pollId}/voterLists
-PUT /v1/polls/{pollId}/voterLists/{vlId}
-DELETE /v1/polls/{pollId}/voterLists/{vlId}
+PUT /v1/polls/{pollId}/favoriteLists/{flId}
+-------------------------------------------
-GET /v1/polls/{pollId}/voterLists/{vlId}/members
-GET /v1/polls/{pollId}/voterLists/{vlId}/members/{mId}
-POST /v1/polls/{pollId}/voterLists/{vlId}/members
-PUT /v1/polls/{pollId}/voterLists/{vlId}/members/{mId}
-DELETE /v1/polls/{pollId}/voterLists/{vlId}/members/{mId}
+Abstract
+~~~~~~~~
+To create a voterList from a favorite list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/polls/{pollId}/voterLists
+---------------------------------
+
+Abstract
+~~~~~~~~
+
+To get voter lists of a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/polls/{pollId}/voterLists/{vlId}
+----------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/polls/{pollId}/voterLists
+----------------------------------
+
+Abstract
+~~~~~~~~
+
+To add a new voter list To a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/polls/{pollId}/voterLists/{vlId}
+----------------------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/polls/{pollId}/voterLists/{vlId}
+-------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/polls/{pollId}/voterLists/{vlId}/members
+------------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get all members of a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/polls/{pollId}/voterLists/{vlId}/members/{mId}
+------------------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get a member of a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+POST /v1/polls/{pollId}/voterLists/{vlId}/members
+-------------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To add a member To a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/polls/{pollId}/voterLists/{vlId}/members/{mId}
+------------------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a member of a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/polls/{pollId}/voterLists/{vlId}/members/{mId}
+---------------------------------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a member from a voter list.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
Vote
====
-GET /v1/polls/{pollId}/votes
-PUT /v1/polls/{pollId}/votes
-GET /v1/polls/{pollId}/votes/{voteId}
-PUT /v1/polls/{pollId}/votes/{voteId}
-DELETE /v1/polls/{pollId}/votes/{voteId}
+GET /v1/polls/{pollId}/votes
+----------------------------
+
+Abstract
+~~~~~~~~
+
+To get all votes of a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/polls/{pollId}/votes
+----------------------------
+
+Abstract
+~~~~~~~~
+
+To add a vote To a poll.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+GET /v1/polls/{pollId}/votes/{voteId}
+-------------------------------------
+
+Abstract
+~~~~~~~~
+
+To get a vote.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+PUT /v1/polls/{pollId}/votes/{voteId}
+-------------------------------------
+
+Abstract
+~~~~~~~~
+
+To edit a vote.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
+
+DELETE /v1/polls/{pollId}/votes/{voteId}
+----------------------------------------
+
+Abstract
+~~~~~~~~
+
+To delete a vote.
+
+In
+~~
+
+Validation
+~~~~~~~~~~
+
+Out
+~~~
+
1
0
r3956 - in trunk/pollen-ui-angular/src/main/webapp: . js js/controllers partials
by garandel@users.chorem.org 16 May '14
by garandel@users.chorem.org 16 May '14
16 May '14
Author: garandel
Date: 2014-05-16 14:11:00 +0200 (Fri, 16 May 2014)
New Revision: 3956
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3956
Log:
debug ui and translate to french all element
Modified:
trunk/pollen-ui-angular/src/main/webapp/index.html
trunk/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js
trunk/pollen-ui-angular/src/main/webapp/js/services.js
trunk/pollen-ui-angular/src/main/webapp/partials/inline-poll.html
trunk/pollen-ui-angular/src/main/webapp/partials/poll-list.html
trunk/pollen-ui-angular/src/main/webapp/partials/poll-popupChoice.html
trunk/pollen-ui-angular/src/main/webapp/partials/poll-settings.html
trunk/pollen-ui-angular/src/main/webapp/partials/poll.html
Modified: trunk/pollen-ui-angular/src/main/webapp/index.html
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/index.html 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/index.html 2014-05-16 12:11:00 UTC (rev 3956)
@@ -53,34 +53,34 @@
</ul>
<ul class="nav navbar-nav pull-right">
<li ng-show="!currentUser.login">
- <a href="#/user/register/">register</a>
+ <a href="#/user/register/">S'enregistrer</a>
</li>
<li class="divider-vertical" ng-show="!currentUser.login"></li>
<li class="dropdown" ng-show="!currentUser.login">
<a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">
- login<strong class="caret"></strong>
+ Connexion<strong class="caret"></strong>
</a>
<div class="dropdown-menu form" role="menu">
<form id='loginForm'>
<div class="control-group">
- <label class="control-label">Login</label>
+ <label class="control-label">Utilisateur</label>
<input type="text" name='login' />
<span class="help-block hide"></span>
</div>
<div class="control-group">
- <label class="control-label" >Password</label>
+ <label class="control-label" >Mot de Passe</label>
<input type="password" name='password' />
<span class="help-block hide"></span>
</div>
<div class="control-group">
<label class="control-label checkbox" >
- <input type="checkbox" name='rememberMe'> Remember Me
+ <input type="checkbox" name='rememberMe'> Connexion automatique
</label>
</div>
@@ -104,7 +104,7 @@
<li class="divider" role="presentation"></li>
<li role="presentation">
- <a id='menuItemLogout'>logout</a>
+ <a id='menuItemLogout'>Deconnexion</a>
</li>
</ul>
Modified: trunk/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js 2014-05-16 12:11:00 UTC (rev 3956)
@@ -92,13 +92,13 @@
if (angular.isDefined($scope.restError)) {
delete $scope.restError.choice;
}
- popupChoice(choice, 'Add Choice', $scope.callBackAddChoice);
+ popupChoice(choice, 'Ajout d\'un Choix', $scope.callBackAddChoice);
}
$scope.callBackAddChoice = function (choice) {}
$scope.editChoice = function (choice) {
- popupChoice(choice, 'Edit Choice', $scope.callBackEditChoice);
+ popupChoice(choice, 'Edition du Choix', $scope.callBackEditChoice);
}
$scope.callBackEditChoice = function (choice) {}
@@ -186,7 +186,7 @@
poll.choice = angular.copy($scope.data.choices);
Poll.add(poll, function (data) {
$cookieStore.put('saved', true);
- $location.url('/poll/edit/'+data.topiaId+'?token='+data.permission);
+ $location.url('/poll/edit/'+data.id+'?token='+data.permission);
}, function (error) {
$scope.globalVariables.restError = true;
$scope.restError = error.data;
@@ -220,7 +220,7 @@
}
$scope.callBackEditChoice = function (choice) {
- PollChoice.update({permission:$routeParams.token, pollId:$routeParams.pollId, choiceId:choice.topiaId}, choice, function() {
+ PollChoice.update({permission:$routeParams.token, pollId:$routeParams.pollId}, choice, function() {
delete choice.restError;
$scope.globalVariables.saved = true;
}, function (error) {
@@ -229,7 +229,7 @@
}
$scope.deleteChoice = function (choice) {
- PollChoice.delete({pollId:$routeParams.pollId, permission:$routeParams.token, choiceId: choice.topiaId}, function () {
+ PollChoice.delete({pollId:$routeParams.pollId, permission:$routeParams.token, choiceId: choice.id}, function () {
$scope.globalVariables.saved = true;
var index = $scope.data.choices.indexOf(choice);
if (index > -1) {
@@ -309,11 +309,11 @@
var initVote = function () {
$scope.data.vote = {};
- $scope.data.vote.voter = {name : ""};
+ $scope.data.vote.voterName = "";
$scope.data.vote.anonymous = false;
$scope.data.vote.choice = [];
for (var i = 0; i < $scope.data.choices.length; ++i) {
- $scope.data.vote.choice.push({choiceId:$scope.data.choices[i].topiaId, voteValue:false});
+ $scope.data.vote.choice.push({choiceId:$scope.data.choices[i].id, voteValue:false});
}
}
Modified: trunk/pollen-ui-angular/src/main/webapp/js/services.js
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/js/services.js 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/js/services.js 2014-05-16 12:11:00 UTC (rev 3956)
@@ -22,7 +22,7 @@
.factory('Poll', ['$resource', function ($resource) {
- return $resource(conf.restURL+'/polls/:pollId/:cmd', {pollId:'@topiaId'}, {
+ return $resource(conf.restURL+'/polls/:pollId/:cmd', {pollId:'@id'}, {
'add' : {
method : 'POST',
transformRequest : function (data, headersGetter) {
@@ -46,7 +46,7 @@
return 'choice='+encodeURIComponent(JSON.stringify(data));
};
- return $resource(conf.restURL+'/polls/:pollId/choices/:choiceId', {choiceId : '@topiaId'},
+ return $resource(conf.restURL+'/polls/:pollId/choices/:choiceId', {choiceId : '@id'},
{
'add' : {
method:'POST',
@@ -70,7 +70,7 @@
return 'vote='+encodeURIComponent(JSON.stringify(data));
};
- return $resource(conf.restURL+'/polls/:pollId/votes/:voteId', {voteId : '@topiaId'},
+ return $resource(conf.restURL+'/polls/:pollId/votes/:voteId', {voteId : '@id'},
{
'add' : {
method:'POST',
Modified: trunk/pollen-ui-angular/src/main/webapp/partials/inline-poll.html
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/partials/inline-poll.html 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/partials/inline-poll.html 2014-05-16 12:11:00 UTC (rev 3956)
@@ -28,7 +28,7 @@
<td ng-repeat="choice in data.choices" class="pollChoice pollAnim" ng-mouseenter="showEditHover = true" ng-mouseleave="showEditHover = false">
<div ng-if="choice.choiceType == 'TEXT'" edit-me="showEdit" >
<div ng-hide="showEdit && !globalVariables.voted" class="fixe-input" title="{{choice.description}}">
- {{choice.name || 'click for edit'}}
+ {{choice.name || 'click pour éditer'}}
<info-Error error="choice.restError.name[0]" data="choice.name"></info-Error>
<input type="button" class="btn btn-default" ng-if="!globalVariables.voted && globalVariables.editMode" ng-show="showEditHover" ng-click="editChoice(choice)" value="..."/></div>
<div ng-show="showEdit && !globalVariables.voted">
@@ -50,7 +50,7 @@
<!-- begin input vote -->
<tr ng-show="!globalVariables.editMode">
- <td class="pollChoice"> <input type="text" class="form-control" placeholder="votre nom" ng-model="data.vote.voter.name" /> </td>
+ <td class="pollChoice"> <input type="text" class="form-control" placeholder="votre nom" ng-model="data.vote.voterName" /> </td>
<td ng-repeat="choice in data.vote.choice" class="pollChoice">
<input type="checkbox" name="{{choice.choice.topiaId}}" ng-model="choice.voteValue" />
</td>
@@ -62,7 +62,7 @@
<!-- begin print vote -->
<tr ng-repeat="vote in data.votants track by $index" class="pollAnim" ng-show="!globalVariables.editMode">
- <td class="pollChoice"> {{vote.voter.name}}</td>
+ <td class="pollChoice"> {{vote.voterName}}</td>
<td ng-repeat="choice in vote.choice" class="pollChoice">
<input type="checkbox" ng-model="choice.voteValue" disabled />
</td>
Modified: trunk/pollen-ui-angular/src/main/webapp/partials/poll-list.html
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/partials/poll-list.html 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/partials/poll-list.html 2014-05-16 12:11:00 UTC (rev 3956)
@@ -1,6 +1,6 @@
<div ng-repeat="poll in data.polls">
- <h2><a href="#/poll/vote/{{poll.topiaId}}">{{poll.title}}</a> <a href="#/poll/edit/{{poll.topiaId}}?token={{poll.creator.permission.token}}"><i class="glyphicon glyphicon-pencil"></i></a></h2>
+ <h2><a href="#/poll/vote/{{poll.id}}">{{poll.title}}</a> <a href="#/poll/edit/{{poll.id}}?token={{poll.permission}}"><i class="glyphicon glyphicon-pencil"></i></a></h2>
<p ng-bind-html="toHTML(poll.description)"></p>
<hr/>
</div>
\ No newline at end of file
Modified: trunk/pollen-ui-angular/src/main/webapp/partials/poll-popupChoice.html
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/partials/poll-popupChoice.html 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/partials/poll-popupChoice.html 2014-05-16 12:11:00 UTC (rev 3956)
@@ -62,8 +62,8 @@
</div>
</div>
<div class="modal-footer">
- <button type="button" class="btn btn-danger" ng-click="deleteChoice(choice)">Delete</button>
- <button type="button" class="btn btn-default" ng-click="cancelChoice()">Cancel</button>
- <button type="button" class="btn btn-primary" ng-click="saveChoice()">Save</button>
+ <button type="button" class="btn btn-danger" ng-click="deleteChoice(choice)">Supprimer</button>
+ <button type="button" class="btn btn-default" ng-click="cancelChoice()">Annuler</button>
+ <button type="button" class="btn btn-primary" ng-click="saveChoice()">Sauvegarder</button>
</div>
</form>
\ No newline at end of file
Modified: trunk/pollen-ui-angular/src/main/webapp/partials/poll-settings.html
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/partials/poll-settings.html 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/partials/poll-settings.html 2014-05-16 12:11:00 UTC (rev 3956)
@@ -49,11 +49,18 @@
<div class="form-group">
<label class="col-lg-4 control-label">Résultat : </label>
+ <div class="col-lg-8">
+ <label><input type="radio" ng-model="data.poll.resultVisibility" name="resultVisibility" value="EVERYBODY" /> Public</label>
+ <label><input type="radio" ng-model="data.poll.resultVisibility" name="resultVisibility" value="VOTER" /> Participants</label>
+ <label><input type="radio" ng-model="data.poll.resultVisibility" name="resultVisibility" value="CREATOR" /> Créateur</label>
+ </div>
+ <!--
<div class="col-lg-8 btn-group">
<button type="button" class="btn btn-success" ng-model="data.poll.resultVisibility" btn-radio="'EVERYBODY'">Public</button>
<button type="button" class="btn btn-success" ng-model="data.poll.resultVisibility" btn-radio="'VOTER'">Participants</button>
<button type="button" class="btn btn-success" ng-model="data.poll.resultVisibility" btn-radio="'CREATOR'">Créateur</button>
</div>
+ -->
</div>
<div class="form-group">
Modified: trunk/pollen-ui-angular/src/main/webapp/partials/poll.html
===================================================================
--- trunk/pollen-ui-angular/src/main/webapp/partials/poll.html 2014-05-16 09:59:58 UTC (rev 3955)
+++ trunk/pollen-ui-angular/src/main/webapp/partials/poll.html 2014-05-16 12:11:00 UTC (rev 3956)
@@ -30,11 +30,11 @@
<alert type="warning" ng-if="globalVariables.created"> <a href="#/poll/edit/{{pollId}}"> Edition du sondage </a>.. </alert>
<tabset>
-<tab heading="Poll">
+<tab heading="Sondage">
<div class="pollTitle" edit-me="showEditTitle">
<h1 ng-hide="showEditTitle">
- {{data.poll.title || 'Click Me for Editing'}}
+ {{data.poll.title || 'Click pour éditer'}}
<info-Error error="restError.title[0]" data="data.poll.title"></info-Error>
</h1>
@@ -59,7 +59,7 @@
</div>
</tab>
-<tab heading="Setting" ng-show="globalVariables.editMode" >
+<tab heading="Configuration" ng-show="globalVariables.editMode" >
<div ng-include="'partials/poll-settings.html'"></div>
</tab>
</tabset>
@@ -67,13 +67,13 @@
<div ng-if="globalVariables.create">
<hr/>
<button type="button" class="btn btn-default" ng-model="globalVariables.editMode" btn-checkbox>Mode Edition</button>
- <button class="btn btn-primary" ng-click="save()">Save</button>
+ <button class="btn btn-primary" ng-click="save()">Sauvegarder</button>
</div>
<div ng-if="globalVariables.edit">
<hr/>
<button type="button" class="btn btn-default" ng-model="globalVariables.editMode" btn-checkbox>Mode Edition</button>
- <button class="btn btn-danger" ng-click="delete();">Delete</button>
+ <button class="btn btn-danger" ng-click="delete();">Supprimer</button>
</div>
</form>
\ No newline at end of file
1
0
r3955 - in trunk: pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity pollen-services/src/main/java/org/chorem/pollen/services/bean pollen-services/src/main/java/org/chorem/pollen/services/service
by tchemit@users.chorem.org 16 May '14
by tchemit@users.chorem.org 16 May '14
16 May '14
Author: tchemit
Date: 2014-05-16 11:59:58 +0200 (Fri, 16 May 2014)
New Revision: 3955
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3955
Log:
fix vote choice order
Added:
trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java
Modified:
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java
Added: trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java
===================================================================
--- trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java (rev 0)
+++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java 2014-05-16 09:59:58 UTC (rev 3955)
@@ -0,0 +1,30 @@
+package org.chorem.pollen.persistence.entity;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * Created on 5/16/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since XXX
+ */
+public class VoteToChoices {
+
+ public static void sortByChoiceOrder(List<VoteToChoice> voteToChoices) {
+ Collections.sort(voteToChoices, new VoteToChoiceComparator());
+ }
+
+ protected static class VoteToChoiceComparator implements Comparator<VoteToChoice>, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public int compare(VoteToChoice o1, VoteToChoice o2) {
+ return o1.getChoice().getChoiceOrder() - o2.getChoice().getChoiceOrder();
+ }
+ }
+
+}
Property changes on: trunk/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/VoteToChoices.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java 2014-05-16 09:35:44 UTC (rev 3954)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java 2014-05-16 09:59:58 UTC (rev 3955)
@@ -5,8 +5,11 @@
import org.chorem.pollen.persistence.entity.Vote;
import org.chorem.pollen.persistence.entity.VoteImpl;
import org.chorem.pollen.persistence.entity.VoteToChoice;
+import org.chorem.pollen.persistence.entity.VoteToChoices;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -48,8 +51,11 @@
setVoterId(vote.getVoter().getTopiaId());
setVoterName(vote.getVoter().getName());
- for (VoteToChoice voteToChoice : vote.getVoteToChoice()) {
+ List<VoteToChoice> voteToChoices = new ArrayList<>(vote.getVoteToChoice());
+ VoteToChoices.sortByChoiceOrder(voteToChoices);
+ for (VoteToChoice voteToChoice : voteToChoices) {
+
VoteToChoiceBean choiceBean = new VoteToChoiceBean();
choiceBean.fromEntity(voteToChoice);
addChoice(choiceBean);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java 2014-05-16 09:35:44 UTC (rev 3954)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java 2014-05-16 09:59:58 UTC (rev 3955)
@@ -16,8 +16,6 @@
protected String choiceId;
- protected int choiceOrder;
-
protected Double voteValue;
@Override
@@ -26,7 +24,6 @@
setId(entity.getTopiaId());
setVoteValue(entity.getVoteValue());
setChoiceId(entity.getChoice().getTopiaId());
- setChoiceOrder(entity.getChoice().getChoiceOrder());
}
@@ -38,7 +35,6 @@
entity.setVoteValue(getVoteValue());
entity.setChoice(new ChoiceImpl());
entity.getChoice().setTopiaId(getChoiceId());
- entity.getChoice().setChoiceOrder(getChoiceOrder());
return entity;
@@ -60,11 +56,4 @@
this.voteValue = voteValue;
}
- public int getChoiceOrder() {
- return choiceOrder;
- }
-
- public void setChoiceOrder(int choiceOrder) {
- this.choiceOrder = choiceOrder;
- }
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java 2014-05-16 09:35:44 UTC (rev 3954)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java 2014-05-16 09:59:58 UTC (rev 3955)
@@ -53,6 +53,7 @@
checkNotNull(pollId);
Poll poll = getPollService().getPoll0(pollId);
+ //FIXME Use a certain order
List<Vote> votes = getVoteDao().forPollEquals(poll).findAll();
return copyAsList(VoteBean.class, votes);
1
0
Author: tchemit
Date: 2014-05-16 11:35:44 +0200 (Fri, 16 May 2014)
New Revision: 3954
Url: http://forge.chorem.org/projects/pollen/repository/revisions/3954
Log:
use only pollen bean in services prototypes
Added:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonArrayConverter.java
trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CommentBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListMemberBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollResultBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/package-info.java
Removed:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/Jsons.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/RequestResponses.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverter.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverter.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteBean.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteToChoiceBean.java
trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverterTest.java
trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverterTest.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollResult.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenPrincipalRef.java
Modified:
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ChoiceApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ErrorAction.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingApi.java
trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoterListApi.java
trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java
trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java
trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java
trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java
trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/Jsons.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/Jsons.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/Jsons.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,76 +0,0 @@
-package org.chorem.pollen.rest.api;
-
-/*
- * #%L
- * Pollen :: Rest Api
- * %%
- * Copyright (C) 2009 - 2014 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
-import org.chorem.pollen.persistence.PollenEntityEnum;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-/**
- * Created on 5/7/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class Jsons {
-
- public static ObjectMapper newSimpleMapper() {
-
- ObjectMapper mapper = new ObjectMapper()
- .configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)
- .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) //FIXME Could be better ?
- .registerModule(new AfterburnerModule());
-
- return mapper;
-
- }
-
- public static ObjectMapper newEntityMapper() {
-
- SimpleModule module = new SimpleModule();
-
- for (Class<? extends TopiaEntity> entityClass : PollenEntityEnum.getContractClasses()) {
-
- Class concreteClass = PollenEntityEnum.getImplementationClass(entityClass);
- module.addAbstractTypeMapping(entityClass, concreteClass);
-
- }
-
- ObjectMapper mapper = newSimpleMapper()
- .registerModule(module);
-
- return mapper;
-
- }
-
- public static String entitiesToString(Object o) throws JsonProcessingException {
-
- return newEntityMapper().writeValueAsString(o);
-
- }
-
-}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRender.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -25,10 +25,8 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
-import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.debux.webmotion.server.call.Call;
import org.debux.webmotion.server.call.HttpContext;
import org.debux.webmotion.server.mapping.Mapping;
@@ -70,18 +68,10 @@
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- mapper = Jsons.newSimpleMapper();
-
- } else if (model instanceof PollenPrincipalRef) {
-
- mapper = Jsons.newSimpleMapper();
-
- } else {
-
- mapper = Jsons.newEntityMapper();
-
}
+ mapper = PollenRestApiUtil.newSimpleMapper();
+
map = toMap(model);
PollenRestApiApplicationContext applicationContext =
@@ -123,18 +113,6 @@
}
- if (model instanceof PollenPrincipalRef<?>) {
-
- PollenPrincipalRef<?> pollenEntityRef = (PollenPrincipalRef<?>) model;
-
- Map<String, Object> result = Maps.newTreeMap();
- result.put("topiaId", pollenEntityRef.getEntity().getTopiaId());
- result.put("permission", pollenEntityRef.getPrincipal().getPermission().getToken());
-
- return result;
-
- }
-
return model;
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiApplicationListener.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,21 +23,27 @@
* #L%
*/
-import org.chorem.pollen.persistence.PollenEntityEnum;
+import com.google.common.collect.Sets;
+import org.chorem.pollen.rest.api.converter.JsonArrayConverter;
import org.chorem.pollen.rest.api.converter.JsonConverter;
-import org.chorem.pollen.rest.api.converter.TopiaEntityArrayConverter;
-import org.chorem.pollen.rest.api.v1.VoteBean;
-import org.chorem.pollen.rest.api.v1.VoteToChoiceBean;
import org.chorem.pollen.services.PollenService;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CommentBean;
+import org.chorem.pollen.services.bean.FavoriteListBean;
+import org.chorem.pollen.services.bean.FavoriteListMemberBean;
+import org.chorem.pollen.services.bean.PollBean;
+import org.chorem.pollen.services.bean.PollenUserBean;
+import org.chorem.pollen.services.bean.VoteBean;
+import org.chorem.pollen.services.bean.VoteToChoiceBean;
import org.debux.webmotion.server.WebMotionServerListener;
import org.debux.webmotion.server.call.Call;
import org.debux.webmotion.server.call.HttpContext;
import org.debux.webmotion.server.call.ServerContext;
import org.debux.webmotion.server.handler.ExecutorParametersInjectorHandler;
import org.debux.webmotion.server.mapping.Mapping;
-import org.nuiton.topia.persistence.TopiaEntity;
import java.lang.reflect.Type;
+import java.util.Set;
/**
* TODO
@@ -47,24 +53,32 @@
*/
public class PollenRestApiApplicationListener implements WebMotionServerListener {
+ protected static final Set<Class<?>> BEAN_TYPES = Sets.<Class<?>>newHashSet(
+ PollBean.class,
+ ChoiceBean.class,
+ CommentBean.class,
+ VoteBean.class,
+ VoteToChoiceBean.class,
+ PollBean.class,
+ PollenUserBean.class,
+ FavoriteListBean.class,
+ FavoriteListMemberBean.class
+ );
+
@Override
public void onStart(Mapping mapping, ServerContext serverContext) {
// --- init converters --- //
- for (Class<? extends TopiaEntity> entityClass : PollenEntityEnum.getContractClasses()) {
+ for (Class<?> beanType : BEAN_TYPES) {
- JsonConverter converter = JsonConverter.newEntityconverter(entityClass);
- serverContext.addConverter(converter, entityClass);
+ serverContext.addConverter(JsonConverter.newConverter(beanType), beanType);
- TopiaEntityArrayConverter<? extends TopiaEntity> arrayConverter = TopiaEntityArrayConverter.newconverter(entityClass);
- serverContext.addConverter(arrayConverter, arrayConverter.getDefaultType());
+ JsonArrayConverter<?> converter = JsonArrayConverter.newConverter(beanType);
+ serverContext.addConverter(converter, converter.getDefaultType());
}
- serverContext.addConverter(JsonConverter.newConverter(VoteBean.class), VoteBean.class);
- serverContext.addConverter(JsonConverter.newConverter(VoteToChoiceBean.class), VoteToChoiceBean.class);
-
// --- init injectors --- //
serverContext.addInjector(new ExecutorParametersInjectorHandler.Injector() {
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -65,13 +65,13 @@
HttpServletResponse.SC_OK == ((RenderStatus) render).getCode()) {
// operation accepted
- RequestResponses.addOptionCorsHeaders(context);
+ PollenRestApiUtil.addOptionCorsHeaders(context);
}
}
- RequestResponses.prepareResponse(context, requestContext);
+ PollenRestApiUtil.prepareResponse(context, requestContext);
}
@@ -106,7 +106,7 @@
SecurityService securityService = requestContext.getSecurityService();
// --- get session token (from cookie) --- //
- CookieManager.CookieEntity pollenSession = httpContext.getCookieManager().get(RequestResponses.COOKIE_USER_SESSION);
+ CookieManager.CookieEntity pollenSession = httpContext.getCookieManager().get(PollenRestApiUtil.COOKIE_USER_SESSION);
String authParam = pollenSession == null ? null : pollenSession.getValue();
SessionToken sessionToken = securityService.getSessionTokenByToken(authParam);
Added: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java (rev 0)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,100 @@
+package org.chorem.pollen.rest.api;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
+import com.google.common.collect.Lists;
+import org.apache.commons.lang3.StringUtils;
+import org.chorem.pollen.persistence.entity.SessionToken;
+import org.chorem.pollen.services.service.security.PollenSecurityContext;
+import org.debux.webmotion.server.call.CookieManager;
+import org.debux.webmotion.server.call.HttpContext;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * Created on 5/16/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class PollenRestApiUtil {
+
+
+ public static final String COOKIE_USER_SESSION = "userSession";
+
+ public static final String HEADER_ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers";
+
+ public static final String HEADER_ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers";
+
+ public static <O> List<O> toList(O[] array) {
+
+ List<O> list = null;
+
+ if (array != null && array.length > 0) {
+ list = Lists.newArrayList(array);
+ }
+
+ return list;
+ }
+
+ public static ObjectMapper newSimpleMapper() {
+
+ ObjectMapper mapper = new ObjectMapper()
+ .configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) //FIXME Could be better ?
+ .registerModule(new AfterburnerModule());
+
+ return mapper;
+
+ }
+
+ public static String entitiesToString(Object o) throws JsonProcessingException {
+
+ return newSimpleMapper().writeValueAsString(o);
+
+ }
+
+ public static void prepareResponse(HttpContext context) {
+
+ PollenRestApiRequestContext requestContext = PollenRestApiRequestContext.getRequestContext(context);
+
+ prepareResponse(context, requestContext);
+
+ }
+
+ public static void prepareResponse(HttpContext context, PollenRestApiRequestContext requestContext) {
+
+ HttpServletResponse response = context.getResponse();
+ response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*");
+ response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
+
+ CookieManager cookieManager = context.getCookieManager();
+
+ PollenSecurityContext securityContext = requestContext.getSecurityContext();
+ SessionToken sessionToken = securityContext.getSessionToken();
+ if (sessionToken != null) {
+
+ CookieManager.CookieEntity pollenSession = cookieManager.create(COOKIE_USER_SESSION, sessionToken.getPollenToken().getToken());
+ cookieManager.add(pollenSession);
+
+ } else {
+
+ cookieManager.remove(COOKIE_USER_SESSION);
+
+ }
+
+ }
+
+ public static void addOptionCorsHeaders(HttpContext context) {
+
+ String requestHeaders = context.getHeader(HEADER_ACCESS_CONTROL_REQUEST_HEADERS);
+
+ if (StringUtils.isNotBlank(requestHeaders)) {
+ context.getResponse().addHeader(HEADER_ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders);
+ }
+ }
+}
Property changes on: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiUtil.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/RequestResponses.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/RequestResponses.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/RequestResponses.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,64 +0,0 @@
-package org.chorem.pollen.rest.api;
-
-import org.apache.commons.lang3.StringUtils;
-import org.chorem.pollen.persistence.entity.SessionToken;
-import org.chorem.pollen.services.service.security.PollenSecurityContext;
-import org.debux.webmotion.server.call.CookieManager;
-import org.debux.webmotion.server.call.HttpContext;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Created on 5/13/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class RequestResponses {
-
- public static final String COOKIE_USER_SESSION = "userSession";
-
- public static final String HEADER_ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers";
-
- public static final String HEADER_ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers";
-
- public static void prepareResponse(HttpContext context) {
-
- PollenRestApiRequestContext requestContext = PollenRestApiRequestContext.getRequestContext(context);
-
- prepareResponse(context, requestContext);
-
- }
-
- public static void prepareResponse(HttpContext context, PollenRestApiRequestContext requestContext) {
-
- HttpServletResponse response = context.getResponse();
- response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*");
- response.addHeader(HttpContext.HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
-
- CookieManager cookieManager = context.getCookieManager();
-
- PollenSecurityContext securityContext = requestContext.getSecurityContext();
- SessionToken sessionToken = securityContext.getSessionToken();
- if (sessionToken != null) {
-
- CookieManager.CookieEntity pollenSession = cookieManager.create(COOKIE_USER_SESSION, sessionToken.getPollenToken().getToken());
- cookieManager.add(pollenSession);
-
- } else {
-
- cookieManager.remove(COOKIE_USER_SESSION);
-
- }
-
- }
-
- public static void addOptionCorsHeaders(HttpContext context) {
-
- String requestHeaders = context.getHeader(HEADER_ACCESS_CONTROL_REQUEST_HEADERS);
-
- if (StringUtils.isNotBlank(requestHeaders)) {
- context.getResponse().addHeader(HEADER_ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders);
- }
- }
-}
Added: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonArrayConverter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonArrayConverter.java (rev 0)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonArrayConverter.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,67 @@
+package org.chorem.pollen.rest.api.converter;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.beanutils.converters.AbstractConverter;
+import org.chorem.pollen.rest.api.PollenRestApiUtil;
+import org.chorem.pollen.services.PollenTechnicalException;
+
+import java.io.IOException;
+import java.lang.reflect.Array;
+
+/**
+ * Created on 5/16/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class JsonArrayConverter<O> extends AbstractConverter {
+
+ protected final Class<O[]> arrayType;
+
+ protected final ObjectMapper mapper;
+
+ public static <O> JsonArrayConverter<O> newConverter(Class<O> objectType) {
+ return new JsonArrayConverter<>(objectType);
+ }
+
+ public JsonArrayConverter(Class<O> entityType) {
+ this.arrayType = getArrayClass(entityType);
+ this.mapper = PollenRestApiUtil.newSimpleMapper();
+ }
+
+ <T> Class<T[]> getArrayClass(Class<T> clazz) {
+ return (Class<T[]>) Array.newInstance(clazz, 0).getClass();
+ }
+
+ @Override
+ protected <T> T convertToType(Class<T> type, Object value) throws Throwable {
+
+ String stringValue;
+
+ if (value instanceof String) {
+
+ stringValue = (String) value;
+
+ } else {
+
+ stringValue = ((String[]) value)[0];
+
+ }
+
+ try {
+
+ O[] values = mapper.readValue(stringValue, this.arrayType);
+ return (T) values;
+
+ } catch (IOException e) {
+ throw new PollenTechnicalException("Could not convert " + stringValue + " to " + type.getName(), e);
+ }
+
+ }
+
+ @Override
+ public Class<?> getDefaultType() {
+ return arrayType;
+ }
+}
+
Property changes on: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonArrayConverter.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/JsonConverter.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -25,7 +25,7 @@
import com.fasterxml.jackson.databind.module.SimpleModule;
import org.apache.commons.beanutils.converters.AbstractConverter;
import org.chorem.pollen.persistence.PollenEntityEnum;
-import org.chorem.pollen.rest.api.Jsons;
+import org.chorem.pollen.rest.api.PollenRestApiUtil;
import org.chorem.pollen.services.PollenTechnicalException;
import org.nuiton.topia.persistence.TopiaEntity;
@@ -39,36 +39,36 @@
*/
public class JsonConverter<O> extends AbstractConverter {
- protected Class<O> entityType;
+ protected Class<O> objectType;
protected Class<O> implementationClass;
protected ObjectMapper mapper;
- public static <O> JsonConverter<O> newConverter(Class<O> entityType) {
- return newConverter(entityType, entityType);
+ public static <O> JsonConverter<O> newConverter(Class<O> objectType) {
+ return newConverter(objectType, objectType);
}
- public static <E extends TopiaEntity> JsonConverter<E> newEntityconverter(Class<E> entityType) {
- Class<E> implementationClass = PollenEntityEnum.getImplementationClass(entityType);
- return newConverter(entityType, implementationClass);
+ public static <E extends TopiaEntity> JsonConverter<E> newEntityConverter(Class<E> objectType) {
+ Class<E> implementationClass = PollenEntityEnum.getImplementationClass(objectType);
+ return newConverter(objectType, implementationClass);
}
- public static <O> JsonConverter<O> newConverter(Class<O> entityType, Class<O> implementationClass) {
- return new JsonConverter<>(entityType, implementationClass);
+ public static <O> JsonConverter<O> newConverter(Class<O> objectType, Class<O> implementationClass) {
+ return new JsonConverter<>(objectType, implementationClass);
}
- public JsonConverter(Class<O> entityType, Class<O> implementationClass) {
+ public JsonConverter(Class<O> objectType, Class<O> implementationClass) {
- this.entityType = entityType;
+ this.objectType = objectType;
this.implementationClass = implementationClass;
SimpleModule module = new SimpleModule();
- if (entityType != implementationClass) {
+ if (objectType != implementationClass) {
- module.addAbstractTypeMapping(entityType, implementationClass);
+ module.addAbstractTypeMapping(objectType, implementationClass);
}
@@ -79,7 +79,7 @@
}
- mapper = Jsons.newEntityMapper();
+ mapper = PollenRestApiUtil.newSimpleMapper();
}
@@ -127,7 +127,7 @@
@Override
protected Class<O> getDefaultType() {
- return entityType;
+ return objectType;
}
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverter.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverter.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,88 +0,0 @@
-package org.chorem.pollen.rest.api.converter;
-
-/*
- * #%L
- * Pollen :: Rest Api
- * %%
- * Copyright (C) 2009 - 2014 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.commons.beanutils.converters.AbstractConverter;
-import org.chorem.pollen.rest.api.Jsons;
-import org.chorem.pollen.services.PollenTechnicalException;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-import java.io.IOException;
-import java.lang.reflect.Array;
-
-/**
- * Created on 5/7/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class TopiaEntityArrayConverter<E extends TopiaEntity> extends AbstractConverter {
-
- protected final Class<E[]> type;
-
- protected final ObjectMapper mapper;
-
- public static <E extends TopiaEntity> TopiaEntityArrayConverter<E> newconverter(Class<E> entityType) {
- return new TopiaEntityArrayConverter<>(entityType);
- }
-
- public TopiaEntityArrayConverter(Class<E> entityType) {
- this.type = getArrayClass(entityType);
- this.mapper = Jsons.newEntityMapper();
- }
-
- <T> Class<T[]> getArrayClass(Class<T> clazz) {
- return (Class<T[]>) Array.newInstance(clazz, 0).getClass();
- }
-
- @Override
- protected <T> T convertToType(Class<T> type, Object value) throws Throwable {
-
- String stringValue;
-
- if (value instanceof String) {
-
- stringValue = (String) value;
-
- } else {
-
- stringValue = ((String[]) value)[0];
-
- }
-
- try {
-
- E[] values = mapper.readValue(stringValue, this.type);
- return (T) values;
-
- } catch (IOException e) {
- throw new PollenTechnicalException("Could not convert " + stringValue + " to " + type.getName(), e);
- }
-
- }
-
- @Override
- public Class<?> getDefaultType() {
- return type;
- }
-}
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverter.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverter.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverter.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,120 +0,0 @@
-package org.chorem.pollen.rest.api.converter;
-
-/*
- * #%L
- * Pollen :: Rest Api
- * %%
- * Copyright (C) 2009 - 2014 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import org.apache.commons.beanutils.converters.AbstractConverter;
-import org.chorem.pollen.persistence.PollenEntityEnum;
-import org.chorem.pollen.rest.api.Jsons;
-import org.chorem.pollen.services.PollenTechnicalException;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-import java.io.IOException;
-
-/**
- * Created on 5/6/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class TopiaEntityConverter<E extends TopiaEntity> extends AbstractConverter {
-
- protected Class<E> entityType;
-
- protected Class<E> implementationClass;
-
- protected ObjectMapper mapper;
-
- public static <E extends TopiaEntity> TopiaEntityConverter<E> newconverter(Class<E> entityType) {
- return new TopiaEntityConverter<>(entityType);
- }
-
- public TopiaEntityConverter(Class<E> entityType) {
-
- this.entityType = entityType;
-
- this.implementationClass = PollenEntityEnum.getImplementationClass(entityType);
-
- SimpleModule module = new SimpleModule();
-
- for (Class<? extends TopiaEntity> entityClass : PollenEntityEnum.getContractClasses()) {
-
- Class concreteClass = PollenEntityEnum.getImplementationClass(entityClass);
- module.addAbstractTypeMapping(entityClass, concreteClass);
-
- }
-
- mapper = Jsons.newEntityMapper();
-
- }
-
- public ObjectMapper getMapper() {
-
- return mapper;
-
- }
-
- @Override
- protected String convertToString(Object value) throws Throwable {
-
- String result = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(value);
- return result;
-
- }
-
- @Override
- protected <T> T convertToType(Class<T> type, Object value) throws Throwable {
-
- String stringValue;
-
- if (value instanceof String) {
-
- stringValue = (String) value;
-
- } else {
-
- stringValue = ((String[]) value)[0];
-
- }
-
- try {
-
- T result = (T) mapper.readValue(stringValue, implementationClass);
-
- return result;
-
- } catch (IOException e) {
- throw new PollenTechnicalException("Could not convert " + stringValue + " to " + type.getName(), e);
- }
-
- }
-
- @Override
- protected Class<E> getDefaultType() {
-
- return entityType;
-
- }
-
-
-}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ChoiceApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ChoiceApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ChoiceApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,10 +23,10 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.Choice;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
import org.chorem.pollen.services.service.ChoiceService;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.debux.webmotion.server.WebMotionController;
import java.util.List;
@@ -39,32 +39,30 @@
*/
public class ChoiceApi extends WebMotionController {
- public List<Choice> getChoices(ChoiceService choiceService, String pollId) {
+ public List<ChoiceBean> getChoices(ChoiceService choiceService, String pollId) {
- List<Choice> choices = choiceService.getChoices(pollId);
+ List<ChoiceBean> choices = choiceService.getChoices(pollId);
return choices;
}
- public Choice getChoice(ChoiceService choiceService, String pollId, String choiceId) {
+ public ChoiceBean getChoice(ChoiceService choiceService, String pollId, String choiceId) {
- Choice choice = choiceService.getChoice(pollId, choiceId);
+ ChoiceBean choice = choiceService.getChoice(pollId, choiceId);
return choice;
}
- public PollenPrincipalRef<Choice> addChoice(ChoiceService choiceService, String pollId, Choice choice) throws InvalidFormException {
+ public CreateBeanRef addChoice(ChoiceService choiceService, String pollId, ChoiceBean choice) throws InvalidFormException {
- Choice createdChoice = choiceService.addChoice(pollId, choice);
- PollenPrincipalRef<Choice> principalRef = PollenPrincipalRef.newRef(createdChoice);
+ CreateBeanRef principalRef = choiceService.addChoice(pollId, choice);
return principalRef;
}
- public Choice editChoice(ChoiceService choiceService, String pollId, Choice choice) throws InvalidFormException {
+ public ChoiceBean editChoice(ChoiceService choiceService, String pollId, ChoiceBean choice) throws InvalidFormException {
- Choice editChoice = choiceService.editChoice(pollId, choice);
-
+ ChoiceBean editChoice = choiceService.editChoice(pollId, choice);
return editChoice;
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/CommentApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,10 +23,10 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.Comment;
+import org.chorem.pollen.services.bean.CommentBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
import org.chorem.pollen.services.service.CommentService;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.debux.webmotion.server.WebMotionController;
import java.util.List;
@@ -39,32 +39,30 @@
*/
public class CommentApi extends WebMotionController {
- public List<Comment> getComments(CommentService commentService, String pollId) {
+ public List<CommentBean> getComments(CommentService commentService, String pollId) {
- List<Comment> comments = commentService.getComments(pollId);
+ List<CommentBean> comments = commentService.getComments(pollId);
return comments;
}
- public Comment getComment(CommentService commentService, String pollId, String commentId) {
+ public CommentBean getComment(CommentService commentService, String pollId, String commentId) {
- Comment comment = commentService.getComment(pollId, commentId);
+ CommentBean comment = commentService.getComment(pollId, commentId);
return comment;
}
- public PollenPrincipalRef<Comment> addComment(CommentService commentService, String pollId, Comment comment) throws InvalidFormException {
+ public CreateBeanRef addComment(CommentService commentService, String pollId, CommentBean comment) throws InvalidFormException {
- Comment createdComment = commentService.addComment(pollId, comment);
- PollenPrincipalRef<Comment> principalRef = PollenPrincipalRef.newRef(createdComment);
+ CreateBeanRef principalRef = commentService.addComment(pollId, comment);
return principalRef;
}
- public Comment editComment(CommentService commentService, String pollId, Comment comment) throws InvalidFormException {
+ public CommentBean editComment(CommentService commentService, String pollId, CommentBean comment) throws InvalidFormException {
- Comment editComment = commentService.editComment(pollId, comment);
-
+ CommentBean editComment = commentService.editComment(pollId, comment);
return editComment;
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ErrorAction.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ErrorAction.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ErrorAction.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,7 +23,7 @@
* #L%
*/
-import org.chorem.pollen.rest.api.RequestResponses;
+import org.chorem.pollen.rest.api.PollenRestApiUtil;
import org.chorem.pollen.services.service.InvalidFormException;
import org.debux.webmotion.server.WebMotionController;
import org.debux.webmotion.server.call.HttpContext;
@@ -41,7 +41,7 @@
public InvalidFormException on400Form(HttpContext context, InvalidFormException e) {
- RequestResponses.prepareResponse(context);
+ PollenRestApiUtil.prepareResponse(context);
// just return the exception,
return e;
@@ -50,7 +50,7 @@
public Render on404(HttpContext context, Exception e) {
- RequestResponses.prepareResponse(context);
+ PollenRestApiUtil.prepareResponse(context);
Render render = renderError(HttpServletResponse.SC_NOT_FOUND, e.getMessage());
return render;
@@ -59,7 +59,7 @@
public Render on401(HttpContext context, Exception e) {
- RequestResponses.prepareResponse(context);
+ PollenRestApiUtil.prepareResponse(context);
Render render = renderError(HttpServletResponse.SC_UNAUTHORIZED, e.getMessage());
return render;
@@ -68,7 +68,7 @@
public Render on403(HttpContext context, Exception e) {
- RequestResponses.prepareResponse(context);
+ PollenRestApiUtil.prepareResponse(context);
Render render = renderError(HttpServletResponse.SC_FORBIDDEN, e.getMessage());
return render;
@@ -77,7 +77,7 @@
public Render on500(HttpContext context, Exception e) {
- RequestResponses.prepareResponse(context);
+ PollenRestApiUtil.prepareResponse(context);
Render render = renderError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
return render;
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FavoriteListApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,12 +23,12 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.FavoriteList;
-import org.chorem.pollen.persistence.entity.FavoriteListMember;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.FavoriteListBean;
+import org.chorem.pollen.services.bean.FavoriteListMemberBean;
import org.chorem.pollen.services.service.FavoriteListImportException;
import org.chorem.pollen.services.service.FavoriteListService;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.debux.webmotion.server.WebMotionController;
import java.io.File;
@@ -43,31 +43,31 @@
*/
public class FavoriteListApi extends WebMotionController {
- public List<FavoriteList> getFavoriteLists(FavoriteListService favoriteListService) {
+ public List<FavoriteListBean> getFavoriteLists(FavoriteListService favoriteListService) {
- List<FavoriteList> favoriteLists = favoriteListService.getFavoriteLists();
+ List<FavoriteListBean> favoriteLists = favoriteListService.getFavoriteLists();
return favoriteLists;
}
- public FavoriteList getFavoriteList(FavoriteListService favoriteListService, String favoriteListId) {
+ public FavoriteListBean getFavoriteList(FavoriteListService favoriteListService, String favoriteListId) {
- FavoriteList favoriteList = favoriteListService.getFavoriteList(favoriteListId);
+ FavoriteListBean favoriteList = favoriteListService.getFavoriteList(favoriteListId);
return favoriteList;
}
- public PollenPrincipalRef<FavoriteList> createFavoriteList(FavoriteListService favoriteListService, FavoriteList favoriteList) throws InvalidFormException {
+ public CreateBeanRef createFavoriteList(FavoriteListService favoriteListService, FavoriteListBean favoriteList) throws InvalidFormException {
- FavoriteList createdFavoriteList = favoriteListService.createFavoriteList(favoriteList);
- PollenPrincipalRef<FavoriteList> principalRef = PollenPrincipalRef.newRef(createdFavoriteList);
+ CreateBeanRef principalRef = favoriteListService.createFavoriteList(favoriteList);
return principalRef;
}
- public void editFavoriteList(FavoriteListService favoriteListService, FavoriteList favoriteList) throws InvalidFormException {
+ public FavoriteListBean editFavoriteList(FavoriteListService favoriteListService, FavoriteListBean favoriteList) throws InvalidFormException {
- favoriteListService.editFavoriteList(favoriteList);
+ FavoriteListBean editedFavoriteList = favoriteListService.editFavoriteList(favoriteList);
+ return editedFavoriteList;
}
@@ -91,31 +91,31 @@
}
- public Set<FavoriteListMember> getMembers(FavoriteListService favoriteListService, String favoriteListId) {
+ public Set<FavoriteListMemberBean> getMembers(FavoriteListService favoriteListService, String favoriteListId) {
- Set<FavoriteListMember> members = favoriteListService.getFavoriteListMembers(favoriteListId);
+ Set<FavoriteListMemberBean> members = favoriteListService.getFavoriteListMembers(favoriteListId);
return members;
}
- public FavoriteListMember getMember(FavoriteListService favoriteListService, String favoriteListId, String memberId) {
+ public FavoriteListMemberBean getMember(FavoriteListService favoriteListService, String favoriteListId, String memberId) {
- FavoriteListMember member = favoriteListService.getFavoriteListMember(favoriteListId, memberId);
+ FavoriteListMemberBean member = favoriteListService.getFavoriteListMember(favoriteListId, memberId);
return member;
}
- public PollenPrincipalRef<FavoriteListMember> addMember(FavoriteListService favoriteListService, String favoriteListId, FavoriteListMember member) throws InvalidFormException {
+ public CreateBeanRef addMember(FavoriteListService favoriteListService, String favoriteListId, FavoriteListMemberBean member) throws InvalidFormException {
- FavoriteListMember createdMember = favoriteListService.addFavoriteListMember(favoriteListId, member);
- PollenPrincipalRef<FavoriteListMember> principalRef = PollenPrincipalRef.newRef(createdMember);
+ CreateBeanRef principalRef = favoriteListService.addFavoriteListMember(favoriteListId, member);
return principalRef;
}
- public void editMember(FavoriteListService favoriteListService, String favoriteListId, FavoriteListMember member) throws InvalidFormException {
+ public FavoriteListMemberBean editMember(FavoriteListService favoriteListService, String favoriteListId, FavoriteListMemberBean member) throws InvalidFormException {
- favoriteListService.editFavoriteListMember(favoriteListId, member);
+ FavoriteListMemberBean editedFavoriteListMember = favoriteListService.editFavoriteListMember(favoriteListId, member);
+ return editedFavoriteListMember;
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,13 +23,13 @@
* #L%
*/
-import com.google.common.collect.Lists;
-import org.chorem.pollen.persistence.entity.Choice;
-import org.chorem.pollen.persistence.entity.Poll;
-import org.chorem.pollen.persistence.entity.VoterList;
+import org.chorem.pollen.rest.api.PollenRestApiUtil;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollBean;
+import org.chorem.pollen.services.bean.VoterListBean;
import org.chorem.pollen.services.service.InvalidFormException;
import org.chorem.pollen.services.service.PollService;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.debux.webmotion.server.WebMotionController;
import java.io.File;
@@ -44,72 +44,62 @@
*/
public class PollApi extends WebMotionController {
- public Poll getNewPoll(PollService pollService) {
+ public PollBean getNewPoll(PollService pollService) {
- Poll newPoll = pollService.getNewPoll();
+ PollBean newPoll = pollService.getNewPoll();
return newPoll;
}
- public Set<Poll> getPolls(PollService pollService) {
+ public Set<PollBean> getPolls(PollService pollService) {
- Set<Poll> polls = pollService.getPolls();
+ Set<PollBean> polls = pollService.getPolls();
return polls;
}
- public Set<Poll> getCreatedPolls(PollService pollService) {
+ public Set<PollBean> getCreatedPolls(PollService pollService) {
- Set<Poll> polls = pollService.getCreatedPolls();
+ Set<PollBean> polls = pollService.getCreatedPolls();
return polls;
}
- public Set<Poll> getInvitedPolls(PollService pollService) {
+ public Set<PollBean> getInvitedPolls(PollService pollService) {
- Set<Poll> polls = pollService.getInvitedPolls();
+ Set<PollBean> polls = pollService.getInvitedPolls();
return polls;
}
- public Set<Poll> getParticipatedPolls(PollService pollService) {
+ public Set<PollBean> getParticipatedPolls(PollService pollService) {
- Set<Poll> polls = pollService.getParticipatedPolls();
+ Set<PollBean> polls = pollService.getParticipatedPolls();
return polls;
}
- public Poll getPoll(PollService pollService, String pollId) {
+ public PollBean getPoll(PollService pollService, String pollId) {
- Poll poll = pollService.getPoll(pollId);
+ PollBean poll = pollService.getPoll(pollId);
return poll;
}
- public PollenPrincipalRef<Poll> createPoll(PollService pollService, Poll poll, Choice[] choices, VoterList[] voterLists) throws InvalidFormException {
+ public CreateBeanRef createPoll(PollService pollService, PollBean poll, ChoiceBean[] choices, VoterListBean[] voterLists) throws InvalidFormException {
- List<Choice> choiceList = null;
+ List<ChoiceBean> choiceList = PollenRestApiUtil.toList(choices);
- if (choices != null && choices.length > 0) {
- choiceList = Lists.newArrayList(choices);
- }
+ List<VoterListBean> voterListList = PollenRestApiUtil.toList(voterLists);
- List<VoterList> voterListList = null;
-
- if (voterLists != null && voterLists.length > 0) {
- voterListList = Lists.newArrayList(voterLists);
- }
-
- Poll createdPoll = pollService.createPoll(poll, choiceList, voterListList);
- PollenPrincipalRef<Poll> principalRef = PollenPrincipalRef.newRef(createdPoll);
+ CreateBeanRef principalRef = pollService.createPoll(poll, choiceList, voterListList);
return principalRef;
}
- public Poll editPoll(PollService pollService, Poll poll) throws InvalidFormException {
+ public PollBean editPoll(PollService pollService, PollBean poll) throws InvalidFormException {
- Poll editPoll = pollService.editPoll(poll);
-
+ PollBean editPoll = pollService.editPoll(poll);
return editPoll;
}
@@ -120,9 +110,9 @@
}
- public Poll clonePoll(PollService pollService, String pollId) {
+ public PollBean clonePoll(PollService pollService, String pollId) {
- Poll clonedPoll = pollService.clonePoll(pollId);
+ PollBean clonedPoll = pollService.clonePoll(pollId);
return clonedPoll;
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/PollenUserApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,9 +23,9 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.PollenUser;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollenUserBean;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.chorem.pollen.services.service.PollenUserService;
import org.chorem.pollen.services.service.security.PollenInvalidEmailActivationTokenException;
import org.chorem.pollen.services.service.security.PollenInvalidPasswordException;
@@ -41,34 +41,34 @@
*/
public class PollenUserApi extends WebMotionController {
- public List<PollenUser> getUsers(PollenUserService pollenUserService) {
+ public List<PollenUserBean> getUsers(PollenUserService pollenUserService) {
- List<PollenUser> users = pollenUserService.getUsers();
+ List<PollenUserBean> users = pollenUserService.getUsers();
return users;
}
- public PollenUser getUser(PollenUserService pollenUserService, String userId) {
+ public PollenUserBean getUser(PollenUserService pollenUserService, String userId) {
- PollenUser user = pollenUserService.getUser(userId);
+ PollenUserBean user = pollenUserService.getUser(userId);
return user;
}
- public PollenPrincipalRef<PollenUser> createUser(PollenUserService pollenUserService,
- PollenUser user,
- boolean generatePassword) throws InvalidFormException {
+ public CreateBeanRef createUser(PollenUserService pollenUserService,
+ PollenUserBean user,
+ boolean generatePassword) throws InvalidFormException {
- PollenUser createdUser = pollenUserService.createUser(user, generatePassword);
- PollenPrincipalRef<PollenUser> principalRef = PollenPrincipalRef.newRef(createdUser);
+ CreateBeanRef principalRef = pollenUserService.createUser(user, generatePassword);
return principalRef;
}
- public void editUser(PollenUserService pollenUserService,
- PollenUser user) throws InvalidFormException {
+ public PollenUserBean editUser(PollenUserService pollenUserService,
+ PollenUserBean user) throws InvalidFormException {
- pollenUserService.editUser(user);
+ PollenUserBean editedPollUser = pollenUserService.editUser(user);
+ return editedPollUser;
}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,13 +23,12 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.Vote;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.VoteBean;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.chorem.pollen.services.service.VoteService;
import org.debux.webmotion.server.WebMotionController;
-import java.util.ArrayList;
import java.util.List;
/**
@@ -42,45 +41,30 @@
public List<VoteBean> getVotes(VoteService voteService, String pollId) {
- List<Vote> votes = voteService.getVotes(pollId);
- List<VoteBean> votesBean = new ArrayList<>();
- for (Vote vote : votes) {
+ List<VoteBean> votes = voteService.getVotes(pollId);
+ return votes;
- VoteBean voteBean = VoteBean.fromEntity(vote);
- votesBean.add(voteBean);
-
- }
-
- return votesBean;
-
}
public VoteBean getVote(VoteService voteService, String pollId, String voteId) {
- Vote vote = voteService.getVote(pollId, voteId);
- VoteBean voteBean = VoteBean.fromEntity(vote);
- return voteBean;
+ VoteBean vote = voteService.getVote(pollId, voteId);
+ return vote;
}
- public PollenPrincipalRef<Vote> addVote(VoteService voteService, String pollId, VoteBean vote) throws InvalidFormException {
+ public CreateBeanRef addVote(VoteService voteService, String pollId, VoteBean vote) throws InvalidFormException {
- Vote entity = vote.toEntity();
-
- Vote createdVote = voteService.addVote(pollId, entity);
- PollenPrincipalRef<Vote> principalRef = PollenPrincipalRef.newRef(createdVote);
+ CreateBeanRef principalRef = voteService.addVote(pollId, vote);
return principalRef;
}
public VoteBean editVote(VoteService voteService, String pollId, VoteBean vote) throws InvalidFormException {
- Vote entity = vote.toEntity();
+ VoteBean editedVote = voteService.editVote(pollId, vote);
+ return editedVote;
- Vote editedVote = voteService.editVote(pollId, entity);
- VoteBean editedVoteBean = VoteBean.fromEntity(editedVote);
- return editedVoteBean;
-
}
public void deleteVote(VoteService voteService, String pollId, String voteId) {
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteBean.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteBean.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,82 +0,0 @@
-package org.chorem.pollen.rest.api.v1;
-
-import org.chorem.pollen.persistence.entity.PollenPrincipal;
-import org.chorem.pollen.persistence.entity.Vote;
-import org.chorem.pollen.persistence.entity.VoteImpl;
-import org.chorem.pollen.persistence.entity.VoteToChoice;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Created on 5/15/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class VoteBean {
-
- protected PollenPrincipal voter;
-
- protected Boolean anonymous;
-
- protected Set<VoteToChoiceBean> choice = new HashSet<>();
-
- public PollenPrincipal getVoter() {
- return voter;
- }
-
- public void setVoter(PollenPrincipal voter) {
- this.voter = voter;
- }
-
- public Boolean getAnonymous() {
- return anonymous;
- }
-
- public void setAnonymous(Boolean anonymous) {
- this.anonymous = anonymous;
- }
-
- public Set<VoteToChoiceBean> getChoice() {
- return choice;
- }
-
- public void addChoice(VoteToChoiceBean choice) {
- this.choice.add(choice);
- }
-
- public static VoteBean fromEntity(Vote vote) {
-
- VoteBean voteBean = new VoteBean();
- voteBean.setAnonymous(vote.isAnonymous());
- voteBean.setVoter(vote.getVoter());
-
- for (VoteToChoice voteToChoice : vote.getVoteToChoice()) {
-
- VoteToChoiceBean choiceBean = new VoteToChoiceBean();
- choiceBean.setChoiceId(voteToChoice.getChoice().getTopiaId());
- choiceBean.setVoteValue(voteToChoice.getVoteValue());
- voteBean.addChoice(choiceBean);
-
- }
-
- return voteBean;
-
- }
-
- public Vote toEntity() {
-
- Vote vote = new VoteImpl();
- vote.setAnonymous(getAnonymous() != null && getAnonymous());
- vote.setVoter(getVoter());
- for (VoteToChoiceBean choiceBean : choice) {
-
- VoteToChoice voteToChoice = choiceBean.toEntity();
- vote.addVoteToChoice(voteToChoice);
-
- }
- return vote;
-
- }
-}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteCountingApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,7 +23,7 @@
* #L%
*/
-import org.chorem.pollen.services.PollResult;
+import org.chorem.pollen.services.bean.PollResultBean;
import org.chorem.pollen.services.service.VoteCountingService;
import org.debux.webmotion.server.WebMotionController;
@@ -35,9 +35,9 @@
*/
public class VoteCountingApi extends WebMotionController {
- public PollResult getResult(VoteCountingService voteCountingService, String pollId) {
+ public PollResultBean getResult(VoteCountingService voteCountingService, String pollId) {
- PollResult result = voteCountingService.getResult(pollId);
+ PollResultBean result = voteCountingService.getResult(pollId);
return result;
}
Deleted: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteToChoiceBean.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteToChoiceBean.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteToChoiceBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,45 +0,0 @@
-package org.chorem.pollen.rest.api.v1;
-
-import org.chorem.pollen.persistence.entity.ChoiceImpl;
-import org.chorem.pollen.persistence.entity.VoteToChoice;
-import org.chorem.pollen.persistence.entity.VoteToChoiceImpl;
-
-/**
- * Created on 5/15/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class VoteToChoiceBean {
-
- protected String choiceId;
-
- protected Double voteValue;
-
- public String getChoiceId() {
- return choiceId;
- }
-
- public void setChoiceId(String choiceId) {
- this.choiceId = choiceId;
- }
-
- public Double getVoteValue() {
- return voteValue;
- }
-
- public void setVoteValue(Double voteValue) {
- this.voteValue = voteValue;
- }
-
- public VoteToChoice toEntity() {
-
- VoteToChoice voteToChoice = new VoteToChoiceImpl();
- voteToChoice.setVoteValue(getVoteValue());
- voteToChoice.setChoice(new ChoiceImpl());
- voteToChoice.getChoice().setTopiaId(getChoiceId());
-
- return voteToChoice;
-
- }
-}
Modified: trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoterListApi.java
===================================================================
--- trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoterListApi.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoterListApi.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,10 +23,10 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.VoterList;
-import org.chorem.pollen.persistence.entity.VoterListMember;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.VoterListBean;
+import org.chorem.pollen.services.bean.VoterListMemberBean;
import org.chorem.pollen.services.service.InvalidFormException;
-import org.chorem.pollen.services.service.PollenPrincipalRef;
import org.chorem.pollen.services.service.VoterListService;
import org.debux.webmotion.server.WebMotionController;
@@ -41,38 +41,38 @@
*/
public class VoterListApi extends WebMotionController {
- public VoterList importFavoriteList(VoterListService voterListService, String pollId, String favoriteListId) {
+ public VoterListBean importFavoriteList(VoterListService voterListService, String pollId, String favoriteListId) {
- VoterList importVoterList = voterListService.importFavoriteList(pollId, favoriteListId);
+ VoterListBean importVoterList = voterListService.importFavoriteList(pollId, favoriteListId);
return importVoterList;
}
- public List<VoterList> getVoterLists(VoterListService voterListService, String pollId) {
+ public List<VoterListBean> getVoterLists(VoterListService voterListService, String pollId) {
- List<VoterList> voterLists = voterListService.getVoterLists(pollId);
+ List<VoterListBean> voterLists = voterListService.getVoterLists(pollId);
return voterLists;
}
- public VoterList getVoterList(VoterListService voterListService, String pollId, String voterListId) {
+ public VoterListBean getVoterList(VoterListService voterListService, String pollId, String voterListId) {
- VoterList voterList = voterListService.getVoterList(pollId, voterListId);
+ VoterListBean voterList = voterListService.getVoterList(pollId, voterListId);
return voterList;
}
- public PollenPrincipalRef<VoterList> createVoterList(VoterListService voterListService, String pollId, VoterList voterList) throws InvalidFormException {
+ public CreateBeanRef createVoterList(VoterListService voterListService, String pollId, VoterListBean voterList) throws InvalidFormException {
- VoterList createdVoterList = voterListService.addVoterList(pollId, voterList);
- PollenPrincipalRef<VoterList> principalRef = PollenPrincipalRef.newRef(createdVoterList);
+ CreateBeanRef principalRef = voterListService.addVoterList(pollId, voterList);
return principalRef;
}
- public void editVoterList(VoterListService voterListService, String pollId, VoterList voterList) throws InvalidFormException {
+ public VoterListBean editVoterList(VoterListService voterListService, String pollId, VoterListBean voterList) throws InvalidFormException {
- voterListService.editVoterList(pollId, voterList);
+ VoterListBean editedVoterList = voterListService.editVoterList(pollId, voterList);
+ return editedVoterList;
}
@@ -82,31 +82,31 @@
}
- public Set<VoterListMember> getMembers(VoterListService voterListService, String pollId, String voterListId) {
+ public Set<VoterListMemberBean> getMembers(VoterListService voterListService, String pollId, String voterListId) {
- Set<VoterListMember> members = voterListService.getVoterListMembers(pollId, voterListId);
+ Set<VoterListMemberBean> members = voterListService.getVoterListMembers(pollId, voterListId);
return members;
}
- public VoterListMember getMember(VoterListService voterListService, String pollId, String voterListId, String memberId) {
+ public VoterListMemberBean getMember(VoterListService voterListService, String pollId, String voterListId, String memberId) {
- VoterListMember member = voterListService.getVoterListMember(pollId, voterListId, memberId);
+ VoterListMemberBean member = voterListService.getVoterListMember(pollId, voterListId, memberId);
return member;
}
- public PollenPrincipalRef<VoterListMember> addMember(VoterListService voterListService, String pollId, String voterListId, VoterListMember member) throws InvalidFormException {
+ public VoterListMemberBean addMember(VoterListService voterListService, String pollId, String voterListId, VoterListMemberBean member) throws InvalidFormException {
- VoterListMember createdMember = voterListService.addVoterListMember(pollId, voterListId, member);
- PollenPrincipalRef<VoterListMember> principalRef = PollenPrincipalRef.newRef(createdMember);
+ VoterListMemberBean principalRef = voterListService.addVoterListMember(pollId, voterListId, member);
return principalRef;
}
- public void editMember(VoterListService voterListService, String pollId, String voterListId, VoterListMember member) throws InvalidFormException {
+ public VoterListMemberBean editMember(VoterListService voterListService, String pollId, String voterListId, VoterListMemberBean member) throws InvalidFormException {
- voterListService.editVoterListMember(pollId, voterListId, member);
+ VoterListMemberBean editedMember = voterListService.editVoterListMember(pollId, voterListId, member);
+ return editedMember;
}
Modified: trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java
===================================================================
--- trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/PollApiTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -136,8 +136,8 @@
choice2.setName("choiceB");
choices.add(choice2);
- String choiceStr = Jsons.entitiesToString(choices);
- String pollStr = Jsons.entitiesToString(poll);
+ String choiceStr = PollenRestApiUtil.entitiesToString(choices);
+ String pollStr = PollenRestApiUtil.entitiesToString(poll);
Request request = createRequest("/v1/polls")
.addParameter("poll", pollStr)
Added: trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java
===================================================================
--- trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java (rev 0)
+++ trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,33 @@
+package org.chorem.pollen.rest.api.converter;
+
+import org.chorem.pollen.persistence.entity.ChoiceType;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class JsonArrayConverterTest {
+
+ @Test
+ public void convertToType() throws Exception {
+
+ String choicesStr = "[ {name: \"choice1\", choiceType: \"TEXT\", choiceOrder: 1}, " +
+ "{name: \"choice2\", choiceType: \"IMAGE\", choiceOrder: 2} ]";
+
+ JsonArrayConverter converter = JsonArrayConverter.newConverter(ChoiceBean.class);
+
+ ChoiceBean[] choices = converter.convert(ChoiceBean[].class, choicesStr);
+ Assert.assertNotNull(choices);
+ Assert.assertEquals(2, choices.length);
+
+ Assert.assertNotNull(choices[0]);
+ Assert.assertEquals("choice1", choices[0].getName());
+ Assert.assertEquals(ChoiceType.TEXT, choices[0].getChoiceType());
+ Assert.assertEquals(1, choices[0].getChoiceOrder());
+
+ Assert.assertNotNull(choices[1]);
+ Assert.assertEquals("choice2", choices[1].getName());
+ Assert.assertEquals(ChoiceType.IMAGE, choices[1].getChoiceType());
+ Assert.assertEquals(2, choices[1].getChoiceOrder());
+
+ }
+}
\ No newline at end of file
Property changes on: trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonArrayConverterTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java
===================================================================
--- trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/JsonConverterTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -25,8 +25,8 @@
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollType;
import org.chorem.pollen.persistence.entity.VoteVisibility;
-import org.chorem.pollen.rest.api.v1.VoteBean;
-import org.chorem.pollen.rest.api.v1.VoteToChoiceBean;
+import org.chorem.pollen.services.bean.VoteBean;
+import org.chorem.pollen.services.bean.VoteToChoiceBean;
import org.junit.Assert;
import org.junit.Test;
@@ -35,7 +35,7 @@
@Test
public void convertBean() {
- String pollStr = "{voter:{name:\"toto\"},anonymous:true,choice:[{voteValue:1.5,choiceId:\"AA\"}]}";
+ String pollStr = "{voterId:\"voterId\",voterName:\"toto\",anonymous:true,choice:[{voteValue:1.5,choiceId:\"AA\"}]}";
JsonConverter<VoteBean> converter = JsonConverter.newConverter(VoteBean.class);
@@ -44,8 +44,8 @@
Assert.assertNotNull(voteBean);
Assert.assertEquals(true, voteBean.getAnonymous());
- Assert.assertNotNull(voteBean.getVoter());
- Assert.assertEquals("toto", voteBean.getVoter().getName());
+ Assert.assertEquals("toto", voteBean.getVoterName());
+ Assert.assertEquals("voterId", voteBean.getVoterId());
Assert.assertNotNull(voteBean.getChoice());
Assert.assertEquals(1, voteBean.getChoice().size());
@@ -67,7 +67,7 @@
"{name: \"choice2\", choiceType: \"IMAGE\"} ], voteVisibility: \"ANONYMOUS\", " +
"commentVisibility:\"NOBODY\", pollType: \"FREE\" }";
- TopiaEntityConverter<Poll> converter = new TopiaEntityConverter<>(Poll.class);
+ JsonConverter<Poll> converter = JsonConverter.newEntityConverter(Poll.class);
Poll poll = converter.convert(Poll.class, pollStr);
Deleted: trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverterTest.java
===================================================================
--- trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverterTest.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityArrayConverterTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,54 +0,0 @@
-package org.chorem.pollen.rest.api.converter;
-
-/*
- * #%L
- * Pollen :: Rest Api
- * %%
- * Copyright (C) 2009 - 2014 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import org.chorem.pollen.persistence.entity.Choice;
-import org.chorem.pollen.persistence.entity.ChoiceType;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class TopiaEntityArrayConverterTest {
-
- @Test
- public void convertToType() throws Exception {
-
- String choicesStr = "[ {name: \"choice1\", choiceType: \"TEXT\", choiceOrder: 1}, " +
- "{name: \"choice2\", choiceType: \"IMAGE\", choiceOrder: 2} ]";
-
- TopiaEntityArrayConverter converter = TopiaEntityArrayConverter.newconverter(Choice.class);
-
- Choice[] choices = converter.convert(Choice[].class, choicesStr);
- Assert.assertNotNull(choices);
- Assert.assertEquals(2, choices.length);
-
- Assert.assertNotNull(choices[0]);
- Assert.assertEquals("choice1", choices[0].getName());
- Assert.assertEquals(ChoiceType.TEXT, choices[0].getChoiceType());
- Assert.assertEquals(1, choices[0].getChoiceOrder());
-
- Assert.assertNotNull(choices[1]);
- Assert.assertEquals("choice2", choices[1].getName());
- Assert.assertEquals(ChoiceType.IMAGE, choices[1].getChoiceType());
- Assert.assertEquals(2, choices[1].getChoiceOrder());
-
- }
-}
\ No newline at end of file
Deleted: trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverterTest.java
===================================================================
--- trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverterTest.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/converter/TopiaEntityConverterTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,61 +0,0 @@
-package org.chorem.pollen.rest.api.converter;
-
-/*
- * #%L
- * Pollen :: Rest Api
- * %%
- * Copyright (C) 2009 - 2014 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import org.chorem.pollen.persistence.entity.CommentVisibility;
-import org.chorem.pollen.persistence.entity.Poll;
-import org.chorem.pollen.persistence.entity.PollType;
-import org.chorem.pollen.persistence.entity.VoteVisibility;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class TopiaEntityConverterTest {
-
- @Test
- public void convert() {
-
- String pollStr = "{topiaCreateDate: 1399033089600, title: \"pollTitle\", " +
- "choice: [ {name: \"choice1\", choiceType: \"TEXT\"}, " +
- "{name: \"choice2\", choiceType: \"IMAGE\"} ], voteVisibility: \"ANONYMOUS\", " +
- "commentVisibility:\"NOBODY\", pollType: \"FREE\" }";
-
- TopiaEntityConverter<Poll> converter = new TopiaEntityConverter<>(Poll.class);
-
- Poll poll = converter.convert(Poll.class, pollStr);
-
- Assert.assertNotNull(poll);
- Assert.assertEquals("pollTitle", poll.getTitle());
- Assert.assertEquals(VoteVisibility.ANONYMOUS, poll.getVoteVisibility());
- Assert.assertEquals(CommentVisibility.NOBODY, poll.getCommentVisibility());
- Assert.assertEquals(PollType.FREE, poll.getPollType());
-// Assert.assertEquals(2, poll.sizeChoice());
-// Assert.assertEquals("choice1", poll.getChoice(0).getName());
-// Assert.assertEquals(ChoiceType.TEXT, poll.getChoice(0).getChoiceType());
-// Assert.assertEquals("choice2", poll.getChoice(1).getName());
-// Assert.assertEquals(ChoiceType.IMAGE, poll.getChoice(1).getChoiceType());
-
- String convert = converter.convert(String.class, poll);
- Assert.assertNotNull(convert);
-
- }
-
-}
\ No newline at end of file
Deleted: trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollResult.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollResult.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollResult.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,36 +0,0 @@
-package org.chorem.pollen.services;
-
-/*
- * #%L
- * Pollen :: Service
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2013 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import java.io.Serializable;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class PollResult implements Serializable {
- private static final long serialVersionUID = 1L;
-}
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,102 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.Choice;
+import org.chorem.pollen.persistence.entity.ChoiceImpl;
+import org.chorem.pollen.persistence.entity.ChoiceType;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class ChoiceBean extends PollenBean<Choice> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String permission;
+
+ protected int choiceOrder;
+
+ protected String name;
+
+ protected ChoiceType choiceType;
+
+ protected String description;
+
+ @Override
+ public void fromEntity(Choice entity) {
+
+ setId(entity.getTopiaId());
+ if (entity.getCreator() == null || entity.getCreator().getPermission() == null) {
+
+ setPermission(null);
+
+ } else {
+
+ setPermission(entity.getCreator().getPermission().getToken());
+
+ }
+
+ setName(entity.getName());
+ setDescription(entity.getDescription());
+ setChoiceType(entity.getChoiceType());
+ setChoiceOrder(entity.getChoiceOrder());
+
+ }
+
+ @Override
+ public Choice toEntity() {
+
+ Choice entity = new ChoiceImpl();
+
+ entity.setTopiaId(getId());
+ entity.setName(getName());
+ entity.setDescription(getDescription());
+ entity.setChoiceType(getChoiceType());
+ entity.setChoiceOrder(getChoiceOrder());
+
+ return entity;
+
+ }
+
+ public String getPermission() {
+ return permission;
+ }
+
+ public void setPermission(String permission) {
+ this.permission = permission;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ChoiceType getChoiceType() {
+ return choiceType;
+ }
+
+ public void setChoiceType(ChoiceType choiceType) {
+ this.choiceType = choiceType;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public int getChoiceOrder() {
+ return choiceOrder;
+ }
+
+ public void setChoiceOrder(int choiceOrder) {
+ this.choiceOrder = choiceOrder;
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/ChoiceBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CommentBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CommentBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CommentBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,100 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.Comment;
+import org.chorem.pollen.persistence.entity.CommentImpl;
+import org.chorem.pollen.persistence.entity.PollenPrincipalImpl;
+
+import java.util.Date;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class CommentBean extends PollenBean<Comment> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String permission;
+
+ protected String authorName;
+
+ protected String text;
+
+ protected Date postDate;
+
+ @Override
+ public void fromEntity(Comment entity) {
+
+ setId(entity.getTopiaId());
+
+ if (entity.getAuthor() == null || entity.getAuthor().getPermission() == null) {
+
+ setPermission(null);
+
+ } else {
+
+ setPermission(entity.getAuthor().getPermission().getToken());
+
+ }
+
+ setText(entity.getText());
+ setPostDate(entity.getPostDate());
+
+ if (entity.getAuthor() != null) {
+
+ setAuthorName(entity.getAuthor().getName());
+
+ }
+
+ }
+
+ @Override
+ public Comment toEntity() {
+
+ Comment entity = new CommentImpl();
+
+ entity.setTopiaId(getId());
+ entity.setText(getText());
+ entity.setPostDate(getPostDate());
+ PollenPrincipalImpl author = new PollenPrincipalImpl();
+ entity.setAuthor(author);
+ author.setName(getAuthorName());
+
+ return entity;
+
+ }
+
+ public String getPermission() {
+ return permission;
+ }
+
+ public void setPermission(String permission) {
+ this.permission = permission;
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ public Date getPostDate() {
+ return postDate;
+ }
+
+ public void setPostDate(Date postDate) {
+ this.postDate = postDate;
+ }
+
+ public String getAuthorName() {
+ return authorName;
+ }
+
+ public void setAuthorName(String authorName) {
+ this.authorName = authorName;
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CommentBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,90 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.Choice;
+import org.chorem.pollen.persistence.entity.Comment;
+import org.chorem.pollen.persistence.entity.FavoriteList;
+import org.chorem.pollen.persistence.entity.FavoriteListMember;
+import org.chorem.pollen.persistence.entity.Poll;
+import org.chorem.pollen.persistence.entity.PollenUser;
+import org.chorem.pollen.persistence.entity.Vote;
+import org.chorem.pollen.persistence.entity.VoterList;
+
+import java.io.Serializable;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class CreateBeanRef implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String id;
+
+ protected String permission;
+
+ public void fromEntity(Poll entity) {
+
+ setId(entity.getTopiaId());
+ setPermission(entity.getCreator().getPermission().getToken());
+
+ }
+
+ public void fromEntity(Choice entity) {
+
+ setId(entity.getTopiaId());
+ setPermission(entity.getCreator().getPermission().getToken());
+
+ }
+
+ public void fromEntity(Comment entity) {
+
+ setId(entity.getTopiaId());
+ setPermission(entity.getAuthor().getPermission().getToken());
+
+ }
+
+ public void fromEntity(Vote entity) {
+
+ setId(entity.getTopiaId());
+ setPermission(entity.getVoter().getPermission().getToken());
+
+ }
+
+ public void fromEntity(VoterList entity) {
+
+ setId(entity.getTopiaId());
+// setPermission(entity.getVoter().getPermission().getToken());
+
+ }
+
+ public void fromEntity(PollenUser result) {
+ setId(result.getTopiaId());
+ }
+
+ public void fromEntity(FavoriteList result) {
+ setId(result.getTopiaId());
+ }
+
+ public void fromEntity(FavoriteListMember result) {
+ setId(result.getTopiaId());
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getPermission() {
+ return permission;
+ }
+
+ public void setPermission(String permission) {
+ this.permission = permission;
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/CreateBeanRef.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,84 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.FavoriteList;
+import org.chorem.pollen.persistence.entity.FavoriteListImpl;
+import org.chorem.pollen.persistence.entity.FavoriteListMember;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class FavoriteListBean extends PollenBean<FavoriteList> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String name;
+
+ protected double weight;
+
+ protected Set<FavoriteListMemberBean> member = new HashSet<>();
+
+ @Override
+ public void fromEntity(FavoriteList entity) {
+
+ setId(entity.getTopiaId());
+ setName(entity.getName());
+
+ member.clear();
+
+ for (FavoriteListMember voterListMemberEntity : entity.getMember()) {
+
+ FavoriteListMemberBean voterListMemberBean = new FavoriteListMemberBean();
+ voterListMemberBean.fromEntity(voterListMemberEntity);
+ addMember(voterListMemberBean);
+ }
+ }
+
+ @Override
+ public FavoriteList toEntity() {
+
+ FavoriteList entity = new FavoriteListImpl();
+ entity.setTopiaId(getId());
+ entity.setName(getName());
+
+ for (FavoriteListMemberBean voterListMemberBean : member) {
+
+ FavoriteListMember voterListMember = voterListMemberBean.toEntity();
+ entity.addMember(voterListMember);
+
+ }
+
+ return entity;
+
+ }
+
+ public String getName() {
+ return name;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public double getWeight() {
+ return weight;
+ }
+
+ public void setWeight(double weight) {
+ this.weight = weight;
+ }
+
+ public Set<FavoriteListMemberBean> getMember() {
+ return member;
+ }
+
+ public void addMember(FavoriteListMemberBean member) {
+ this.member.add(member);
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListMemberBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListMemberBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListMemberBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,57 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.FavoriteListMember;
+import org.chorem.pollen.persistence.entity.FavoriteListMemberImpl;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class FavoriteListMemberBean extends PollenBean<FavoriteListMember> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String name;
+
+ protected String email;
+
+ @Override
+ public void fromEntity(FavoriteListMember entity) {
+
+ setId(entity.getTopiaId());
+ setName(entity.getName());
+ setEmail(entity.getEmail());
+
+ }
+
+ @Override
+ public FavoriteListMember toEntity() {
+
+ FavoriteListMember entity = new FavoriteListMemberImpl();
+ entity.setEmail(getEmail());
+ entity.setName(getName());
+
+ return entity;
+
+ }
+
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/FavoriteListMemberBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,289 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.CommentVisibility;
+import org.chorem.pollen.persistence.entity.Poll;
+import org.chorem.pollen.persistence.entity.PollImpl;
+import org.chorem.pollen.persistence.entity.PollType;
+import org.chorem.pollen.persistence.entity.PollenPrincipal;
+import org.chorem.pollen.persistence.entity.PollenPrincipalImpl;
+import org.chorem.pollen.persistence.entity.ResultVisibility;
+import org.chorem.pollen.persistence.entity.VoteVisibility;
+
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class PollBean extends PollenBean<Poll> {
+
+ private static final long serialVersionUID = 1L;
+
+ public static boolean isPollFree(PollBean poll) {
+ return Objects.equals(PollType.FREE, poll.getPollType());
+ }
+
+ public static boolean isPollRestricted(PollBean poll) {
+ return Objects.equals(PollType.RESTRICTED, poll.getPollType());
+ }
+
+ public static boolean isPollGroup(PollBean poll) {
+ return Objects.equals(PollType.GROUP, poll.getPollType());
+ }
+
+ protected String permission;
+
+ protected String creatorName;
+
+ protected String creatorEmail;
+
+ protected String title;
+
+ protected String description;
+
+ protected Date beginChoiceDate;
+
+ protected Date endChoiceDate;
+
+ protected Date beginDate;
+
+ protected Date endDate;
+
+ protected int maxChoiceNumber;
+
+ protected boolean choiceAddAllowed;
+
+ protected boolean anonymousVoteAllowed;
+
+ protected boolean continuousResults;
+
+ protected int voteCountingType;
+
+ protected PollType pollType;
+
+ protected VoteVisibility voteVisibility;
+
+ protected CommentVisibility commentVisibility;
+
+ protected ResultVisibility resultVisibility;
+
+ @Override
+ public void fromEntity(Poll entity) {
+
+ setId(entity.getTopiaId());
+
+ if (entity.getCreator() == null || entity.getCreator().getPermission() == null) {
+
+ setPermission(null);
+
+ } else {
+
+ setPermission(entity.getCreator().getPermission().getToken());
+
+ }
+
+ if (entity.getCreator() != null) {
+
+ setCreatorName(entity.getCreator().getName());
+ setCreatorEmail(entity.getCreator().getEmail());
+
+ }
+
+ setTitle(entity.getTitle());
+ setDescription(entity.getDescription());
+ setBeginChoiceDate(entity.getBeginChoiceDate());
+ setEndChoiceDate(entity.getEndChoiceDate());
+ setBeginDate(entity.getBeginDate());
+ setEndDate(entity.getEndDate());
+ setMaxChoiceNumber(entity.getMaxChoiceNumber());
+ setChoiceAddAllowed(entity.isChoiceAddAllowed());
+ setAnonymousVoteAllowed(entity.isAnonymousVoteAllowed());
+ setContinuousResults(entity.isContinuousResults());
+ setVoteCountingType(entity.getVoteCountingType());
+ setPollType(entity.getPollType());
+ setVoteVisibility(entity.getVoteVisibility());
+ setCommentVisibility(entity.getCommentVisibility());
+ setResultVisibility(entity.getResultVisibility());
+
+ }
+
+ @Override
+ public Poll toEntity() {
+
+ Poll entity = new PollImpl();
+ entity.setTopiaId(getId());
+ PollenPrincipal creator = new PollenPrincipalImpl();
+ creator.setName(getCreatorName());
+ creator.setEmail(getCreatorEmail());
+ entity.setCreator(creator);
+
+ entity.setTitle(getTitle());
+ entity.setDescription(getDescription());
+ entity.setTitle(getTitle());
+ entity.setDescription(getDescription());
+ entity.setBeginChoiceDate(getBeginChoiceDate());
+ entity.setEndChoiceDate(getEndChoiceDate());
+ entity.setBeginDate(getBeginDate());
+ entity.setEndDate(getEndDate());
+ entity.setMaxChoiceNumber(getMaxChoiceNumber());
+ entity.setChoiceAddAllowed(isChoiceAddAllowed());
+ entity.setAnonymousVoteAllowed(isAnonymousVoteAllowed());
+ entity.setContinuousResults(isContinuousResults());
+ entity.setVoteCountingType(getVoteCountingType());
+ entity.setPollType(getPollType());
+ entity.setVoteVisibility(getVoteVisibility());
+ entity.setCommentVisibility(getCommentVisibility());
+ entity.setResultVisibility(getResultVisibility());
+
+ return entity;
+
+ }
+
+ public String getPermission() {
+ return permission;
+ }
+
+ public void setPermission(String permission) {
+ this.permission = permission;
+ }
+
+ public String getCreatorName() {
+ return creatorName;
+ }
+
+ public void setCreatorName(String creatorName) {
+ this.creatorName = creatorName;
+ }
+
+ public String getCreatorEmail() {
+ return creatorEmail;
+ }
+
+ public void setCreatorEmail(String creatorEmail) {
+ this.creatorEmail = creatorEmail;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Date getBeginChoiceDate() {
+ return beginChoiceDate;
+ }
+
+ public void setBeginChoiceDate(Date beginChoiceDate) {
+ this.beginChoiceDate = beginChoiceDate;
+ }
+
+ public Date getEndChoiceDate() {
+ return endChoiceDate;
+ }
+
+ public void setEndChoiceDate(Date endChoiceDate) {
+ this.endChoiceDate = endChoiceDate;
+ }
+
+ public Date getBeginDate() {
+ return beginDate;
+ }
+
+ public void setBeginDate(Date beginDate) {
+ this.beginDate = beginDate;
+ }
+
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(Date endDate) {
+ this.endDate = endDate;
+ }
+
+ public int getMaxChoiceNumber() {
+ return maxChoiceNumber;
+ }
+
+ public void setMaxChoiceNumber(int maxChoiceNumber) {
+ this.maxChoiceNumber = maxChoiceNumber;
+ }
+
+ public boolean isChoiceAddAllowed() {
+ return choiceAddAllowed;
+ }
+
+ public void setChoiceAddAllowed(boolean choiceAddAllowed) {
+ this.choiceAddAllowed = choiceAddAllowed;
+ }
+
+ public boolean isAnonymousVoteAllowed() {
+ return anonymousVoteAllowed;
+ }
+
+ public void setAnonymousVoteAllowed(boolean anonymousVoteAllowed) {
+ this.anonymousVoteAllowed = anonymousVoteAllowed;
+ }
+
+ public boolean isContinuousResults() {
+ return continuousResults;
+ }
+
+ public void setContinuousResults(boolean continuousResults) {
+ this.continuousResults = continuousResults;
+ }
+
+ public int getVoteCountingType() {
+ return voteCountingType;
+ }
+
+ public void setVoteCountingType(int voteCountingType) {
+ this.voteCountingType = voteCountingType;
+ }
+
+ public PollType getPollType() {
+ return pollType;
+ }
+
+ public void setPollType(PollType pollType) {
+ this.pollType = pollType;
+ }
+
+ public VoteVisibility getVoteVisibility() {
+ return voteVisibility;
+ }
+
+ public void setVoteVisibility(VoteVisibility voteVisibility) {
+ this.voteVisibility = voteVisibility;
+ }
+
+ public CommentVisibility getCommentVisibility() {
+ return commentVisibility;
+ }
+
+ public void setCommentVisibility(CommentVisibility commentVisibility) {
+ this.commentVisibility = commentVisibility;
+ }
+
+ public ResultVisibility getResultVisibility() {
+ return resultVisibility;
+ }
+
+ public void setResultVisibility(ResultVisibility resultVisibility) {
+ this.resultVisibility = resultVisibility;
+ }
+
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollResultBean.java (from rev 3953, trunk/pollen-services/src/main/java/org/chorem/pollen/services/PollResult.java)
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollResultBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollResultBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,38 @@
+package org.chorem.pollen.services.bean;
+
+/*
+ * #%L
+ * Pollen :: Service
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2013 CodeLutin
+ * %%
+ * 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 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/>.
+ * #L%
+ */
+
+import java.io.Serializable;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class PollResultBean implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+}
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,52 @@
+package org.chorem.pollen.services.bean;
+
+import org.apache.commons.lang3.StringUtils;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.io.Serializable;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public abstract class PollenBean<E extends TopiaEntity> implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String id;
+
+ public boolean isPersisted() {
+ return StringUtils.isNotBlank(id);
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public abstract void fromEntity(E entity);
+
+ public abstract E toEntity();
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof PollenBean)) return false;
+
+ PollenBean pollenBean = (PollenBean) o;
+
+ return id != null && id.equals(pollenBean.id);
+
+ }
+
+ @Override
+ public int hashCode() {
+ return id != null ? id.hashCode() : 0;
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,106 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.PollenUser;
+import org.chorem.pollen.persistence.entity.PollenUserImpl;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class PollenUserBean extends PollenBean<PollenUser> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String login;
+
+ protected String name;
+
+ protected boolean administrator;
+
+ protected String language;
+
+ protected String email;
+
+ protected String password;
+
+ @Override
+ public void fromEntity(PollenUser entity) {
+
+ setId(entity.getTopiaId());
+
+ setName(entity.getName());
+ setLogin(entity.getLogin());
+ setAdministrator(entity.isAdministrator());
+ setLanguage(entity.getLanguage());
+ setEmail(entity.getEmail());
+ setPassword(entity.getPassword());
+
+ }
+
+ @Override
+ public PollenUser toEntity() {
+
+ PollenUser entity = new PollenUserImpl();
+
+ entity.setTopiaId(getId());
+ entity.setName(getName());
+ entity.setLanguage(getLogin());
+ entity.setAdministrator(isAdministrator());
+ entity.setLanguage(getLanguage());
+ entity.setEmail(getEmail());
+ entity.setPassword(getPassword());
+
+ return entity;
+
+ }
+
+ public String getLogin() {
+ return login;
+ }
+
+ public void setLogin(String login) {
+ this.login = login;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public boolean isAdministrator() {
+ return administrator;
+ }
+
+ public void setAdministrator(boolean administrator) {
+ this.administrator = administrator;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java (from rev 3953, trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteBean.java)
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,128 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.PollenPrincipal;
+import org.chorem.pollen.persistence.entity.PollenPrincipalImpl;
+import org.chorem.pollen.persistence.entity.Vote;
+import org.chorem.pollen.persistence.entity.VoteImpl;
+import org.chorem.pollen.persistence.entity.VoteToChoice;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class VoteBean extends PollenBean<Vote> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String voterId;
+
+ protected String voterName;
+
+ protected String permission;
+
+ protected Boolean anonymous;
+
+ protected Set<VoteToChoiceBean> choice = new HashSet<>();
+
+ @Override
+ public void fromEntity(Vote vote) {
+
+ setId(vote.getTopiaId());
+
+ if (vote.getVoter() == null || vote.getVoter().getPermission() == null) {
+
+ setPermission(null);
+
+ } else {
+
+ setPermission(vote.getVoter().getPermission().getToken());
+
+ }
+
+ setAnonymous(vote.isAnonymous());
+ setVoterId(vote.getVoter().getTopiaId());
+ setVoterName(vote.getVoter().getName());
+
+ for (VoteToChoice voteToChoice : vote.getVoteToChoice()) {
+
+ VoteToChoiceBean choiceBean = new VoteToChoiceBean();
+ choiceBean.fromEntity(voteToChoice);
+ addChoice(choiceBean);
+
+ }
+
+ }
+
+ @Override
+ public Vote toEntity() {
+
+ Vote entity = new VoteImpl();
+
+ entity.setTopiaId(getId());
+ entity.setAnonymous(getAnonymous() != null && getAnonymous());
+
+ PollenPrincipal voter = new PollenPrincipalImpl();
+ entity.setVoter(voter);
+ voter.setTopiaId(getVoterId());
+ voter.setName(getVoterName());
+
+ for (VoteToChoiceBean choiceBean : choice) {
+
+ VoteToChoice voteToChoice = choiceBean.toEntity();
+ entity.addVoteToChoice(voteToChoice);
+
+ }
+
+ return entity;
+
+ }
+
+ public String getVoterName() {
+ return voterName;
+ }
+
+ public void setVoterName(String voterName) {
+ this.voterName = voterName;
+ }
+
+ public String getVoterId() {
+ return voterId;
+ }
+
+ public void setVoterId(String voterId) {
+ this.voterId = voterId;
+ }
+
+ public String getPermission() {
+ return permission;
+ }
+
+ public void setPermission(String permission) {
+ this.permission = permission;
+ }
+
+ public Boolean getAnonymous() {
+ return anonymous;
+ }
+
+ public void setAnonymous(Boolean anonymous) {
+ this.anonymous = anonymous;
+ }
+
+ public Set<VoteToChoiceBean> getChoice() {
+ return choice;
+ }
+
+ public void addChoice(VoteToChoiceBean choice) {
+ this.choice.add(choice);
+ }
+
+ public boolean isAnonymous() {
+ return anonymous != null && anonymous;
+ }
+}
Copied: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java (from rev 3953, trunk/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/VoteToChoiceBean.java)
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoteToChoiceBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,70 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.ChoiceImpl;
+import org.chorem.pollen.persistence.entity.VoteToChoice;
+import org.chorem.pollen.persistence.entity.VoteToChoiceImpl;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class VoteToChoiceBean extends PollenBean<VoteToChoice> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String choiceId;
+
+ protected int choiceOrder;
+
+ protected Double voteValue;
+
+ @Override
+ public void fromEntity(VoteToChoice entity) {
+
+ setId(entity.getTopiaId());
+ setVoteValue(entity.getVoteValue());
+ setChoiceId(entity.getChoice().getTopiaId());
+ setChoiceOrder(entity.getChoice().getChoiceOrder());
+
+ }
+
+ @Override
+ public VoteToChoice toEntity() {
+
+ VoteToChoice entity = new VoteToChoiceImpl();
+ entity.setTopiaId(getId());
+ entity.setVoteValue(getVoteValue());
+ entity.setChoice(new ChoiceImpl());
+ entity.getChoice().setTopiaId(getChoiceId());
+ entity.getChoice().setChoiceOrder(getChoiceOrder());
+
+ return entity;
+
+ }
+
+ public String getChoiceId() {
+ return choiceId;
+ }
+
+ public void setChoiceId(String choiceId) {
+ this.choiceId = choiceId;
+ }
+
+ public Double getVoteValue() {
+ return voteValue;
+ }
+
+ public void setVoteValue(Double voteValue) {
+ this.voteValue = voteValue;
+ }
+
+ public int getChoiceOrder() {
+ return choiceOrder;
+ }
+
+ public void setChoiceOrder(int choiceOrder) {
+ this.choiceOrder = choiceOrder;
+ }
+}
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,86 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.VoterList;
+import org.chorem.pollen.persistence.entity.VoterListImpl;
+import org.chorem.pollen.persistence.entity.VoterListMember;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class VoterListBean extends PollenBean<VoterList> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String name;
+
+ protected double weight;
+
+ protected Set<VoterListMemberBean> member = new HashSet<>();
+
+ @Override
+ public void fromEntity(VoterList entity) {
+
+ setId(entity.getTopiaId());
+ setName(entity.getName());
+ setWeight(entity.getWeight());
+
+ member.clear();
+
+ for (VoterListMember voterListMemberEntity : entity.getMember()) {
+
+ VoterListMemberBean voterListMemberBean = new VoterListMemberBean();
+ voterListMemberBean.fromEntity(voterListMemberEntity);
+ addMember(voterListMemberBean);
+ }
+ }
+
+ @Override
+ public VoterList toEntity() {
+
+ VoterList entity = new VoterListImpl();
+ entity.setTopiaId(getId());
+ entity.setName(getName());
+ entity.setWeight(getWeight());
+
+ for (VoterListMemberBean voterListMemberBean : member) {
+
+ VoterListMember voterListMember = voterListMemberBean.toEntity();
+ entity.addMember(voterListMember);
+
+ }
+
+ return entity;
+
+ }
+
+ public String getName() {
+ return name;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public double getWeight() {
+ return weight;
+ }
+
+ public void setWeight(double weight) {
+ this.weight = weight;
+ }
+
+ public Set<VoterListMemberBean> getMember() {
+ return member;
+ }
+
+ public void addMember(VoterListMemberBean member) {
+ this.member.add(member);
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,68 @@
+package org.chorem.pollen.services.bean;
+
+import org.chorem.pollen.persistence.entity.VoterListMember;
+import org.chorem.pollen.persistence.entity.VoterListMemberImpl;
+
+/**
+ * Created on 5/15/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+public class VoterListMemberBean extends PollenBean<VoterListMember> {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String name;
+
+ protected String email;
+
+ protected double weight;
+
+ @Override
+ public void fromEntity(VoterListMember entity) {
+
+ setId(entity.getTopiaId());
+ setName(entity.getName());
+ setEmail(entity.getEmail());
+ setWeight(entity.getWeight());
+
+ }
+
+ @Override
+ public VoterListMember toEntity() {
+
+ VoterListMember entity = new VoterListMemberImpl();
+ entity.setEmail(getEmail());
+ entity.setName(getName());
+ entity.setWeight(getWeight());
+
+ return entity;
+
+ }
+
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public double getWeight() {
+ return weight;
+ }
+
+ public void setWeight(double weight) {
+ this.weight = weight;
+ }
+}
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/VoterListMemberBean.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/package-info.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/package-info.java (rev 0)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/package-info.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -0,0 +1,30 @@
+/**
+ * Package where to find all beans.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0
+ */
+package org.chorem.pollen.services.bean;
+
+/*
+ * #%L
+ * Pollen :: Service
+ * $Id$
+ * $HeadURL: http://svn.chorem.org/svn/pollen/trunk/pollen-services/src/main/java/org/ch… $
+ * %%
+ * Copyright (C) 2009 - 2013 CodeLutin
+ * %%
+ * 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 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/>.
+ * #L%
+ */
Property changes on: trunk/pollen-services/src/main/java/org/chorem/pollen/services/bean/package-info.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/ChoiceService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -30,6 +30,8 @@
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollenPrincipal;
import org.chorem.pollen.persistence.entity.PollenUser;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
import org.chorem.pollen.services.service.security.PermissionVerb;
import java.util.List;
@@ -43,18 +45,18 @@
*/
public class ChoiceService extends PollenServiceSupport {
- public List<Choice> getChoices(String pollId) {
+ public List<ChoiceBean> getChoices(String pollId) {
checkNotNull(pollId);
Poll poll = getPollService().getPoll0(pollId);
List<Choice> choices = getChoiceDao().findAll(poll);
- return copyAsList(choices);
+ return copyAsList(ChoiceBean.class, choices);
}
- public Choice getChoice(String pollId, String choiceId) {
+ public ChoiceBean getChoice(String pollId, String choiceId) {
checkNotNull(pollId);
checkNotNull(choiceId);
@@ -63,11 +65,11 @@
Poll poll = getPollService().getPoll0(pollId);
Choice result = getChoice(poll, choiceId);
- return copy(result);
+ return copy(ChoiceBean.class, result);
}
- public Choice getNewChoice() {
+ public ChoiceBean getNewChoice() {
Choice result = getChoiceDao().newInstance();
@@ -88,11 +90,11 @@
creator.setEmail(connectedUser.getEmail());
}
- return result;
+ return copy(ChoiceBean.class, result);
}
- public Choice addChoice(String pollId, Choice choice) throws InvalidFormException {
+ public CreateBeanRef addChoice(String pollId, ChoiceBean choice) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(choice);
@@ -113,15 +115,18 @@
getNotificationService().onChoiceAdded(poll, result);
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
+
}
- public Choice editChoice(String pollId, Choice choice) throws InvalidFormException {
+ public ChoiceBean editChoice(String pollId, ChoiceBean choice) throws InvalidFormException {
checkNotNull(choice);
checkIsPersisted(choice);
- checkPermission(PermissionVerb.editChoice, choice.getTopiaId());
+ checkPermission(PermissionVerb.editChoice, choice.getId());
Poll poll = getPollService().getPoll0(pollId);
List<Choice> existingChoices = getChoiceDao().findAll(poll);
@@ -134,7 +139,7 @@
getNotificationService().onChoiceEdited(poll, result);
- return copy(result);
+ return copy(ChoiceBean.class, result);
}
@@ -180,7 +185,7 @@
}
- protected Choice saveChoice(Poll poll, Choice choice) {
+ protected Choice saveChoice(Poll poll, ChoiceBean choice) {
ChoiceTopiaDao choiceDao = getChoiceDao();
@@ -191,7 +196,7 @@
// get existing choice
- toSave = getChoice(poll, choice.getTopiaId());
+ toSave = getChoice(poll, choice.getId());
} else {
@@ -201,11 +206,12 @@
// create a new principal
PollenPrincipal principal = getSecurityService().generatePollenPrincipal();
- PollenPrincipal creator = choice.getCreator();
- if (creator != null) {
- principal.setName(creator.getName());
- principal.setEmail(creator.getEmail());
- }
+ //FIXME
+// PollenPrincipal creator = choice.getCreator();
+// if (creator != null) {
+// principal.setName(creator.getName());
+// principal.setEmail(creator.getEmail());
+// }
toSave.setChoiceType(choice.getChoiceType());
toSave.setCreator(principal);
@@ -237,7 +243,7 @@
}
- protected ErrorMap checkChoice(List<Choice> existingChoices, Choice choice) {
+ protected ErrorMap checkChoice(List<Choice> existingChoices, ChoiceBean choice) {
ErrorMap errors = new ErrorMap();
@@ -254,7 +260,7 @@
for (Choice choice1 : existingChoices) {
if (choiceExists &&
- choice1.getTopiaId().equals(choice.getTopiaId())) {
+ choice1.getTopiaId().equals(choice.getId())) {
continue;
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,11 +23,11 @@
* #L%
*/
-import com.google.common.collect.ImmutableList;
-import org.apache.commons.lang3.StringUtils;
import org.chorem.pollen.persistence.entity.Comment;
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollenPrincipal;
+import org.chorem.pollen.services.bean.CommentBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
import org.chorem.pollen.services.service.security.PermissionVerb;
import java.util.List;
@@ -40,17 +40,17 @@
*/
public class CommentService extends PollenServiceSupport {
- public List<Comment> getComments(String pollId) {
+ public List<CommentBean> getComments(String pollId) {
checkNotNull(pollId);
Poll poll = getPollService().getPoll0(pollId);
List<Comment> comments = getCommentDao().forPollEquals(poll).findAll();
- return copyAsList(comments);
+ return copyAsList(CommentBean.class, comments);
}
- public Comment getComment(String pollId, String commentId) {
+ public CommentBean getComment(String pollId, String commentId) {
checkNotNull(pollId);
checkNotNull(commentId);
@@ -59,11 +59,11 @@
Poll poll = getPollService().getPoll0(pollId);
Comment result = getComment(poll, commentId);
- return copy(result);
+ return copy(CommentBean.class, result);
}
- public Comment addComment(String pollId, Comment comment) throws InvalidFormException {
+ public CreateBeanRef addComment(String pollId, CommentBean comment) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(comment);
@@ -79,16 +79,19 @@
getNotificationService().onCommentAdded(poll, result);
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
+
}
- public Comment editComment(String pollId, Comment comment) throws InvalidFormException {
+ public CommentBean editComment(String pollId, CommentBean comment) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(comment);
checkIsPersisted(comment);
- checkPermission(PermissionVerb.editComment, comment.getTopiaId());
+ checkPermission(PermissionVerb.editComment, comment.getId());
ErrorMap errorMap = checkComment(comment);
errorMap.failIfNotEmpty();
@@ -99,7 +102,7 @@
getNotificationService().onCommentEdited(poll, result);
- return copy(result);
+ return copy(CommentBean.class, result);
}
@@ -134,23 +137,18 @@
}
- protected ErrorMap checkComment(Comment comment) {
+ protected ErrorMap checkComment(CommentBean comment) {
ErrorMap errors = new ErrorMap();
checkNotBlank(errors, "text", comment.getText(), "textcan not be empty");
- boolean authorNotNull = checkNotNull(errors, "author", comment.getAuthor(), "author can not be null");
- if (authorNotNull) {
+ checkNotBlank(errors, "author.name", comment.getAuthorName(), "author name can not be empty");
- checkNotBlank(errors, "author.name", comment.getAuthor().getName(), "author name can not be empty");
-
- }
-
return errors;
}
- protected Comment saveComment(Poll poll, Comment comment) {
+ protected Comment saveComment(Poll poll, CommentBean comment) {
boolean commentExists = comment.isPersisted();
@@ -158,7 +156,7 @@
if (commentExists) {
- toSave = getCommentDao().findByTopiaId(comment.getTopiaId());
+ toSave = getCommentDao().findByTopiaId(comment.getId());
} else {
@@ -177,13 +175,13 @@
// -- author -- //
- toSave.getAuthor().setName(comment.getAuthor().getName());
- if (StringUtils.isNotBlank(comment.getAuthor().getEmail())) {
+ toSave.getAuthor().setName(comment.getAuthorName());
+// if (StringUtils.isNotBlank(comment.getAuthor().getEmail())) {
+//
+// toSave.getAuthor().setEmail(StringUtils.lowerCase(comment.getAuthor().getEmail()));
+//
+// }
- toSave.getAuthor().setEmail(StringUtils.lowerCase(comment.getAuthor().getEmail()));
-
- }
-
return toSave;
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,8 +23,6 @@
* #L%
*/
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
@@ -35,6 +33,9 @@
import org.chorem.pollen.persistence.entity.FavoriteListTopiaDao;
import org.chorem.pollen.persistence.entity.PollenUser;
import org.chorem.pollen.services.PollenTechnicalException;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.FavoriteListBean;
+import org.chorem.pollen.services.bean.FavoriteListMemberBean;
import org.nuiton.util.StringUtil;
import javax.naming.NamingEnumeration;
@@ -65,17 +66,17 @@
*/
public class FavoriteListService extends PollenServiceSupport {
- public List<FavoriteList> getFavoriteLists() {
+ public List<FavoriteListBean> getFavoriteLists() {
checkIsConnected();
PollenUser user = getConnectedUser();
List<FavoriteList> result = user.getFavoriteList();
- return copyAsList(result);
+ return copyAsList(FavoriteListBean.class, result);
}
- public FavoriteList getFavoriteList(String favoriteListId) {
+ public FavoriteListBean getFavoriteList(String favoriteListId) {
checkIsConnected();
checkNotNull(favoriteListId);
@@ -83,11 +84,11 @@
PollenUser user = getConnectedUser();
FavoriteList result = getFavoriteList(user, favoriteListId);
- return copy(result);
+ return copy(FavoriteListBean.class, result);
}
- public FavoriteList createFavoriteList(FavoriteList favoriteList) throws InvalidFormException {
+ public CreateBeanRef createFavoriteList(FavoriteListBean favoriteList) throws InvalidFormException {
checkIsConnected();
checkNotNull(favoriteList);
@@ -105,11 +106,13 @@
getNotificationService().onFavoriteListAdded(user, result);
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
}
- public void editFavoriteList(FavoriteList favoriteList) throws InvalidFormException {
+ public FavoriteListBean editFavoriteList(FavoriteListBean favoriteList) throws InvalidFormException {
checkIsConnected();
checkNotNull(favoriteList);
@@ -127,6 +130,8 @@
getNotificationService().onFavoriteListEdited(user, result);
+ return copy(FavoriteListBean.class, result);
+
}
public void deleteFavoriteList(String favoriteListId) {
@@ -145,7 +150,7 @@
}
- public Set<FavoriteListMember> getFavoriteListMembers(String favoriteListId) {
+ public Set<FavoriteListMemberBean> getFavoriteListMembers(String favoriteListId) {
checkIsConnected();
checkNotNull(favoriteListId);
@@ -155,11 +160,11 @@
FavoriteList favoriteList = getFavoriteList(user, favoriteListId);
Set<FavoriteListMember> member = favoriteList.getMember();
- return copyAsSet(member);
+ return copyAsSet(FavoriteListMemberBean.class, member);
}
- public FavoriteListMember getFavoriteListMember(String favoriteListId, String memberId) {
+ public FavoriteListMemberBean getFavoriteListMember(String favoriteListId, String memberId) {
checkIsConnected();
checkNotNull(favoriteListId);
@@ -170,12 +175,12 @@
FavoriteList favoriteList = getFavoriteList(user, favoriteListId);
FavoriteListMember result = getFavoriteListMember(favoriteList, memberId);
- return copy(result);
+ return copy(FavoriteListMemberBean.class, result);
}
- public FavoriteListMember addFavoriteListMember(String favoriteListId,
- FavoriteListMember member) throws InvalidFormException {
+ public CreateBeanRef addFavoriteListMember(String favoriteListId,
+ FavoriteListMemberBean member) throws InvalidFormException {
checkIsConnected();
checkNotNull(favoriteListId);
@@ -194,12 +199,14 @@
FavoriteListMember result = saveFavoriteListMember(favoriteList, member);
commit();
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
}
- public void editFavoriteListMember(String favoriteListId,
- FavoriteListMember member) throws InvalidFormException {
+ public FavoriteListMemberBean editFavoriteListMember(String favoriteListId,
+ FavoriteListMemberBean member) throws InvalidFormException {
checkIsConnected();
checkNotNull(favoriteListId);
@@ -218,6 +225,8 @@
FavoriteListMember result = saveFavoriteListMember(favoriteList, member);
commit();
+ return copy(FavoriteListMemberBean.class, result);
+
}
public void deleteFavoriteListMember(String favoriteListId,
@@ -454,7 +463,7 @@
}
- protected FavoriteList saveFavoriteList(PollenUser user, FavoriteList favoriteList) {
+ protected FavoriteList saveFavoriteList(PollenUser user, FavoriteListBean favoriteList) {
FavoriteListTopiaDao favoriteListDao = getFavoriteListDao();
@@ -465,7 +474,7 @@
if (persisted) {
// get existing favorite list
- toSave = getFavoriteList(user, favoriteList.getTopiaId());
+ toSave = getFavoriteList(user, favoriteList.getId());
} else {
@@ -482,7 +491,7 @@
}
- protected FavoriteListMember saveFavoriteListMember(FavoriteList favoriteList, FavoriteListMember favoriteListMember) {
+ protected FavoriteListMember saveFavoriteListMember(FavoriteList favoriteList, FavoriteListMemberBean favoriteListMember) {
FavoriteListMemberTopiaDao favoriteListDao = getFavoriteListMemberDao();
@@ -493,7 +502,7 @@
if (persisted) {
// get existing favorite list
- toSave = getFavoriteListMember(favoriteList, favoriteListMember.getTopiaId());
+ toSave = getFavoriteListMember(favoriteList, favoriteListMember.getId());
} else {
@@ -510,7 +519,7 @@
return toSave;
}
- protected ErrorMap checkFavoriteList(List<FavoriteList> existingFavoriteLists, FavoriteList favoriteList) {
+ protected ErrorMap checkFavoriteList(List<FavoriteList> existingFavoriteLists, FavoriteListBean favoriteList) {
ErrorMap errors = new ErrorMap();
@@ -529,7 +538,7 @@
for (FavoriteList favoriteList1 : existingFavoriteLists) {
if (favoriteListExists &&
- favoriteList1.getTopiaId().equals(favoriteList.getTopiaId())) {
+ favoriteList1.getTopiaId().equals(favoriteList.getId())) {
continue;
@@ -548,10 +557,14 @@
int memberIndex = 0;
- List<FavoriteListMember> existingFavoriteListMembers = new ArrayList<>(favoriteList.getMember());
+ List<FavoriteListMember> existingFavoriteListMembers = new ArrayList<>();
- for (FavoriteListMember member : favoriteList.getMember()) {
+ for (FavoriteListMemberBean existingFavoriteListMember : favoriteList.getMember()) {
+ existingFavoriteListMembers.add(existingFavoriteListMember.toEntity());
+ }
+ for (FavoriteListMemberBean member : favoriteList.getMember()) {
+
ErrorMap favoriteListMemberErrors = checkFavoriteListMember(existingFavoriteListMembers, member);
favoriteListMemberErrors.copyTo(errors, "favoriteListMember[" + (memberIndex++) + "].");
@@ -562,7 +575,7 @@
}
- protected ErrorMap checkFavoriteListMember(List<FavoriteListMember> existingFavoriteListMember, FavoriteListMember favoriteListMember) {
+ protected ErrorMap checkFavoriteListMember(List<FavoriteListMember> existingFavoriteListMember, FavoriteListMemberBean favoriteListMember) {
ErrorMap errors = new ErrorMap();
@@ -615,4 +628,5 @@
return errors;
}
+
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/FixturesService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -31,12 +31,17 @@
import org.chorem.pollen.persistence.PollenTopiaApplicationContext;
import org.chorem.pollen.persistence.entity.Choice;
import org.chorem.pollen.persistence.entity.Poll;
+import org.chorem.pollen.persistence.entity.PollenPrincipal;
import org.chorem.pollen.persistence.entity.PollenUser;
import org.chorem.pollen.persistence.entity.PollenUserTopiaDao;
import org.chorem.pollen.services.PollenFixtures;
import org.chorem.pollen.services.PollenTechnicalException;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollBean;
import org.chorem.pollen.services.service.security.SecurityService;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -104,14 +109,24 @@
PollService pollService = newService(PollService.class);
Collection<Poll> polls = fixtures.fixture("polls");
- List<Choice> choices= fixtures.fixture("choices");
+ List<Choice> choices = fixtures.fixture("choices");
+ List<ChoiceBean> choicesBean = new ArrayList<>();
+ for (Choice choice : choices) {
+ ChoiceBean choiceBean = new ChoiceBean();
+ choiceBean.fromEntity(choice);
+ choicesBean.add(choiceBean);
+ }
for (Poll poll : polls) {
try {
- Poll createdPoll = pollService.createPoll(poll, choices, null);
- poll.setTopiaId(createdPoll.getTopiaId());
- poll.setCreator(createdPoll.getCreator());
+ PollBean pollBean = new PollBean();
+ pollBean.fromEntity(poll);
+ CreateBeanRef createdPoll = pollService.createPoll(pollBean, choicesBean, null);
+ poll.setTopiaId(createdPoll.getId());
+
+ PollenPrincipal principal = securityService.getPollenPrincipalByPermissionToken(createdPoll.getPermission());
+ poll.setCreator(principal);
// poll.setChoice(createdPoll.getChoice());
} catch (InvalidFormException e) {
throw new PollenTechnicalException(e);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -29,8 +29,11 @@
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollenPrincipal;
import org.chorem.pollen.persistence.entity.PollenUser;
-import org.chorem.pollen.persistence.entity.Polls;
import org.chorem.pollen.persistence.entity.VoterList;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollBean;
+import org.chorem.pollen.services.bean.VoterListBean;
import org.chorem.pollen.services.service.security.PermissionVerb;
import java.io.File;
@@ -46,51 +49,51 @@
*/
public class PollService extends PollenServiceSupport {
- public ImmutableSet<Poll> getPolls() {
+ public ImmutableSet<PollBean> getPolls() {
//TODO Push this back when security will be ok
// checkIsConnected();
// checkIsAdmin();
List<Poll> polls = getPollDao().findAll();
- return copyAsSet(polls);
+ return copyAsSet(PollBean.class, polls);
}
- public ImmutableSet<Poll> getCreatedPolls() {
+ public ImmutableSet<PollBean> getCreatedPolls() {
checkIsConnected();
PollenUser connectedUser = getConnectedUser();
Set<Poll> polls = getPollDao().findAllCreated(connectedUser);
- return copyAsSet(polls);
+ return copyAsSet(PollBean.class, polls);
}
- public ImmutableSet<Poll> getInvitedPolls() {
+ public ImmutableSet<PollBean> getInvitedPolls() {
checkIsConnected();
PollenUser connectedUser = getConnectedUser();
Set<Poll> polls = getPollDao().findAllInvited(connectedUser);
- return copyAsSet(polls);
+ return copyAsSet(PollBean.class, polls);
}
- public ImmutableSet<Poll> getParticipatedPolls() {
+ public ImmutableSet<PollBean> getParticipatedPolls() {
checkIsConnected();
PollenUser connectedUser = getConnectedUser();
Set<Poll> polls = getPollDao().findAllParticipated(connectedUser);
- return copyAsSet(polls);
+ return copyAsSet(PollBean.class, polls);
}
- public Poll getPoll(String pollId) {
+ public PollBean getPoll(String pollId) {
checkNotNull(pollId);
checkPermission(PermissionVerb.readPoll, pollId);
@@ -103,11 +106,11 @@
result.setCreator(null);
}
- return copy(result);
+ return copy(PollBean.class, result);
}
- public Poll getNewPoll() {
+ public PollBean getNewPoll() {
Poll result = getPollDao().newInstance();
@@ -133,11 +136,11 @@
}
- return result;
+ return copy(PollBean.class, result);
}
- public Poll createPoll(Poll poll, List<Choice> choices, List<VoterList> voterLists) throws InvalidFormException {
+ public CreateBeanRef createPoll(PollBean poll, List<ChoiceBean> choices, List<VoterListBean> voterLists) throws InvalidFormException {
checkNotNull(poll);
checkIsNotPersisted(poll);
@@ -152,15 +155,18 @@
getNotificationService().onPollCreated(savedPoll);
- return copy(savedPoll);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(savedPoll);
+ return createBeanRef;
+
}
- public Poll editPoll(Poll poll) throws InvalidFormException {
+ public PollBean editPoll(PollBean poll) throws InvalidFormException {
checkNotNull(poll);
checkIsPersisted(poll);
- checkPermission(PermissionVerb.editPoll, poll.getTopiaId());
+ checkPermission(PermissionVerb.editPoll, poll.getId());
ErrorMap errorMap = checkPoll(poll);
errorMap.failIfNotEmpty();
@@ -170,7 +176,7 @@
getNotificationService().onPollEdited(savedPoll);
- return copy(savedPoll);
+ return copy(PollBean.class, savedPoll);
}
@@ -188,7 +194,7 @@
}
- public Poll clonePoll(String pollId) {
+ public PollBean clonePoll(String pollId) {
checkNotNull(pollId);
checkPermission(PermissionVerb.clonePoll, pollId);
@@ -200,7 +206,7 @@
getNotificationService().onPollCreated(poll);
- return poll;
+ return copy(PollBean.class, poll);
}
@@ -230,16 +236,20 @@
}
- protected Poll savePoll(Poll poll, List<Choice> choices, List<VoterList> voterLists) {
+ protected Poll savePoll(PollBean poll, List<ChoiceBean> choices, List<VoterListBean> voterLists) {
boolean pollExists = poll.isPersisted();
+ List<Choice> existingChoices;
+
Poll toSave;
if (pollExists) {
- toSave = getPoll0(poll.getTopiaId());
+ toSave = getPoll0(poll.getId());
+ existingChoices = getChoiceDao().findAll(toSave);
+
} else {
toSave = getPollDao().create();
@@ -249,6 +259,8 @@
toSave.setCreator(creatorToPersist);
+ existingChoices = new ArrayList<>();
+
}
// -- creator -- //
@@ -262,14 +274,9 @@
}
- PollenPrincipal creator = poll.getCreator();
- if (creator != null) {
+ toSave.getCreator().setName(poll.getCreatorName());
+ toSave.getCreator().setEmail(poll.getCreatorEmail());
- toSave.getCreator().setName(creator.getName());
- toSave.getCreator().setEmail(creator.getEmail());
-
- }
-
// -- simple properties -- //
toSave.setVoteCountingType(poll.getVoteCountingType());
@@ -294,20 +301,9 @@
if (CollectionUtils.isNotEmpty(choices)) {
- List<Choice> existingChoices;
-
- if (pollExists) {
-
- existingChoices = getChoiceDao().findAll(poll);
-
- } else {
-
- existingChoices = new ArrayList<>();
-
- }
ChoiceService choiceService = getChoiceService();
- for (Choice choice : choices) {
+ for (ChoiceBean choice : choices) {
choice.setChoiceOrder(existingChoices.size());
Choice persistedChoice = choiceService.saveChoice(toSave, choice);
@@ -322,7 +318,7 @@
VoterListService voterListService = getVoterListService();
- for (VoterList voterList : voterLists) {
+ for (VoterListBean voterList : voterLists) {
voterListService.saveVoterList(toSave, voterList);
@@ -339,7 +335,7 @@
}
- protected ErrorMap checkPoll(Poll poll) {
+ protected ErrorMap checkPoll(PollBean poll) {
ErrorMap errors = new ErrorMap();
@@ -354,7 +350,7 @@
}
- protected void checkChoices(ErrorMap errorMap, List<Choice> choices) {
+ protected void checkChoices(ErrorMap errorMap, List<ChoiceBean> choices) {
boolean choicesNotEmpty = CollectionUtils.isNotEmpty(choices);
@@ -366,31 +362,31 @@
for (int i = 0; i < choices.size(); i++) {
- Choice choice = choices.get(i);
+ ChoiceBean choice = choices.get(i);
ErrorMap choiceErrors = getChoiceService().checkChoice(existingChoices, choice);
choiceErrors.copyTo(errorMap, "choice[" + i + "].");
- existingChoices.add(choice);
+ existingChoices.add(choice.toEntity());
}
}
}
- protected void checkVoterLists(ErrorMap errorMap, Poll poll, List<VoterList> voterLists) {
+ protected void checkVoterLists(ErrorMap errorMap, PollBean poll, List<VoterListBean> voterLists) {
boolean voterListsNotEmpty = CollectionUtils.isNotEmpty(voterLists);
- if (Polls.isPollFree(poll)) {
+ if (PollBean.isPollFree(poll)) {
checkEmpty(errorMap, "voterList", voterLists, "can't have voterList with free poll");
- } else if (Polls.isPollRestricted(poll)) {
+ } else if (PollBean.isPollRestricted(poll)) {
check(errorMap, "voterList", voterListsNotEmpty && 1 == voterLists.size(), "must have a unique voterList with a restricted poll");
- } else if (Polls.isPollGroup(poll)) {
+ } else if (PollBean.isPollGroup(poll)) {
check(errorMap, "voterList", voterListsNotEmpty, "must have at least one voterList with a group poll");
@@ -402,13 +398,13 @@
for (int i = 0; i < voterLists.size(); i++) {
- VoterList voterList = voterLists.get(i);
+ VoterListBean voterList = voterLists.get(i);
ErrorMap voterListErrors = getVoterListService().checkVoterList(existingVoterLists, voterList);
voterListErrors.copyTo(errorMap, "voterList[" + (i++) + "].");
- existingVoterLists.add(voterList);
+ existingVoterLists.add(voterList.toEntity());
}
Deleted: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenPrincipalRef.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenPrincipalRef.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenPrincipalRef.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -1,69 +0,0 @@
-package org.chorem.pollen.services.service;
-
-/*
- * #%L
- * Pollen :: Service
- * %%
- * Copyright (C) 2009 - 2014 CodeLutin
- * %%
- * 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 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/>.
- * #L%
- */
-
-import org.chorem.pollen.persistence.entity.PollenPrincipal;
-import org.chorem.pollen.persistence.entity.PollenPrincipals;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-/**
- * To box a entity within his principal.
- * <p/>
- * Created on 5/5/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.0
- */
-public class PollenPrincipalRef<E extends TopiaEntity> {
-
- protected E entity;
-
- protected PollenPrincipal principal;
-
- public static <E extends TopiaEntity> PollenPrincipalRef<E> newRef(E entity) {
-
- PollenPrincipalRef<E> result = new PollenPrincipalRef<>();
- result.setEntity(entity);
-
- PollenPrincipal principal = PollenPrincipals.getPrincipal(entity);
- result.setPrincipal(principal);
-
- return result;
-
- }
-
- public E getEntity() {
- return entity;
- }
-
- public void setEntity(E entity) {
- this.entity = entity;
- }
-
- public PollenPrincipal getPrincipal() {
- return principal;
- }
-
- public void setPrincipal(PollenPrincipal principal) {
- this.principal = principal;
- }
-}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -45,7 +45,9 @@
import org.chorem.pollen.persistence.entity.VoterListTopiaDao;
import org.chorem.pollen.services.PollenService;
import org.chorem.pollen.services.PollenServiceContext;
+import org.chorem.pollen.services.PollenTechnicalException;
import org.chorem.pollen.services.TopiaEntityCopyVisitor;
+import org.chorem.pollen.services.bean.PollenBean;
import org.chorem.pollen.services.config.PollenServiceConfig;
import org.chorem.pollen.services.service.mail.EmailService;
import org.chorem.pollen.services.service.security.PermissionVerb;
@@ -54,6 +56,7 @@
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.util.StringUtil;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -258,6 +261,18 @@
}
+ protected void checkIsPersisted(PollenBean bean) {
+
+ Preconditions.checkState(bean.isPersisted());
+
+ }
+
+ protected void checkIsNotPersisted(PollenBean bean) {
+
+ Preconditions.checkState(!bean.isPersisted());
+
+ }
+
protected boolean check(Multimap<String, String> errors, String field, boolean condition, String error) {
boolean valid = condition;
@@ -403,4 +418,62 @@
return result;
}
+
+ protected <T extends TopiaEntity, B extends PollenBean<T>> B copy(Class<B> beanType, T entity) {
+
+ try {
+
+ B bean = beanType.newInstance();
+ bean.fromEntity(entity);
+ return bean;
+
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new PollenTechnicalException(e);
+ }
+
+ }
+
+ protected <T extends TopiaEntity, B extends PollenBean<T>> ImmutableList<B> copyAsList(Class<B> beanType, Collection<T> entities) {
+
+ Collection<B> copy = new ArrayList<>();
+
+ for (T entity : entities) {
+
+ try {
+
+ B bean = beanType.newInstance();
+ bean.fromEntity(entity);
+ copy.add(bean);
+
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ ImmutableList<B> result = ImmutableList.copyOf(copy);
+
+ return result;
+
+ }
+
+ protected <T extends TopiaEntity, B extends PollenBean<T>> ImmutableSet<B> copyAsSet(Class<B> beanType, Collection<T> entities) {
+
+ Collection<B> copy = new ArrayList<>();
+
+ for (T entity : entities) {
+
+ try {
+ B bean = beanType.newInstance();
+ bean.fromEntity(entity);
+ copy.add(bean);
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new PollenTechnicalException(e);
+ }
+ }
+
+ ImmutableSet<B> result = ImmutableSet.copyOf(copy);
+
+ return result;
+
+ }
}
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenUserService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -28,6 +28,8 @@
import org.chorem.pollen.persistence.entity.PollenUser;
import org.chorem.pollen.persistence.entity.PollenUserTopiaDao;
import org.chorem.pollen.services.PollenService;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollenUserBean;
import org.chorem.pollen.services.service.security.PollenInvalidEmailActivationTokenException;
import org.chorem.pollen.services.service.security.PollenInvalidPasswordException;
@@ -42,22 +44,22 @@
*/
public class PollenUserService extends PollenServiceSupport implements PollenService {
- public List<PollenUser> getUsers() {
+ public List<PollenUserBean> getUsers() {
// checkIsConnected();
// checkIsAdmin();
List<PollenUser> pollenUsers = getPollenUserDao().findAll();
- return copyAsList(pollenUsers);
+ return copyAsList(PollenUserBean.class, pollenUsers);
}
- public PollenUser getUser(String userId) {
+ public PollenUserBean getUser(String userId) {
checkNotNull(userId);
PollenUser result = getUser0(userId);
- return copy(result);
+ return copy(PollenUserBean.class, result);
}
@@ -65,7 +67,7 @@
return getPollenUserDao().findByTopiaId(userId);
}
- public PollenUser createUser(PollenUser user, boolean generatePassword) throws InvalidFormException {
+ public CreateBeanRef createUser(PollenUserBean user, boolean generatePassword) throws InvalidFormException {
checkNotNull(user);
checkIsNotPersisted(user);
@@ -78,11 +80,13 @@
getNotificationService().onUserCreated(result, generatePassword);
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
}
- public void editUser(PollenUser user) throws InvalidFormException {
+ public PollenUserBean editUser(PollenUserBean user) throws InvalidFormException {
checkNotNull(user);
checkIsPersisted(user);
@@ -94,6 +98,7 @@
commit();
getNotificationService().onUserEdited(result);
+ return copy(PollenUserBean.class, result);
}
@@ -155,7 +160,7 @@
if (getPollenUserDao().count() == 0) {
- PollenUser user = getPollenUserDao().newInstance();
+ PollenUserBean user = new PollenUserBean();
user.setAdministrator(true);
String login = "admin";
@@ -168,12 +173,12 @@
}
- protected ErrorMap checkPollenUser(PollenUser user) throws InvalidFormException {
+ protected ErrorMap checkPollenUser(PollenUserBean user) throws InvalidFormException {
ErrorMap errors = new ErrorMap();
boolean userExists = user.isPersisted();
- PollenUser persisted = userExists ? getUser0(user.getTopiaId()) : null;
+ PollenUser persisted = userExists ? getUser0(user.getId()) : null;
PollenUserTopiaDao dao = getPollenUserDao();
String userLogin = user.getLogin();
@@ -235,7 +240,7 @@
}
- protected PollenUser savePollenUser(PollenUser user, boolean generatePassword) {
+ protected PollenUser savePollenUser(PollenUserBean user, boolean generatePassword) {
boolean userExists = user.isPersisted();
@@ -245,7 +250,7 @@
if (userExists) {
- toSave = getUser0(user.getTopiaId());
+ toSave = getUser0(user.getId());
boolean emailChanged = !Objects.equals(toSave.getEmail(), cleanMail);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteCountingService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -25,7 +25,7 @@
import com.google.common.base.Preconditions;
import org.chorem.pollen.persistence.entity.Poll;
-import org.chorem.pollen.services.PollResult;
+import org.chorem.pollen.services.bean.PollResultBean;
/**
* TODO
@@ -36,7 +36,7 @@
public class VoteCountingService extends PollenServiceSupport {
//GET /poll/{pollId}/results
- public PollResult getResult(String pollId) {
+ public PollResultBean getResult(String pollId) {
Preconditions.checkNotNull(pollId);
Poll poll = getPollService().getPoll0(pollId);
//TODO
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoteService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,7 +23,6 @@
* #L%
*/
-import org.apache.commons.lang3.StringUtils;
import org.chorem.pollen.persistence.entity.Choice;
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollenPrincipal;
@@ -31,6 +30,9 @@
import org.chorem.pollen.persistence.entity.Vote;
import org.chorem.pollen.persistence.entity.VoteToChoice;
import org.chorem.pollen.persistence.entity.VoteToChoiceTopiaDao;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.VoteBean;
+import org.chorem.pollen.services.bean.VoteToChoiceBean;
import org.chorem.pollen.services.service.security.PermissionVerb;
import java.util.Date;
@@ -46,17 +48,17 @@
*/
public class VoteService extends PollenServiceSupport {
- public List<Vote> getVotes(String pollId) {
+ public List<VoteBean> getVotes(String pollId) {
checkNotNull(pollId);
Poll poll = getPollService().getPoll0(pollId);
List<Vote> votes = getVoteDao().forPollEquals(poll).findAll();
- return copyAsList(votes);
+ return copyAsList(VoteBean.class, votes);
}
- public Vote getVote(String pollId, String voteId) {
+ public VoteBean getVote(String pollId, String voteId) {
checkNotNull(voteId);
checkPermission(PermissionVerb.readVote, voteId);
@@ -64,13 +66,12 @@
Poll poll = getPollService().getPoll0(pollId);
Vote result = getVote(poll, voteId);
- return copy(result);
+ return copy(VoteBean.class, result);
}
+ public CreateBeanRef addVote(String pollId, VoteBean vote) throws InvalidFormException {
- public Vote addVote(String pollId, Vote vote) throws InvalidFormException {
-
checkNotNull(pollId);
checkNotNull(vote);
checkIsNotPersisted(vote);
@@ -86,15 +87,18 @@
getNotificationService().onVoteAdded(poll, result);
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
+
}
- public Vote editVote(String pollId, Vote vote) throws InvalidFormException {
+ public VoteBean editVote(String pollId, VoteBean vote) throws InvalidFormException {
checkNotNull(vote);
checkIsPersisted(vote);
- checkPermission(PermissionVerb.editVote, vote.getTopiaId());
+ checkPermission(PermissionVerb.editVote, vote.getId());
Poll poll = getPollService().getPoll0(pollId);
@@ -106,7 +110,7 @@
getNotificationService().onVoteEdited(poll, result);
- return copy(result);
+ return copy(VoteBean.class, result);
}
@@ -127,7 +131,7 @@
}
- protected ErrorMap checkVote(Poll poll, Vote vote) {
+ protected ErrorMap checkVote(Poll poll, VoteBean vote) {
ErrorMap errors = new ErrorMap();
@@ -139,7 +143,7 @@
// poll must be started
check(errors, "poll", Polls.isStarted(poll, now), "poll is not started");
- checkNotBlank(errors, "voter.name", vote.getVoter().getName(), "voter name can not be empty");
+ checkNotBlank(errors, "voter.name", vote.getVoterName(), "voter name can not be empty");
//TODO Finish validation
@@ -147,7 +151,7 @@
}
- protected Vote saveVote(Poll poll, Vote vote) {
+ protected Vote saveVote(Poll poll, VoteBean vote) {
boolean voteExist = vote.isPersisted();
@@ -156,7 +160,7 @@
//TODO Finish save
if (voteExist) {
- toSave = getVote(poll, vote.getTopiaId());
+ toSave = getVote(poll, vote.getId());
} else {
@@ -176,15 +180,15 @@
//
// -- author -- //
- toSave.getVoter().setName(vote.getVoter().getName());
- if (StringUtils.isNotBlank(vote.getVoter().getEmail())) {
- toSave.getVoter().setEmail(getCleanMail(vote.getVoter().getEmail()));
- }
+ toSave.getVoter().setName(vote.getVoterName());
+// if (StringUtils.isNotBlank(vote.getVoterEmail())) {
+// toSave.getVoter().setEmail(getCleanMail(vote.getVoter().getEmail()));
+// }
// -- List of VoteToChoice -- //
Set<VoteToChoice> choicesToSave = new HashSet<>();
- for (VoteToChoice input : vote.getVoteToChoice()) {
+ for (VoteToChoiceBean input : vote.getChoice()) {
Double value = input.getVoteValue();
if (value != null) {
@@ -229,7 +233,7 @@
}
- protected VoteToChoice createVoteToChoice(Vote vote, VoteToChoice source) {
+ protected VoteToChoice createVoteToChoice(Vote vote, VoteToChoiceBean source) {
VoteToChoiceTopiaDao voteToChoiceDao = getVoteToChoiceDao();
@@ -237,13 +241,13 @@
if (source.isPersisted()) {
- result = getVoteToChoice(vote, source.getTopiaId());
+ result = getVoteToChoice(vote, source.getId());
} else {
result = voteToChoiceDao.create();
- String choiceId = source.getChoice().getTopiaId();
+ String choiceId = source.getChoiceId();
Choice choiceLoaded = getChoiceDao().findByTopiaId(choiceId);
Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java
===================================================================
--- trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/service/VoterListService.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -25,13 +25,16 @@
import com.google.common.collect.Sets;
import org.apache.commons.collections4.CollectionUtils;
-import org.chorem.pollen.persistence.entity.FavoriteList;
-import org.chorem.pollen.persistence.entity.FavoriteListMember;
import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.VoterList;
import org.chorem.pollen.persistence.entity.VoterListMember;
import org.chorem.pollen.persistence.entity.VoterListMemberTopiaDao;
import org.chorem.pollen.persistence.entity.VoterListTopiaDao;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.FavoriteListBean;
+import org.chorem.pollen.services.bean.FavoriteListMemberBean;
+import org.chorem.pollen.services.bean.VoterListBean;
+import org.chorem.pollen.services.bean.VoterListMemberBean;
import java.util.ArrayList;
import java.util.List;
@@ -45,8 +48,8 @@
*/
public class VoterListService extends PollenServiceSupport {
- public VoterList importFavoriteList(String pollId,
- String favoriteListId) {
+ public VoterListBean importFavoriteList(String pollId,
+ String favoriteListId) {
checkIsConnected();
checkNotNull(pollId);
@@ -54,7 +57,7 @@
Poll poll = getPollService().getPoll0(pollId);
- FavoriteList favoriteList = getFavoriteListService().getFavoriteList(favoriteListId);
+ FavoriteListBean favoriteList = getFavoriteListService().getFavoriteList(favoriteListId);
VoterListTopiaDao dao = getVoterListDao();
VoterList result = dao.create();
@@ -65,7 +68,7 @@
VoterListMemberTopiaDao voterListMemberDao =
getVoterListMemberDao();
- for (FavoriteListMember favoriteListMember : favoriteList.getMember()) {
+ for (FavoriteListMemberBean favoriteListMember : favoriteList.getMember()) {
VoterListMember voterListMember = voterListMemberDao.newInstance();
voterListMember.setWeight(1d);
@@ -76,33 +79,31 @@
commit();
- return copy(result);
+ return copy(VoterListBean.class, result);
}
- public List<VoterList> getVoterLists(String pollId) {
+ public List<VoterListBean> getVoterLists(String pollId) {
checkNotNull(pollId);
Poll poll = getPollService().getPoll0(pollId);
List<VoterList> voterLists = getVoterListDao().forPollEquals(poll).findAll();
- return copyAsList(voterLists);
+ return copyAsList(VoterListBean.class, voterLists);
}
- public VoterList getVoterList(String pollId, String voterListId) {
+ public VoterListBean getVoterList(String pollId, String voterListId) {
checkNotNull(pollId);
checkNotNull(voterListId);
- Poll poll = getPollService().getPoll0(pollId);
+ VoterList result = getVoterList0(pollId, voterListId);
+ return copy(VoterListBean.class, result);
- VoterList result = getVoterList(poll, voterListId);
- return copy(result);
-
}
- public VoterList addVoterList(String pollId, VoterList voterList) throws InvalidFormException {
+ public CreateBeanRef addVoterList(String pollId, VoterListBean voterList) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(voterList);
@@ -121,11 +122,13 @@
//TODO Notify
- return copy(result);
+ CreateBeanRef createBeanRef = new CreateBeanRef();
+ createBeanRef.fromEntity(result);
+ return createBeanRef;
}
- public void editVoterList(String pollId, VoterList voterList) throws InvalidFormException {
+ public VoterListBean editVoterList(String pollId, VoterListBean voterList) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(voterList);
@@ -142,6 +145,7 @@
commit();
//TODO Notify
+ return copy(VoterListBean.class, result);
}
@@ -158,40 +162,40 @@
}
- public Set<VoterListMember> getVoterListMembers(String pollId, String voterListId) {
+ public Set<VoterListMemberBean> getVoterListMembers(String pollId, String voterListId) {
checkNotNull(pollId);
checkNotNull(voterListId);
- VoterList voterList = getVoterList(pollId, voterListId);
+ VoterList voterList = getVoterList0(pollId, voterListId);
Set<VoterListMember> result = voterList.getMember();
- return copyAsSet(result);
+ return copyAsSet(VoterListMemberBean.class, result);
}
- public VoterListMember getVoterListMember(String pollId, String voterListId, String memberId) {
+ public VoterListMemberBean getVoterListMember(String pollId, String voterListId, String memberId) {
checkNotNull(pollId);
checkNotNull(voterListId);
checkNotNull(memberId);
- VoterList voterList = getVoterList(pollId, voterListId);
+ VoterList voterList = getVoterList0(pollId, voterListId);
VoterListMember result = getVoterListMember(voterList, memberId);
- return copy(result);
+ return copy(VoterListMemberBean.class, result);
}
- public VoterListMember addVoterListMember(String pollId, String voterListId, VoterListMember member) throws InvalidFormException {
+ public VoterListMemberBean addVoterListMember(String pollId, String voterListId, VoterListMemberBean member) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(voterListId);
checkNotNull(member);
checkIsNotPersisted(member);
- VoterList voterList = getVoterList(pollId, voterListId);
+ VoterList voterList = getVoterList0(pollId, voterListId);
List<VoterListMember> existingVoterListMembers = new ArrayList<>(voterList.getMember());
@@ -201,19 +205,19 @@
VoterListMember result = saveVoterListMember(voterList, member);
commit();
- return copy(result);
+ return copy(VoterListMemberBean.class, result);
}
- public void editVoterListMember(String pollId, String voterListId, VoterListMember member) throws InvalidFormException {
+ public VoterListMemberBean editVoterListMember(String pollId, String voterListId, VoterListMemberBean member) throws InvalidFormException {
checkNotNull(pollId);
checkNotNull(voterListId);
checkNotNull(member);
checkIsPersisted(member);
- VoterList voterList = getVoterList(pollId, voterListId);
+ VoterList voterList = getVoterList0(pollId, voterListId);
List<VoterListMember> existingVoterListMembers = new ArrayList<>(voterList.getMember());
@@ -223,6 +227,8 @@
VoterListMember result = saveVoterListMember(voterList, member);
commit();
+ return copy(VoterListMemberBean.class, result);
+
}
public void deleteVoterListMember(String pollId, String voterListId, String memberId) {
@@ -231,7 +237,7 @@
checkNotNull(voterListId);
checkNotNull(memberId);
- VoterList voterList = getVoterList(pollId, voterListId);
+ VoterList voterList = getVoterList0(pollId, voterListId);
VoterListMember member = getVoterListMember(voterList, memberId);
voterList.removeMember(member);
@@ -253,6 +259,18 @@
}
+ protected VoterList getVoterList0(String pollId, String voterListId) {
+
+ checkNotNull(pollId);
+ checkNotNull(voterListId);
+
+ Poll poll = getPollService().getPoll0(pollId);
+
+ VoterList result = getVoterList(poll, voterListId);
+ return result;
+
+ }
+
protected VoterListMember getVoterListMember(VoterList voterList, String memberId) {
VoterListMember result = getVoterListMemberDao().findByTopiaId(memberId);
@@ -267,7 +285,7 @@
}
- protected VoterList saveVoterList(Poll poll, VoterList voterList) {
+ protected VoterList saveVoterList(Poll poll, VoterListBean voterList) {
boolean voterListExists = voterList.isPersisted();
@@ -275,7 +293,7 @@
if (voterListExists) {
- toSave = getVoterList(poll, voterList.getTopiaId());
+ toSave = getVoterList(poll, voterList.getId());
} else {
@@ -287,7 +305,7 @@
toSave.setName(voterList.getName());
toSave.setWeight(voterList.getWeight());
- for (VoterListMember voterListMember : voterList.getMember()) {
+ for (VoterListMemberBean voterListMember : voterList.getMember()) {
saveVoterListMember(toSave, voterListMember);
@@ -298,7 +316,7 @@
}
protected VoterListMember saveVoterListMember(VoterList voterList,
- VoterListMember voterListMember) {
+ VoterListMemberBean voterListMember) {
boolean voterListMemberExists = voterListMember.isPersisted();
@@ -306,7 +324,7 @@
if (voterListMemberExists) {
- toSave = getVoterListMember(voterList, voterListMember.getTopiaId());
+ toSave = getVoterListMember(voterList, voterListMember.getId());
} else {
@@ -323,7 +341,7 @@
}
- protected ErrorMap checkVoterList(List<VoterList> existingVoterLists, VoterList voterList) {
+ protected ErrorMap checkVoterList(List<VoterList> existingVoterLists, VoterListBean voterList) {
ErrorMap errors = new ErrorMap();
@@ -338,7 +356,7 @@
for (VoterList voterList1 : existingVoterLists) {
if (voterListExists &&
- voterList1.getTopiaId().equals(voterList.getTopiaId())) {
+ voterList1.getTopiaId().equals(voterList.getId())) {
continue;
}
@@ -364,19 +382,24 @@
if (voterListExists) {
- existingVoterListMembers = new ArrayList<>(voterList.getMember());
+ existingVoterListMembers = new ArrayList<>();
+ for (VoterListMemberBean existingVoterListMember : voterList.getMember()) {
+ existingVoterListMembers.add(existingVoterListMember.toEntity());
+
+ }
+
} else {
existingVoterListMembers = new ArrayList<>();
}
- for (VoterListMember voterListMember : voterList.getMember()) {
+ for (VoterListMemberBean voterListMember : voterList.getMember()) {
ErrorMap voterListMemberErrors = checkVoterListMember(existingVoterListMembers, voterListMember);
voterListMemberErrors.copyTo(errors, "member[" + (voterListMemberIndex++) + "].");
- existingVoterListMembers.add(voterListMember);
+ existingVoterListMembers.add(voterListMember.toEntity());
}
}
@@ -385,7 +408,7 @@
}
- protected ErrorMap checkVoterListMember(List<VoterListMember> existingVoterListMembers, VoterListMember voterListMember) {
+ protected ErrorMap checkVoterListMember(List<VoterListMember> existingVoterListMembers, VoterListMemberBean voterListMember) {
ErrorMap errors = new ErrorMap();
@@ -400,7 +423,7 @@
for (VoterListMember voterListMember1 : existingVoterListMembers) {
if (voterListMemberExists &&
- voterListMember1.getTopiaId().equals(voterListMember.getTopiaId())) {
+ voterListMember1.getTopiaId().equals(voterListMember.getId())) {
continue;
}
Modified: trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java
===================================================================
--- trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollServiceTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -23,14 +23,17 @@
* #L%
*/
-import org.chorem.pollen.persistence.entity.Choice;
import org.chorem.pollen.persistence.entity.ChoiceType;
-import org.chorem.pollen.persistence.entity.Poll;
import org.chorem.pollen.persistence.entity.PollType;
-import org.chorem.pollen.persistence.entity.VoterList;
-import org.chorem.pollen.persistence.entity.VoterListMember;
+import org.chorem.pollen.persistence.entity.PollenPrincipal;
import org.chorem.pollen.services.AbstractPollenServiceTest;
+import org.chorem.pollen.services.bean.ChoiceBean;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollBean;
+import org.chorem.pollen.services.bean.VoterListBean;
+import org.chorem.pollen.services.bean.VoterListMemberBean;
import org.chorem.pollen.services.service.security.PollenInvalidPermissionException;
+import org.chorem.pollen.services.service.security.SecurityService;
import org.chorem.pollen.services.test.FakePollenSecurityContext;
import org.junit.Assert;
import org.junit.Before;
@@ -55,6 +58,8 @@
protected VoterListService voterListService;
+ protected SecurityService securityService;
+
@Before
public void setUp() throws ParseException {
@@ -63,6 +68,7 @@
service = newService(PollService.class);
choiceService = newService(ChoiceService.class);
voterListService = newService(VoterListService.class);
+ securityService = newService(SecurityService.class);
getServiceContext().setDate(new Date(1363948427576l));
@@ -72,74 +78,67 @@
@Test
public void createSafeFreePoll() throws InvalidFormException {
- Poll poll = service.getNewPoll();
+ PollBean poll = service.getNewPoll();
poll.setPollType(PollType.FREE);
poll.setTitle("poll1");
- List<Choice> choices = new ArrayList<>();
+ List<ChoiceBean> choices = new ArrayList<>();
- Choice choice1 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice1 = new ChoiceBean();
choices.add(choice1);
choice1.setChoiceType(ChoiceType.TEXT);
choice1.setName("A");
choice1.setDescription("Choice A");
- Choice choice2 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice2 = new ChoiceBean();
choice2.setChoiceType(ChoiceType.TEXT);
choice2.setName("B");
choice2.setDescription("Choice B");
choices.add(choice2);
- Poll createdPoll = service.createPoll(poll, choices, null);
+ CreateBeanRef createdPoll = service.createPoll(poll, choices, null);
Assert.assertNotNull(createdPoll);
- Assert.assertNotNull(createdPoll.getTopiaId());
+ Assert.assertNotNull(createdPoll.getId());
- Poll reloadedPoll = service.getPoll(createdPoll.getTopiaId());
- Assert.assertEquals(createdPoll, reloadedPoll);
+ PollBean reloadedPoll = service.getPoll(createdPoll.getId());
- Assert.assertEquals(getServiceContext().getNow(), createdPoll.getBeginDate());
+ Assert.assertEquals(getServiceContext().getNow(), reloadedPoll.getBeginDate());
- Assert.assertNotNull(createdPoll.getCreator());
- Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
- Assert.assertNull(createdPoll.getCreator().getName());
- Assert.assertNull(createdPoll.getCreator().getEmail());
+ List<ChoiceBean> createdChoices = choiceService.getChoices(createdPoll.getId());
- List<Choice> createdChoices = choiceService.getChoices(createdPoll.getTopiaId());
-
Assert.assertNotNull(createdChoices);
Assert.assertEquals(2, createdChoices.size());
- Choice createdChoice1 = createdChoices.get(0);
+ ChoiceBean createdChoice1 = createdChoices.get(0);
Assert.assertNotNull(createdChoice1);
- Assert.assertNotNull(createdChoice1.getTopiaId());
+ Assert.assertNotNull(createdChoice1.getId());
- Choice reloadedChoice1 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice1.getTopiaId());
+ ChoiceBean reloadedChoice1 = choiceService.getChoice(createdPoll.getId(), createdChoice1.getId());
Assert.assertEquals(createdChoice1, reloadedChoice1);
Assert.assertEquals(choice1.getName(), createdChoice1.getName());
Assert.assertEquals(choice1.getDescription(), createdChoice1.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice1.getCreator());
- Choice createdChoice2 = createdChoices.get(1);
+
+ ChoiceBean createdChoice2 = createdChoices.get(1);
Assert.assertNotNull(createdChoice2);
- Assert.assertNotNull(createdChoice2.getTopiaId());
+ Assert.assertNotNull(createdChoice2.getId());
- Choice reloadedChoice2 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice2.getTopiaId());
+ ChoiceBean reloadedChoice2 = choiceService.getChoice(createdPoll.getId(), createdChoice2.getId());
Assert.assertEquals(createdChoice2, reloadedChoice2);
Assert.assertEquals(choice2.getName(), createdChoice2.getName());
Assert.assertEquals(choice2.getDescription(), createdChoice2.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice2.getCreator());
}
@Test
public void testCreateFreePoll() throws InvalidFormException {
- Poll poll = service.getNewPoll();
+ PollBean poll = service.getNewPoll();
poll.setPollType(PollType.FREE);
@@ -154,8 +153,8 @@
poll.setTitle("poll1");
- List<Choice> choices = new ArrayList<>();
- Choice choice1 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ List<ChoiceBean> choices = new ArrayList<>();
+ ChoiceBean choice1 = new ChoiceBean();
choices.add(choice1);
try {
@@ -179,7 +178,7 @@
choice1.setDescription("Choice A");
- Choice choice2 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice2 = new ChoiceBean();
choice2.setChoiceType(ChoiceType.TEXT);
choice2.setName("A");
choice2.setDescription("Choice B");
@@ -196,50 +195,48 @@
choice2.setName("B");
- Poll createdPoll = service.createPoll(poll, choices, null);
+ CreateBeanRef createdPoll = service.createPoll(poll, choices, null);
Assert.assertNotNull(createdPoll);
- Assert.assertNotNull(createdPoll.getTopiaId());
+ Assert.assertNotNull(createdPoll.getId());
- Poll reloadedPoll = service.getPoll(createdPoll.getTopiaId());
- Assert.assertEquals(createdPoll, reloadedPoll);
+ PollBean reloadedPoll = service.getPoll(createdPoll.getId());
+ Assert.assertEquals(createdPoll.getId(), reloadedPoll.getId());
- Assert.assertEquals(getServiceContext().getNow(), createdPoll.getBeginDate());
+ Assert.assertEquals(getServiceContext().getNow(), reloadedPoll.getBeginDate());
- Assert.assertNotNull(createdPoll.getCreator());
- Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
- Assert.assertNull(createdPoll.getCreator().getName());
- Assert.assertNull(createdPoll.getCreator().getEmail());
+// Assert.assertNotNull(createdPoll.getCreator());
+// Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
+// Assert.assertNull(createdPoll.getCreator().getName());
+// Assert.assertNull(createdPoll.getCreator().getEmail());
// Assert.assertNull(createdPoll.getComment());
// Assert.assertNull(createdPoll.getVote());
// Assert.assertNull(createdPoll.getVoterList());
- List<Choice> createdChoices = choiceService.getChoices(createdPoll.getTopiaId());
+ List<ChoiceBean> createdChoices = choiceService.getChoices(createdPoll.getId());
Assert.assertNotNull(createdChoices);
Assert.assertEquals(2, createdChoices.size());
- Choice createdChoice1 = createdChoices.get(0);
+ ChoiceBean createdChoice1 = createdChoices.get(0);
Assert.assertNotNull(createdChoice1);
- Assert.assertNotNull(createdChoice1.getTopiaId());
+ Assert.assertNotNull(createdChoice1.getId());
- Choice reloadedChoice1 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice1.getTopiaId());
+ ChoiceBean reloadedChoice1 = choiceService.getChoice(createdPoll.getId(), createdChoice1.getId());
Assert.assertEquals(createdChoice1, reloadedChoice1);
Assert.assertEquals(choice1.getName(), createdChoice1.getName());
Assert.assertEquals(choice1.getDescription(), createdChoice1.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice1.getCreator());
- Choice createdChoice2 = createdChoices.get(1);
+ ChoiceBean createdChoice2 = createdChoices.get(1);
Assert.assertNotNull(createdChoice2);
- Assert.assertNotNull(createdChoice2.getTopiaId());
+ Assert.assertNotNull(createdChoice2.getId());
- Choice reloadedChoice2 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice2.getTopiaId());
+ ChoiceBean reloadedChoice2 = choiceService.getChoice(createdPoll.getId(), createdChoice2.getId());
Assert.assertEquals(createdChoice2, reloadedChoice2);
Assert.assertEquals(choice2.getName(), createdChoice2.getName());
Assert.assertEquals(choice2.getDescription(), createdChoice2.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice2.getCreator());
}
@@ -247,136 +244,138 @@
@Test
public void createSafeRestrictedPoll() throws InvalidFormException {
- Poll poll = service.getNewPoll();
+ PollBean poll = service.getNewPoll();
poll.setPollType(PollType.GROUP);
poll.setTitle("poll1");
- List<Choice> choices = new ArrayList<>();
+ List<ChoiceBean> choices = new ArrayList<>();
- Choice choice1 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice1 = new ChoiceBean();
choices.add(choice1);
choice1.setChoiceType(ChoiceType.TEXT);
choice1.setName("A");
choice1.setDescription("Choice A");
- Choice choice2 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice2 = new ChoiceBean();
choice2.setChoiceType(ChoiceType.TEXT);
choice2.setName("B");
choice2.setDescription("Choice B");
choices.add(choice2);
- List<VoterList> voterLists = new ArrayList<>();
+ List<VoterListBean> voterLists = new ArrayList<>();
// add voter list
- VoterList voterList = getServiceContext().getPersistenceContext().getVoterListDao().newInstance();
+ VoterListBean voterList = new VoterListBean();
voterLists.add(voterList);
voterList.setName("voterList1");
voterList.setWeight(1);
- VoterListMember voterListMember1 = getServiceContext().getPersistenceContext().getVoterListMemberDao().newInstance();
+ VoterListMemberBean voterListMember1 = new VoterListMemberBean();
voterList.addMember(voterListMember1);
voterListMember1.setName("voter1");
voterListMember1.setWeight(0.3);
voterListMember1.setEmail("voter1(a)pollen.org");
- VoterListMember voterListMember2 = getServiceContext().getPersistenceContext().getVoterListMemberDao().newInstance();
+ VoterListMemberBean voterListMember2 = new VoterListMemberBean();
voterList.addMember(voterListMember2);
voterListMember2.setName("voter2");
voterListMember2.setEmail("voter2(a)pollen.org");
voterListMember2.setWeight(0.7);
- Poll createdPoll = service.createPoll(poll, choices, voterLists);
+ CreateBeanRef createdPoll = service.createPoll(poll, choices, voterLists);
Assert.assertNotNull(createdPoll);
- Assert.assertNotNull(createdPoll.getTopiaId());
+ Assert.assertNotNull(createdPoll.getId());
try {
- service.getPoll(createdPoll.getTopiaId());
+ service.getPoll(createdPoll.getId());
Assert.fail();
} catch (PollenInvalidPermissionException e) {
Assert.assertTrue(true);
}
FakePollenSecurityContext securityContext = (FakePollenSecurityContext) serviceContext.getSecurityContext();
- securityContext.setMainPrincipal(createdPoll.getCreator());
- Poll reloadedPoll = service.getPoll(createdPoll.getTopiaId());
- Assert.assertEquals(createdPoll, reloadedPoll);
+ PollenPrincipal principal = securityService.getPollenPrincipalByPermissionToken(createdPoll.getPermission());
+ securityContext.setMainPrincipal(principal);
- Assert.assertEquals(getServiceContext().getNow(), createdPoll.getBeginDate());
+ PollBean reloadedPoll = service.getPoll(createdPoll.getId());
+// Assert.assertEquals(createdPoll, reloadedPoll);
- Assert.assertNotNull(createdPoll.getCreator());
- Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
- Assert.assertNull(createdPoll.getCreator().getName());
- Assert.assertNull(createdPoll.getCreator().getEmail());
+ Assert.assertEquals(getServiceContext().getNow(), reloadedPoll.getBeginDate());
- List<Choice> createdChoices = choiceService.getChoices(createdPoll.getTopiaId());
+// Assert.assertNotNull(createdPoll.getCreator());
+// Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
+// Assert.assertNull(createdPoll.getCreator().getName());
+// Assert.assertNull(createdPoll.getCreator().getEmail());
+ List<ChoiceBean> createdChoices = choiceService.getChoices(createdPoll.getId());
+
Assert.assertNotNull(createdChoices);
Assert.assertEquals(2, createdChoices.size());
- Choice createdChoice1 = createdChoices.get(0);
+ ChoiceBean createdChoice1 = createdChoices.get(0);
Assert.assertNotNull(createdChoice1);
- Assert.assertNotNull(createdChoice1.getTopiaId());
+ Assert.assertNotNull(createdChoice1.getId());
- Choice reloadedChoice1 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice1.getTopiaId());
+ ChoiceBean reloadedChoice1 = choiceService.getChoice(createdPoll.getId(), createdChoice1.getId());
Assert.assertEquals(createdChoice1, reloadedChoice1);
Assert.assertEquals(choice1.getName(), createdChoice1.getName());
Assert.assertEquals(choice1.getDescription(), createdChoice1.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice1.getCreator());
+// Assert.assertEquals(createdPoll.getCreator(), createdChoice1.getCreator());
- Choice createdChoice2 = createdChoices.get(1);
+ ChoiceBean createdChoice2 = createdChoices.get(1);
Assert.assertNotNull(createdChoice2);
- Assert.assertNotNull(createdChoice2.getTopiaId());
+ Assert.assertNotNull(createdChoice2.getId());
- Choice reloadedChoice2 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice2.getTopiaId());
+ ChoiceBean reloadedChoice2 = choiceService.getChoice(createdPoll.getId(), createdChoice2.getId());
Assert.assertEquals(createdChoice2, reloadedChoice2);
Assert.assertEquals(choice2.getName(), createdChoice2.getName());
Assert.assertEquals(choice2.getDescription(), createdChoice2.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice2.getCreator());
+// Assert.assertEquals(createdPoll.getCreator(), createdChoice2.getCreator());
- List<VoterList> createdVoterLists = voterListService.getVoterLists(createdPoll.getTopiaId());
+ List<VoterListBean> createdVoterLists = voterListService.getVoterLists(createdPoll.getId());
Assert.assertNotNull(createdVoterLists);
Assert.assertEquals(1, createdVoterLists.size());
- VoterList createdVoterList = createdVoterLists.get(0);
+ VoterListBean createdVoterList = createdVoterLists.get(0);
Assert.assertNotNull(createdVoterList);
- Assert.assertNotNull(createdVoterList.getTopiaId());
+ Assert.assertNotNull(createdVoterList.getId());
- VoterList reloadedVoterList = voterListService.getVoterList(createdPoll.getTopiaId(), createdVoterList.getTopiaId());
+ VoterListBean reloadedVoterList = voterListService.getVoterList(createdPoll.getId(), createdVoterList.getId());
Assert.assertEquals(createdVoterList, reloadedVoterList);
Assert.assertEquals(voterList.getName(), createdVoterList.getName());
Assert.assertEquals(voterList.getWeight(), createdVoterList.getWeight(), 0);
Assert.assertNotNull(createdVoterList.getMember());
- Assert.assertEquals(2, createdVoterList.sizeMember());
+ Assert.assertEquals(2, createdVoterList.getMember().size());
}
@Test
public void testCreateRestrictedPoll() throws InvalidFormException {
- Poll poll = service.getNewPoll();
+ PollBean poll = service.getNewPoll();
poll.setPollType(PollType.RESTRICTED);
poll.setTitle("poll1");
- List<Choice> choices = new ArrayList<>();
+ List<ChoiceBean> choices = new ArrayList<>();
- Choice choice1 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice1 = new ChoiceBean();
choice1.setChoiceType(ChoiceType.TEXT);
choice1.setName("A");
choice1.setDescription("Choice A");
choices.add(choice1);
- Choice choice2 = getServiceContext().getPersistenceContext().getChoiceDao().newInstance();
+ ChoiceBean choice2 = new ChoiceBean();
choice2.setChoiceType(ChoiceType.TEXT);
choice2.setName("B");
choice2.setDescription("Choice B");
@@ -391,10 +390,10 @@
assertErrorKeyFound(e, "voterList");
}
- List<VoterList> voterLists = new ArrayList<>();
+ List<VoterListBean> voterLists = new ArrayList<>();
// add voter list
- VoterList voterList = getServiceContext().getPersistenceContext().getVoterListDao().newInstance();
+ VoterListBean voterList = new VoterListBean();
voterLists.add(voterList);
@@ -411,7 +410,7 @@
voterList.setName("voterList1");
voterList.setWeight(1);
- VoterListMember voterListMember1 = getServiceContext().getPersistenceContext().getVoterListMemberDao().newInstance();
+ VoterListMemberBean voterListMember1 = new VoterListMemberBean();
voterList.addMember(voterListMember1);
try {
@@ -437,7 +436,7 @@
voterListMember1.setEmail("voter1(a)pollen.org");
- VoterListMember voterListMember2 = getServiceContext().getPersistenceContext().getVoterListMemberDao().newInstance();
+ VoterListMemberBean voterListMember2 = new VoterListMemberBean();
voterListMember2.setName("voter1");
voterListMember2.setWeight(0.7);
voterListMember2.setEmail("voter1(a)pollen.org");
@@ -455,75 +454,76 @@
voterListMember2.setName("voter2");
voterListMember2.setEmail("voter2(a)pollen.org");
- Poll createdPoll = service.createPoll(poll, choices, voterLists);
+ CreateBeanRef createdPoll = service.createPoll(poll, choices, voterLists);
Assert.assertNotNull(createdPoll);
- Assert.assertNotNull(createdPoll.getTopiaId());
+ Assert.assertNotNull(createdPoll.getId());
try {
- service.getPoll(createdPoll.getTopiaId());
+ service.getPoll(createdPoll.getId());
Assert.fail();
} catch (PollenInvalidPermissionException e) {
Assert.assertTrue(true);
}
+ PollenPrincipal principal = securityService.getPollenPrincipalByPermissionToken(createdPoll.getPermission());
FakePollenSecurityContext securityContext = (FakePollenSecurityContext) serviceContext.getSecurityContext();
- securityContext.setMainPrincipal(createdPoll.getCreator());
+ securityContext.setMainPrincipal(principal);
- Poll reloadedPoll = service.getPoll(createdPoll.getTopiaId());
- Assert.assertEquals(createdPoll, reloadedPoll);
+ PollBean reloadedPoll = service.getPoll(createdPoll.getId());
+// Assert.assertEquals(createdPoll, reloadedPoll);
- Assert.assertEquals(getServiceContext().getNow(), createdPoll.getBeginDate());
+ Assert.assertEquals(getServiceContext().getNow(), reloadedPoll.getBeginDate());
- Assert.assertNotNull(createdPoll.getCreator());
- Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
- Assert.assertNull(createdPoll.getCreator().getName());
- Assert.assertNull(createdPoll.getCreator().getEmail());
+// Assert.assertNotNull(createdPoll.getCreator());
+// Assert.assertNotNull(createdPoll.getCreator().getTopiaId());
+// Assert.assertNull(createdPoll.getCreator().getName());
+// Assert.assertNull(createdPoll.getCreator().getEmail());
// Assert.assertNull(createdPoll.getComment());
// Assert.assertNull(createdPoll.getVote());
- List<Choice> createdChoices = choiceService.getChoices(createdPoll.getTopiaId());
+ List<ChoiceBean> createdChoices = choiceService.getChoices(createdPoll.getId());
Assert.assertNotNull(createdChoices);
Assert.assertEquals(2, createdChoices.size());
- Choice createdChoice1 = createdChoices.get(0);
+ ChoiceBean createdChoice1 = createdChoices.get(0);
Assert.assertNotNull(createdChoice1);
- Assert.assertNotNull(createdChoice1.getTopiaId());
+ Assert.assertNotNull(createdChoice1.getId());
- Choice reloadedChoice1 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice1.getTopiaId());
+ ChoiceBean reloadedChoice1 = choiceService.getChoice(createdPoll.getId(), createdChoice1.getId());
Assert.assertEquals(createdChoice1, reloadedChoice1);
Assert.assertEquals(choice1.getName(), createdChoice1.getName());
Assert.assertEquals(choice1.getDescription(), createdChoice1.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice1.getCreator());
+// Assert.assertEquals(createdPoll.getCreator(), createdChoice1.getCreator());
- Choice createdChoice2 = createdChoices.get(1);
+ ChoiceBean createdChoice2 = createdChoices.get(1);
Assert.assertNotNull(createdChoice2);
- Assert.assertNotNull(createdChoice2.getTopiaId());
+ Assert.assertNotNull(createdChoice2.getId());
- Choice reloadedChoice2 = choiceService.getChoice(createdPoll.getTopiaId(), createdChoice2.getTopiaId());
+ ChoiceBean reloadedChoice2 = choiceService.getChoice(createdPoll.getId(), createdChoice2.getId());
Assert.assertEquals(createdChoice2, reloadedChoice2);
Assert.assertEquals(choice2.getName(), createdChoice2.getName());
Assert.assertEquals(choice2.getDescription(), createdChoice2.getDescription());
- Assert.assertEquals(createdPoll.getCreator(), createdChoice2.getCreator());
+// Assert.assertEquals(createdPoll.getCreator(), createdChoice2.getCreator());
- List<VoterList> createdVoterLists = voterListService.getVoterLists(createdPoll.getTopiaId());
+ List<VoterListBean> createdVoterLists = voterListService.getVoterLists(createdPoll.getId());
Assert.assertNotNull(createdVoterLists);
Assert.assertEquals(1, createdVoterLists.size());
- VoterList createdVoterList = createdVoterLists.get(0);
+ VoterListBean createdVoterList = createdVoterLists.get(0);
Assert.assertNotNull(createdVoterList);
- Assert.assertNotNull(createdVoterList.getTopiaId());
+ Assert.assertNotNull(createdVoterList.getId());
- VoterList reloadedVoterList = voterListService.getVoterList(createdPoll.getTopiaId(), createdVoterList.getTopiaId());
+ VoterListBean reloadedVoterList = voterListService.getVoterList(createdPoll.getId(), createdVoterList.getId());
Assert.assertEquals(createdVoterList, reloadedVoterList);
Assert.assertEquals(voterList.getName(), createdVoterList.getName());
Assert.assertEquals(voterList.getWeight(), createdVoterList.getWeight(), 0);
Assert.assertNotNull(createdVoterList.getMember());
- Assert.assertEquals(2, createdVoterList.sizeMember());
+ Assert.assertEquals(2, createdVoterList.getMember().size());
// VoterListMember createdVoterListMember1 = Iterables.get(createdVoterList.getMember(), 0);
//
Modified: trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java
===================================================================
--- trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java 2014-05-15 16:12:07 UTC (rev 3953)
+++ trunk/pollen-services/src/test/java/org/chorem/pollen/services/service/PollenUserServiceTest.java 2014-05-16 09:35:44 UTC (rev 3954)
@@ -25,9 +25,9 @@
import org.apache.commons.collections4.CollectionUtils;
import org.chorem.pollen.persistence.entity.PollenUser;
-import org.chorem.pollen.persistence.entity.PollenUsers;
import org.chorem.pollen.services.AbstractPollenServiceTest;
-import org.chorem.pollen.services.service.security.PollenInvalidEmailActivationTokenException;
+import org.chorem.pollen.services.bean.CreateBeanRef;
+import org.chorem.pollen.services.bean.PollenUserBean;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -64,7 +64,7 @@
@Test
public void testGetPollenUsers() {
- List<PollenUser> users = service.getUsers();
+ List<PollenUserBean> users = service.getUsers();
Assert.assertNotNull(users);
Assert.assertTrue(CollectionUtils.isNotEmpty(users));
@@ -80,32 +80,34 @@
Assert.assertTrue(true);
}
- PollenUser user = service.getUser(this.user.getTopiaId());
+ PollenUserBean user = service.getUser(this.user.getTopiaId());
Assert.assertNotNull(user);
- Assert.assertEquals(this.user, user);
+ Assert.assertEquals(this.user, user.toEntity());
}
@Test
public void testCreatePollenUser() throws InvalidFormException {
try {
- service.createUser(user, false);
+ PollenUserBean u = new PollenUserBean();
+ u.fromEntity(user);
+ service.createUser(u, false);
Assert.fail();
} catch (IllegalStateException e) {
// Should having id
Assert.assertTrue(true);
}
- PollenUser newUser = getServiceContext().getPersistenceContext().getPollenUserDao().newInstance();
+ PollenUserBean newUser = new PollenUserBean();
newUser.setLogin("pollen");
newUser.setEmail("pollen(a)pollen.org");
- PollenUser savedUser = service.createUser(newUser, true);
+ CreateBeanRef savedUser = service.createUser(newUser, true);
Assert.assertNotNull(savedUser);
- Assert.assertNotNull(savedUser.getTopiaId());
+ Assert.assertNotNull(savedUser.getId());
- PollenUser newUser2 = getServiceContext().getPersistenceContext().getPollenUserDao().newInstance();
+ PollenUserBean newUser2 = new PollenUserBean();
newUser2.setLogin("pollen");
newUser2.setEmail("pollen(a)pollen.org");
@@ -128,20 +130,20 @@
}
newUser2.setEmail("pollen2(a)pollen.org");
- PollenUser savedUser2 = service.createUser(newUser2, true);
+ CreateBeanRef savedUser2 = service.createUser(newUser2, true);
Assert.assertNotNull(savedUser2);
- Assert.assertNotNull(savedUser2.getTopiaId());
+ Assert.assertNotNull(savedUser2.getId());
}
@Test
public void testEditUser() throws InvalidFormException {
- PollenUser user = service.getUser(this.user.getTopiaId());
+ PollenUserBean user = service.getUser(this.user.getTopiaId());
Assert.assertNotNull(user);
- Assert.assertNull(user.getEmailActivationToken());
+// Assert.assertNull(user.getEmailActivationToken());
- getServiceContext().getPersistenceContext().getHibernateSupport().getHibernateSession().evict(user);
+// getServiceContext().getPersistenceContext().getHibernateSupport().getHibernateSession().evict(user);
String originalLogin = user.getLogin();
@@ -160,47 +162,47 @@
user.setPassword("fake");
service.editUser(user);
- PollenUser savedUser = service.getUser(user.getTopiaId());
+ PollenUserBean savedUser = service.getUser(user.getId());
Assert.assertNotNull(savedUser);
Assert.assertEquals(originalLogin, savedUser.getLogin());
Assert.assertEquals(email, savedUser.getEmail());
- Assert.assertNotNull(savedUser.getEmailActivationToken());
+// Assert.assertNotNull(savedUser.getEmailActivationToken());
}
- @Test
- public void testValidateEmail() throws PollenInvalidEmailActivationTokenException, InvalidFormException {
-
- PollenUser user = service.getUser0(this.user.getTopiaId());
- Assert.assertNotNull(user);
- Assert.assertNull(user.getEmailActivationToken());
-
- getServiceContext().getPersistenceContext().getHibernateSupport().getHibernateSession().evict(user);
-
- String email = "tony(a)pollen.org";
- user.setEmail(email);
- user.setPassword("fake");
-
- service.editUser(user);
-
- PollenUser savedUser = service.getUser(user.getTopiaId());
- Assert.assertNotNull(savedUser);
-
- Assert.assertEquals(email, savedUser.getEmail());
- Assert.assertNotNull(savedUser.getEmailActivationToken());
-
- try {
- service.validateUserEmail(user.getTopiaId(), "fakeToken");
- Assert.fail();
- } catch (PollenInvalidEmailActivationTokenException e) {
- Assert.assertTrue(true);
- }
-
- Assert.assertFalse(PollenUsers.isEmailActivated(savedUser));
-
- service.validateUserEmail(user.getTopiaId(), savedUser.getEmailActivationToken().getToken());
-
- PollenUser reloadedUser = service.getUser(this.user.getTopiaId());
- Assert.assertTrue(PollenUsers.isEmailActivated(reloadedUser));
-
- }
+// @Test
+// public void testValidateEmail() throws PollenInvalidEmailActivationTokenException, InvalidFormException {
+//
+// PollenUserBean user = service.getUser(this.user.getTopiaId());
+// Assert.assertNotNull(user);
+// Assert.assertNull(user.getEmailActivationToken());
+//
+// getServiceContext().getPersistenceContext().getHibernateSupport().getHibernateSession().evict(user);
+//
+// String email = "tony(a)pollen.org";
+// user.setEmail(email);
+// user.setPassword("fake");
+//
+// service.editUser(user);
+//
+// PollenUserBean savedUser = service.getUser(user.getId());
+// Assert.assertNotNull(savedUser);
+//
+// Assert.assertEquals(email, savedUser.getEmail());
+//// Assert.assertNotNull(savedUser.getEmailActivationToken());
+//
+// try {
+// service.validateUserEmail(user.getId(), "fakeToken");
+// Assert.fail();
+// } catch (PollenInvalidEmailActivationTokenException e) {
+// Assert.assertTrue(true);
+// }
+//
+// Assert.assertFalse(PollenUsers.isEmailActivated(savedUser));
+//
+// service.validateUserEmail(user.getId(), savedUser.getEmailActivationToken().getToken());
+//
+// PollenUserBean reloadedUser = service.getUser(this.user.getTopiaId());
+// Assert.assertTrue(PollenUsers.isEmailActivated(reloadedUser));
+//
+// }
}
1
0