Commit 6a16b7ed by Liv Haapala

Merge branch 'vectorama2014api' of gitlab.codecrew.fi:jkj/moya into vectorama2014api

2 parents f669ef0b 59302d14
...@@ -15,3 +15,4 @@ ...@@ -15,3 +15,4 @@
moya-git.properties moya-git.properties
*/*/bin */*/bin
pom.xml.versionsBackup pom.xml.versionsBackup
.idea/
\ No newline at end of file
...@@ -96,7 +96,6 @@ import fi.codecrew.moya.utilities.PasswordFunctions; ...@@ -96,7 +96,6 @@ import fi.codecrew.moya.utilities.PasswordFunctions;
import fi.codecrew.moya.utilities.SearchQuery; import fi.codecrew.moya.utilities.SearchQuery;
import fi.codecrew.moya.utilities.SearchResult; import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.moyamessage.MoyaEventType; import fi.codecrew.moya.utilities.moyamessage.MoyaEventType;
import scala.tools.cmd.Spec;
@LocalBean @LocalBean
@Stateless @Stateless
...@@ -268,13 +267,13 @@ public class UserBean implements UserBeanLocal { ...@@ -268,13 +267,13 @@ public class UserBean implements UserBeanLocal {
return checkedRoles; return checkedRoles;
} }
private static void addRecursive(Set<Role> checkedRoles, Collection<Role> roles) { private void addRecursive(Set<Role> checkedRoles, Collection<Role> roles) {
for (Role r : roles) { for (Role r : roles) {
addRecursive(checkedRoles, r); addRecursive(checkedRoles, r);
} }
} }
private static void addRecursive(Set<Role> checkedRoles, Role role) { private void addRecursive(Set<Role> checkedRoles, Role role) {
if (role == null || checkedRoles.contains(role)) { if (role == null || checkedRoles.contains(role)) {
return; return;
} }
......
...@@ -138,14 +138,36 @@ ...@@ -138,14 +138,36 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.wordnik</groupId> <groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.11</artifactId> <artifactId>swagger-jersey2-jaxrs_2.11</artifactId>
<version>${swagger.version}</version> <version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.wordnik</groupId> <groupId>com.wordnik</groupId>
<artifactId>swagger-servlet_2.11</artifactId> <artifactId>swagger-servlet_2.11</artifactId>
<version>${swagger.version}</version> <version>${swagger.version}</version>
</dependency> </dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.17</version>
<scope>provided</scope>
</dependency>
</dependencies> </dependencies>
<parent> <parent>
......
...@@ -27,27 +27,16 @@ ...@@ -27,27 +27,16 @@
<h2>Card</h2> <h2>Card</h2>
<h:form> <h:form>
<p:panelGrid columns="2"> <p:panelGrid columns="2">
<h:outputText value="#{i18n['card.name']}" /> <h:outputText value="#{i18n['printedCard.template']}" />
<h:outputText value="#{userView.printedCard.template.name}" /> <h:outputText value="#{userView.printedCard.template.name}" />
<h:outputText value="#{i18n['printedCard.cardState']}"/>: <h:outputText value="#{i18n['printedCard.cardState']}"/>
<h:outputText value="#{userView.printedCard.cardState}"/> <p:selectOneButton value="#{userView.printedCard.cardState}"
valueChangeListener="#{userView.cardStateChangeListener}">
<p:commandButton id="setPendingButton" value="#{i18n['printedCard.setState.pending']}"
actionListener="#{userCartView.setPendingListener}"/>
<p:commandButton id="setRejectedButton" value="#{i18n['printedCard.setState.rejected']}"/>
<p:commandButton id="setValidatedButton" value="#{i18n['printedCard.setState.validated']}"/>
<p:commandButton id="setDeliveredButton" value="#{i18n['printedCard.setState.delivered']}"/>
<!--
<h:selectOneMenu value="#{userView.printedCard.cardState}">
<f:selectItems value="#{userView.printedCardStates}" /> <f:selectItems value="#{userView.printedCardStates}" />
</h:selectOneMenu> <f:ajax/>
<h:commandButton action="#{userView.setCardState()}" value="#{i18n['printedCard.setState']}" /> </p:selectOneButton>
-->
</p:panelGrid> </p:panelGrid>
</h:form> </h:form>
</ui:fragment> </ui:fragment>
......
...@@ -18,23 +18,52 @@ ...@@ -18,23 +18,52 @@
*/ */
package fi.codecrew.moya.rest; package fi.codecrew.moya.rest;
import com.wordnik.swagger.config.ScannerFactory;
import com.wordnik.swagger.jaxrs.config.BeanConfig;
import com.wordnik.swagger.jaxrs.config.ReflectiveJaxrsScanner;
import com.wordnik.swagger.jaxrs.reader.DefaultJaxrsApiReader;
import com.wordnik.swagger.jersey.JerseyApiReader;
import com.wordnik.swagger.jersey.listing.ApiListingResourceJSON;
import com.wordnik.swagger.jersey.listing.JerseyApiDeclarationProvider;
import com.wordnik.swagger.jersey.listing.JerseyResourceListingProvider;
import com.wordnik.swagger.reader.ClassReaders;
import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.server.ResourceConfig;
import javax.servlet.annotation.MultipartConfig;
import javax.ws.rs.ApplicationPath; import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
@ApplicationPath(RestApplicationEntrypoint.REST_PATH) @ApplicationPath(RestApplicationEntrypoint.REST_PATH)
public class RestApplicationEntrypoint extends ResourceConfig { public class RestApplicationEntrypoint extends ResourceConfig {
public static final String REST_PATH = "/rest"; public static final String REST_PATH = "/rest";
private static final String BASE_URL = "/MoyaWeb";
private static final String API_RESOURCE_PACKAGE = "fi.codecrew.moya.rest";
public RestApplicationEntrypoint() { public RestApplicationEntrypoint() {
packages("fi.codecrew.moya.rest");
// swagger
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setBasePath(BASE_URL + REST_PATH);
beanConfig.setResourcePackage(API_RESOURCE_PACKAGE);
beanConfig.setScan(true);
register(beanConfig);
//ReflectiveJaxrsScanner scanner = new ReflectiveJaxrsScanner();
//scanner.setResourcePackage(API_RESOURCE_PACKAGE);
//ScannerFactory.setScanner(scanner);
//ClassReaders.setReader(new JerseyApiReader());
//ClassReaders.setReader(new DefaultJaxrsApiReader());
register(ApiListingResourceJSON.class);
register(JerseyApiDeclarationProvider.class);
register(JerseyResourceListingProvider.class);
// mime multipart image uploads
register(MultiPartFeature.class); register(MultiPartFeature.class);
// packages to scan
packages("com.wordnik.swagger.jaxrs.json", "fi.codecrew.moya.rest");
} }
} }
package fi.codecrew.moya.rest.v2.pojo; package fi.codecrew.moya.rest.v2.pojo;
import com.wordnik.swagger.annotations.ApiModel;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date; import java.util.Date;
/** /**
* Created by jkj on 2015-05-31. * Created by jkj on 2015-05-31.
*/ */
@XmlRootElement @XmlRootElement()
@ApiModel(description = "User")
public class UserPojo { public class UserPojo {
public enum UserGender { public enum UserGender {
......
package fi.codecrew.moya.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.wordnik.swagger.config.ConfigFactory;
import com.wordnik.swagger.config.ScannerFactory;
import com.wordnik.swagger.config.SwaggerConfig;
import com.wordnik.swagger.jaxrs.config.ReflectiveJaxrsScanner;
import com.wordnik.swagger.jaxrs.reader.DefaultJaxrsApiReader;
import com.wordnik.swagger.reader.ClassReaders;
import fi.codecrew.moya.rest.RestApplicationEntrypoint;
@WebServlet(name = "SwaggerJaxrsConfig", loadOnStartup = 1, description = "Configure Swaggered API documentation")
public class SwaggerJaxrsConfig extends HttpServlet {
private static final long serialVersionUID = 35868122371671912L;
private static final Logger log = LoggerFactory.getLogger(SwaggerJaxrsConfig.class);
private static final String BASE_URL = "/MoyaWeb";
private static final String API_RESOURCE_PACKAGE = "fi.codecrew.moya.rest";
@Override
public void init() throws ServletException {
log.info("Initializing Swagger configuration servlet");
try {
// Configure basic API settings shown in API doc JSON.
SwaggerConfig swaggerConfig = new SwaggerConfig();
swaggerConfig.setBasePath(BASE_URL + RestApplicationEntrypoint.REST_PATH);
swaggerConfig.setApiVersion("1.0.0");
ConfigFactory.setConfig(swaggerConfig);
// Configure scanning for API annotations in desired packaget
// ServletScanner scanner = new ServletScanner();
// scanner.setResourcePackage(API_RESOURCE_PACKAGE);
// DefaultJaxrsScanner scanner = new DefaultJaxrsScanner();
ReflectiveJaxrsScanner scanner = new ReflectiveJaxrsScanner();
scanner.setResourcePackage(API_RESOURCE_PACKAGE);
ScannerFactory.setScanner(scanner);
// Reads annotations from the scanned classes.
ClassReaders.setReader(new DefaultJaxrsApiReader());
log.info("Initializing Swagger configuration succeeded.");
} catch (Exception e) {
log.error("Initializing Swagger configuration failed", e);
}
}
@Override
public void destroy() {
log.info("Destroying Swagger configuration servlet");
}
}
...@@ -29,6 +29,8 @@ import javax.enterprise.context.ConversationScoped; ...@@ -29,6 +29,8 @@ import javax.enterprise.context.ConversationScoped;
import javax.enterprise.inject.Produces; import javax.enterprise.inject.Produces;
import javax.faces.application.FacesMessage; import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import javax.json.JsonObject; import javax.json.JsonObject;
...@@ -657,4 +659,8 @@ public class UserView extends GenericCDIView { ...@@ -657,4 +659,8 @@ public class UserView extends GenericCDIView {
this.emailCheck = emailCheck; this.emailCheck = emailCheck;
} }
public void cardStateChangeListener(ValueChangeEvent valueChange) {
logger.debug("PrintedCard state changed from {} to {}", valueChange.getOldValue(), valueChange.getNewValue());
cardBean.saveCard(printedCard);
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!