From 8d5386be38db25a2a41c3bf6c876adee21ca26cc Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Fri, 19 Sep 2014 08:26:02 +0000
Subject: [PATCH] #396 fix - Fixed more SonarQube issues
---
securis/src/main/java/net/curisit/securis/RestServicesApplication.java | 18
securis/src/main/java/net/curisit/securis/services/ApiResource.java | 36
securis/src/main/java/net/curisit/securis/db/User.java | 292 +-
securis/src/main/java/net/curisit/securis/db/Application.java | 88
securis/src/main/java/net/curisit/securis/services/ApplicationResource.java | 195 +-
securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java | 243 +-
securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java | 50
securis/src/main/java/net/curisit/securis/utils/TokenHelper.java | 211 +-
securis/src/main/java/net/curisit/securis/security/Securable.java | 16
securis/src/main/java/net/curisit/securis/utils/CacheTTL.java | 184 +
securis/src/main/java/net/curisit/securis/db/LicenseHistory.java | 131
securis/src/main/java/net/curisit/securis/services/LicenseResource.java | 525 ++--
securis/src/patch/java/net/curisit/securis/LicenseGenerator.java | 208 +-
securis/src/main/java/net/curisit/securis/db/LicenseType.java | 133
securis/src/main/java/net/curisit/securis/services/OrganizationResource.java | 392 ++--
securis/src/main/java/net/curisit/securis/AuthFilter.java | 103
securis/src/main/java/net/curisit/securis/MainApp.java | 105
securis/src/main/java/net/curisit/securis/services/BasicServices.java | 149
securis/src/main/java/net/curisit/securis/db/Pack.java | 358 +-
securis/src/main/java/net/curisit/securis/services/PackResource.java | 327 +-
securis/src/main/java/net/curisit/securis/services/LicenseServices.java | 148
securis/src/main/java/net/curisit/securis/db/License.java | 434 ++--
securis/src/main/java/net/curisit/securis/db/Organization.java | 236 +-
securis/src/main/java/net/curisit/securis/services/UserResource.java | 354 +-
securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java | 121
securis/src/main/java/net/curisit/securis/ioc/RequestsModule.java | 41
securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java | 238 +-
securis/src/main/java/net/curisit/securis/dao/UserDao.java | 39
securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java | 156
securis/src/main/java/net/curisit/securis/services/exception/SeCurisServiceException.java | 20
30 files changed, 2,756 insertions(+), 2,795 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/AuthFilter.java b/securis/src/main/java/net/curisit/securis/AuthFilter.java
index d9659e3..ac5dc93 100644
--- a/securis/src/main/java/net/curisit/securis/AuthFilter.java
+++ b/securis/src/main/java/net/curisit/securis/AuthFilter.java
@@ -18,72 +18,69 @@
import org.apache.logging.log4j.LogManager;
-
@Singleton
@WebFilter(urlPatterns = "/*")
public class AuthFilter implements Filter {
- private static final Logger LOG = LogManager.getLogger(AuthFilter.class);
+ private static final Logger LOG = LogManager.getLogger(AuthFilter.class);
- @Override
- public void init(FilterConfig fc) throws ServletException {
- }
+ @Override
+ public void init(FilterConfig fc) throws ServletException {}
- @Override
- public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException {
- HttpServletRequest req = (HttpServletRequest) sr;
+ @Override
+ public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException {
+ HttpServletRequest req = (HttpServletRequest) sr;
- // System.out.println("filter: " + req.getRequestURI() + " user: " + sr.getParameter("user"));
- if (sr.getParameter("user") != null || req.getSession().getAttribute("user") != null) {
- String username = sr.getParameter("user");
- if (username == null)
- username = (String) req.getSession().getAttribute("user");
- String role = username.equals("advance") ? "advance" : "normal";
- // ResteasyProviderFactory.pushContext(User.class, new User(sr.getParameter("user")));
- LOG.info("Role for user: {} = {}", username, role);
- fc.doFilter(new UserRoleRequestWrapper(role, sr.getParameter("user"), req), sr1);
- } else {
- fc.doFilter(req, sr1);
- }
+ if (sr.getParameter("user") != null || req.getSession().getAttribute("user") != null) {
+ String username = sr.getParameter("user");
+ if (username == null) {
+ username = (String) req.getSession().getAttribute("user");
+ }
+ // TODO: role management is temporal
+ String role = "advance".equals(username) ? "advance" : "normal";
+ LOG.info("Role for user: {} = {}", username, role);
+ fc.doFilter(new UserRoleRequestWrapper(role, sr.getParameter("user"), req), sr1);
+ } else {
+ fc.doFilter(req, sr1);
+ }
- }
+ }
- @Override
- public void destroy() {
- }
+ @Override
+ public void destroy() {}
- private class UserRoleRequestWrapper extends HttpServletRequestWrapper {
+ private class UserRoleRequestWrapper extends HttpServletRequestWrapper {
- private String role;
- private String user;
+ private String role;
+ private String user;
- public UserRoleRequestWrapper(String role, String user, HttpServletRequest request) {
- super(request);
- this.role = role;
- this.user = user;
- }
+ public UserRoleRequestWrapper(String role, String user, HttpServletRequest request) {
+ super(request);
+ this.role = role;
+ this.user = user;
+ }
- @Override
- public boolean isUserInRole(String role) {
- LOG.info("isUserRole METHOD: {}, {}", role, this.role);
- if (this.role == null) {
- return super.isUserInRole(role);
- }
- return this.role.equals(role);
- }
+ @Override
+ public boolean isUserInRole(String role) {
+ LOG.info("isUserRole METHOD: {}, {}", role, this.role);
+ if (this.role == null) {
+ return super.isUserInRole(role);
+ }
+ return this.role.equals(role);
+ }
- @Override
- public Principal getUserPrincipal() {
- if (this.user == null) {
- return super.getUserPrincipal();
- }
+ @Override
+ public Principal getUserPrincipal() {
+ if (this.user == null) {
+ return super.getUserPrincipal();
+ }
- return new Principal() {
- @Override
- public String getName() {
- return user;
- }
- };
- }
- }
+ return new Principal() {
+ @Override
+ public String getName() {
+ return user;
+ }
+ };
+ }
+ }
}
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
index b7c52bd..c933878 100644
--- a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
+++ b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
@@ -17,34 +17,36 @@
@Provider
public class DefaultExceptionHandler implements ExceptionMapper<Exception> {
- private static final Logger LOG = LogManager.getLogger(DefaultExceptionHandler.class);
+ private static final Logger LOG = LogManager.getLogger(DefaultExceptionHandler.class);
- public static final String ERROR_MESSAGE_HEADER = "X-SECURIS-ERROR";
+ public static final String ERROR_MESSAGE_HEADER = "X-SECURIS-ERROR";
- public DefaultExceptionHandler() {
- LOG.info("Creating DefaultExceptionHandler ");
- }
+ public DefaultExceptionHandler() {
+ LOG.info("Creating DefaultExceptionHandler ");
+ }
- @Context
- HttpServletRequest request;
- @Context
- SecurityContext bsc;
+ @Context
+ HttpServletRequest request;
+ @Context
+ SecurityContext bsc;
- @Override
- public Response toResponse(Exception e) {
- if (e instanceof ForbiddenException) {
- LOG.warn("Unauthorized access to {}, user: {}", request.getPathInfo(), bsc.getUserPrincipal());
- return Response.status(Status.UNAUTHORIZED).header(ERROR_MESSAGE_HEADER, "Unathorized access to the application").type(MediaType.APPLICATION_JSON).build();
- }
+ @Override
+ public Response toResponse(Exception e) {
+ if (e instanceof ForbiddenException) {
+ LOG.warn("Unauthorized access to {}, user: {}", request.getPathInfo(), bsc.getUserPrincipal());
+ return Response.status(Status.UNAUTHORIZED).header(ERROR_MESSAGE_HEADER, "Unathorized access to the application")
+ .type(MediaType.APPLICATION_JSON).build();
+ }
- if (e instanceof SeCurisServiceException) {
- LOG.warn("SeCurisServiceException accessing to {}, user: {}", request.getPathInfo(), bsc.getUserPrincipal());
- return Response.status(Status.fromStatusCode(((SeCurisServiceException) e).getStatus())).header(ERROR_MESSAGE_HEADER, e.getMessage()).type(MediaType.APPLICATION_JSON).build();
- }
+ if (e instanceof SeCurisServiceException) {
+ LOG.warn("SeCurisServiceException accessing to {}, user: {}", request.getPathInfo(), bsc.getUserPrincipal());
+ return Response.status(Status.fromStatusCode(((SeCurisServiceException) e).getStatus())).header(ERROR_MESSAGE_HEADER, e.getMessage())
+ .type(MediaType.APPLICATION_JSON).build();
+ }
- LOG.error("Unexpected error accesing to '{}' by user: {}", request.getPathInfo(), bsc.getUserPrincipal());
- LOG.error("Request sent from {}, with User-Agent: {}", request.getRemoteHost(), request.getHeader("User-Agent"));
- LOG.error("Request url: " + request.getRequestURL(), e);
- return Response.serverError().header(ERROR_MESSAGE_HEADER, "Unexpected error: " + e.toString()).type(MediaType.APPLICATION_JSON).build();
- }
+ LOG.error("Unexpected error accesing to '{}' by user: {}", request.getPathInfo(), bsc.getUserPrincipal());
+ LOG.error("Request sent from {}, with User-Agent: {}", request.getRemoteHost(), request.getHeader("User-Agent"));
+ LOG.error("Request url: " + request.getRequestURL(), e);
+ return Response.serverError().header(ERROR_MESSAGE_HEADER, "Unexpected error: " + e.toString()).type(MediaType.APPLICATION_JSON).build();
+ }
}
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index d642451..cb1bf16 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -32,76 +32,65 @@
public class MainApp {
- private static final Logger LOG = LogManager.getLogger(MainApp.class);
+ private static final Logger LOG = LogManager.getLogger(MainApp.class);
- private static Server server;
- private static Injector injector = null;
+ private static Server server;
+ private static Injector injector = null;
- @Inject
- @Named("base-uri")
- private URI uri;
+ @Inject
+ @Named("base-uri")
+ private URI uri;
- public static void main(String[] args) throws Exception {
- LOG.info("SeCuris init...");
+ public static void main(String[] args) throws Exception {
+ LOG.info("SeCuris init...");
- SecurisModule securisModule = new SecurisModule();
- JpaPersistModule jpaPersistModule = new JpaPersistModule("localdb");
- Properties props = new Properties();
- props.put("javax.persistence.jdbc.password", securisModule.getPassword());
- props.put("javax.persistence.jdbc.url", securisModule.getUrl(securisModule.getAppDir()));
- LOG.info("BD Url: {} {}", securisModule.getUrl(securisModule.getAppDir()), securisModule.getPassword());
- jpaPersistModule.properties(props);
+ SecurisModule securisModule = new SecurisModule();
+ JpaPersistModule jpaPersistModule = new JpaPersistModule("localdb");
+ Properties props = new Properties();
+ props.put("javax.persistence.jdbc.password", securisModule.getPassword());
+ props.put("javax.persistence.jdbc.url", securisModule.getUrl(securisModule.getAppDir()));
+ LOG.info("BD Url: {} {}", securisModule.getUrl(securisModule.getAppDir()), securisModule.getPassword());
+ jpaPersistModule.properties(props);
- injector = Guice.createInjector(securisModule, new RequestsModule(), jpaPersistModule);
- // injector.getInstance(JpaInitializer.class);
+ injector = Guice.createInjector(securisModule, new RequestsModule(), jpaPersistModule);
- startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
- while (true) {
- Thread.currentThread().sleep(100);
- }
- }
+ startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
+ while (true) {
+ Thread.currentThread().sleep(100);
+ }
+ }
- private static void startServer(URI uri) throws Exception {
- System.out.println("Starting jetty...");
+ private static void startServer(URI uri) throws Exception {
+ System.out.println("Starting jetty...");
- server = new Server(9997);
- ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
- context.setContextPath("/");
- context.addEventListener(injector.getInstance(GuiceResteasyBootstrapServletContextListener.class));
+ server = new Server(9997);
+ ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ context.setContextPath("/");
+ context.addEventListener(injector.getInstance(GuiceResteasyBootstrapServletContextListener.class));
- context.setInitParameter("resteasy.role.based.security", "true");
- context.setInitParameter("resteasy.providers", DefaultExceptionHandler.class.getName());
- // context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
- context.addFilter(new FilterHolder(injector.getInstance(PersistFilter.class)), "/*", null);
- ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
- sh.setName("resteasy");
- context.addServlet(sh, "/*");
+ context.setInitParameter("resteasy.role.based.security", "true");
+ context.setInitParameter("resteasy.providers", DefaultExceptionHandler.class.getName());
+ context.addFilter(new FilterHolder(injector.getInstance(PersistFilter.class)), "/*", null);
+ ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
+ sh.setName("resteasy");
+ context.addServlet(sh, "/*");
- ResourceHandler staticResources = new ResourceHandler();
- staticResources.setBaseResource(Resource.newResource(MainApp.class.getResource("/static").toURI()));
- staticResources.setWelcomeFiles(new String[]
- { "/main.html" });
- context.setHandler(staticResources);
+ ResourceHandler staticResources = new ResourceHandler();
+ staticResources.setBaseResource(Resource.newResource(MainApp.class.getResource("/static").toURI()));
+ staticResources.setWelcomeFiles(new String[] { "/main.html" });
+ context.setHandler(staticResources);
- ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
- context.setErrorHandler(errorHandler);
- // errorHandler.addErrorPage(HttpResponseCodes.SC_FORBIDDEN, "/login");
- // errorHandler.addErrorPage(HttpResponseCodes.SC_NOT_FOUND, "/");
- // errorHandler.addErrorPage(javax.ws.rs.NotFoundException.class, "/");
- // errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class, "/");
- // errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class.getCanonicalName(), "/");
- // errorHandler.addErrorPage(ErrorPageErrorHandler.GLOBAL_ERROR_PAGE, "/");
- LOG.info("Error Handlers: " + context.getErrorHandler());
- ContextHandlerCollection contexts = new ContextHandlerCollection();
+ ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
+ context.setErrorHandler(errorHandler);
+ LOG.info("Error Handlers: " + context.getErrorHandler());
+ ContextHandlerCollection contexts = new ContextHandlerCollection();
- contexts.setHandlers(new Handler[]
- { staticResources, context });
- // server.setHandler(contexts);
+ contexts.setHandlers(new Handler[] { staticResources, context });
- server.setHandler(context);
- server.start();
- server.join();
- LOG.info("Started server in: http://127.0.0.1:9997/");
- }
+ server.setHandler(context);
+ server.start();
+ server.join();
+ LOG.info("Started server in: http://127.0.0.1:9997/");
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/RestServicesApplication.java b/securis/src/main/java/net/curisit/securis/RestServicesApplication.java
index 8bf986d..d3fe65a 100644
--- a/securis/src/main/java/net/curisit/securis/RestServicesApplication.java
+++ b/securis/src/main/java/net/curisit/securis/RestServicesApplication.java
@@ -13,16 +13,16 @@
public class RestServicesApplication extends Application {
- private static final Logger LOG = LogManager.getLogger(RestServicesApplication.class);
+ private static final Logger LOG = LogManager.getLogger(RestServicesApplication.class);
- @Override
- public Set<Class<?>> getClasses() {
- Set<Class<?>> classes = new HashSet<>();
- classes.add(LicenseServices.class);
- classes.add(BasicServices.class);
+ @Override
+ public Set<Class<?>> getClasses() {
+ Set<Class<?>> classes = new HashSet<>();
+ classes.add(LicenseServices.class);
+ classes.add(BasicServices.class);
- LOG.info("Returnes classes for services: {}", classes);
- return classes;
- }
+ LOG.info("Returnes classes for services: {}", classes);
+ return classes;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/dao/UserDao.java b/securis/src/main/java/net/curisit/securis/dao/UserDao.java
index 3109302..13f153d 100644
--- a/securis/src/main/java/net/curisit/securis/dao/UserDao.java
+++ b/securis/src/main/java/net/curisit/securis/dao/UserDao.java
@@ -14,27 +14,26 @@
@Singleton
public class UserDao {
- @Inject
- public UserDao() {
- }
+ @Inject
+ public UserDao() {}
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- @com.google.inject.persist.Transactional
- public User test(String username) {
- EntityManager em = emProvider.get();
- User user = new User();
- user.setUsername(username);
- user.setFirstName("Rob");
- user.setPassword(Utils.sha256("rob"));
- user.setLang("en");
- user.setCreationTimestamp(new Date());
- user.setRoles(Arrays.asList(User.Rol.ADMIN, User.Rol.ADVANCE));
- user.setLastName("Sánchez");
- em.persist(user);
- User u2 = em.find(User.class, username);
- return u2;
- }
+ @com.google.inject.persist.Transactional
+ public User test(String username) {
+ EntityManager em = emProvider.get();
+ User user = new User();
+ user.setUsername(username);
+ user.setFirstName("Rob");
+ user.setPassword(Utils.sha256("rob"));
+ user.setLang("en");
+ user.setCreationTimestamp(new Date());
+ user.setRoles(Arrays.asList(User.Rol.ADMIN, User.Rol.ADVANCE));
+ user.setLastName("Sánchez");
+ em.persist(user);
+ User u2 = em.find(User.class, username);
+ return u2;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/Application.java b/securis/src/main/java/net/curisit/securis/db/Application.java
index 2273e91..30214aa 100644
--- a/securis/src/main/java/net/curisit/securis/db/Application.java
+++ b/securis/src/main/java/net/curisit/securis/db/Application.java
@@ -26,65 +26,65 @@
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@Entity
@Table(name = "application")
-@NamedQueries(
- { @NamedQuery(name = "list-applications", query = "SELECT a FROM Application a") })
+@NamedQueries({ @NamedQuery(name = "list-applications", query = "SELECT a FROM Application a") })
public class Application implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue
- private int id;
+ @Id
+ @GeneratedValue
+ private int id;
- private String name;
- private String description;
+ private String name;
+ private String description;
- @Column(name = "creation_timestamp")
- private Date creationTimestamp;
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
- @JsonIgnore
- // We don't include the referenced entities to limit the size of each row at the listing
- @OneToMany(fetch = FetchType.LAZY, mappedBy = "application")
- private Set<LicenseType> licenseTypes;
+ @JsonIgnore
+ // We don't include the referenced entities to limit the size of each row at
+ // the listing
+ @OneToMany(fetch = FetchType.LAZY, mappedBy = "application")
+ private Set<LicenseType> licenseTypes;
- public int getId() {
- return id;
- }
+ public int getId() {
+ return id;
+ }
- public void setId(int id) {
- this.id = id;
- }
+ public void setId(int id) {
+ this.id = id;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
- public void setName(String name) {
- this.name = name;
- }
+ public void setName(String name) {
+ this.name = name;
+ }
- public String getDescription() {
- return description;
- }
+ public String getDescription() {
+ return description;
+ }
- public void setDescription(String description) {
- this.description = description;
- }
+ public void setDescription(String description) {
+ this.description = description;
+ }
- public Date getCreationTimestamp() {
- return creationTimestamp;
- }
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
- public void setCreationTimestamp(Date creationTimestamp) {
- this.creationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
- public Set<LicenseType> getLicenseTypes() {
- return licenseTypes;
- }
+ public Set<LicenseType> getLicenseTypes() {
+ return licenseTypes;
+ }
- public void setLicenseTypes(Set<LicenseType> licenseTypes) {
- this.licenseTypes = licenseTypes;
- }
+ public void setLicenseTypes(Set<LicenseType> licenseTypes) {
+ this.licenseTypes = licenseTypes;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/License.java b/securis/src/main/java/net/curisit/securis/db/License.java
index 325a43a..5e21c88 100644
--- a/securis/src/main/java/net/curisit/securis/db/License.java
+++ b/securis/src/main/java/net/curisit/securis/db/License.java
@@ -35,284 +35,284 @@
@Entity
@Table(name = "license")
@JsonIgnoreProperties(ignoreUnknown = true)
-@NamedQueries(
- { @NamedQuery(name = "list-licenses-by-pack", query = "SELECT l FROM License l where l.pack.id = :packId") })
+@NamedQueries({ @NamedQuery(name = "list-licenses-by-pack", query = "SELECT l FROM License l where l.pack.id = :packId") })
public class License implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue
- private int id;
+ @Id
+ @GeneratedValue
+ private int id;
- private String code;
+ private String code;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "pack_id")
- private Pack pack;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "pack_id")
+ private Pack pack;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "created_by")
- private User createdBy;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "created_by")
+ private User createdBy;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "canceled_by")
- private User canceledBy;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "canceled_by")
+ private User canceledBy;
- private int status;
+ private int status;
- @Column(name = "full_name")
- @JsonProperty("full_name")
- private String fullName;
+ @Column(name = "full_name")
+ @JsonProperty("full_name")
+ private String fullName;
- private String email;
+ private String email;
- @Column(name = "request_data")
- @JsonProperty("request_data")
- private String requestData;
+ @Column(name = "request_data")
+ @JsonProperty("request_data")
+ private String requestData;
- @Column(name = "license_data")
- @JsonProperty("license_data")
- private String licenseData;
+ @Column(name = "license_data")
+ @JsonProperty("license_data")
+ private String licenseData;
- @Column(name = "creation_timestamp")
- private Date creationTimestamp;
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
- @Column(name = "modification_timestamp")
- private Date modificationTimestamp;
+ @Column(name = "modification_timestamp")
+ private Date modificationTimestamp;
- @Column(name = "last_access_timestamp")
- private Date lastAccessTimestamp;
+ @Column(name = "last_access_timestamp")
+ private Date lastAccessTimestamp;
- @Column(name = "expiration_date")
- private Date expirationDate;
+ @Column(name = "expiration_date")
+ private Date expirationDate;
- private String comments;
+ private String comments;
- @OneToMany(fetch = FetchType.LAZY, mappedBy = "license")
- private List<LicenseHistory> history;
+ @OneToMany(fetch = FetchType.LAZY, mappedBy = "license")
+ private List<LicenseHistory> history;
- public int getId() {
- return id;
- }
+ public int getId() {
+ return id;
+ }
- public String getCode() {
- return code;
- }
+ public String getCode() {
+ return code;
+ }
- public void setCode(String code) {
- this.code = code;
- }
+ public void setCode(String code) {
+ this.code = code;
+ }
- public Date getCreationTimestamp() {
- return creationTimestamp;
- }
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
- public void setCreationTimestamp(Date creationTimestamp) {
- this.creationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
- public User getCreatedBy() {
- return createdBy;
- }
+ public User getCreatedBy() {
+ return createdBy;
+ }
- public void setCreatedBy(User createdBy) {
- this.createdBy = createdBy;
- }
+ public void setCreatedBy(User createdBy) {
+ this.createdBy = createdBy;
+ }
- public Pack getPack() {
- return pack;
- }
+ public Pack getPack() {
+ return pack;
+ }
- public void setPack(Pack pack) {
- this.pack = pack;
- }
+ public void setPack(Pack pack) {
+ this.pack = pack;
+ }
- @JsonProperty("created_by_id")
- public String getCreatedById() {
- return createdBy == null ? null : createdBy.getUsername();
- }
+ @JsonProperty("created_by_id")
+ public String getCreatedById() {
+ return createdBy == null ? null : createdBy.getUsername();
+ }
- @JsonProperty("created_by_id")
- public void setCreatedById(String username) {
- if (username == null) {
- createdBy = null;
- } else {
- createdBy = new User();
- createdBy.setUsername(username);
- }
- }
+ @JsonProperty("created_by_id")
+ public void setCreatedById(String username) {
+ if (username == null) {
+ createdBy = null;
+ } else {
+ createdBy = new User();
+ createdBy.setUsername(username);
+ }
+ }
- @JsonProperty("canceled_by_id")
- public String getCanceledById() {
- return canceledBy == null ? null : canceledBy.getUsername();
- }
+ @JsonProperty("canceled_by_id")
+ public String getCanceledById() {
+ return canceledBy == null ? null : canceledBy.getUsername();
+ }
- @JsonProperty("canceled_by_id")
- public void setCanceledById(String username) {
- if (username == null) {
- canceledBy = null;
- } else {
- canceledBy = new User();
- canceledBy.setUsername(username);
- }
- }
+ @JsonProperty("canceled_by_id")
+ public void setCanceledById(String username) {
+ if (username == null) {
+ canceledBy = null;
+ } else {
+ canceledBy = new User();
+ canceledBy.setUsername(username);
+ }
+ }
- @JsonProperty("pack_code")
- public String getPackCode() {
- return pack == null ? null : pack.getCode();
- }
+ @JsonProperty("pack_code")
+ public String getPackCode() {
+ return pack == null ? null : pack.getCode();
+ }
- @JsonProperty("pack_id")
- public Integer getPackId() {
- return pack == null ? null : pack.getId();
- }
+ @JsonProperty("pack_id")
+ public Integer getPackId() {
+ return pack == null ? null : pack.getId();
+ }
- @JsonProperty("pack_id")
- public void setPackId(Integer idPack) {
- if (idPack == null) {
- pack = null;
- } else {
- pack = new Pack();
- pack.setId(idPack);
- }
- }
+ @JsonProperty("pack_id")
+ public void setPackId(Integer idPack) {
+ if (idPack == null) {
+ pack = null;
+ } else {
+ pack = new Pack();
+ pack.setId(idPack);
+ }
+ }
- public int getStatus() {
- return status;
- }
+ public int getStatus() {
+ return status;
+ }
- public void setStatus(int status) {
- this.status = status;
- }
+ public void setStatus(int status) {
+ this.status = status;
+ }
- public Date getModificationTimestamp() {
- return modificationTimestamp;
- }
+ public Date getModificationTimestamp() {
+ return modificationTimestamp;
+ }
- public void setModificationTimestamp(Date modificationTimestamp) {
- this.modificationTimestamp = modificationTimestamp;
- }
+ public void setModificationTimestamp(Date modificationTimestamp) {
+ this.modificationTimestamp = modificationTimestamp;
+ }
- public String getFullName() {
- return fullName;
- }
+ public String getFullName() {
+ return fullName;
+ }
- public void setFullName(String fullName) {
- this.fullName = fullName;
- }
+ public void setFullName(String fullName) {
+ this.fullName = fullName;
+ }
- public String getEmail() {
- return email;
- }
+ public String getEmail() {
+ return email;
+ }
- public void setEmail(String email) {
- this.email = email;
- }
+ public void setEmail(String email) {
+ this.email = email;
+ }
- public void setId(int id) {
- this.id = id;
- }
+ public void setId(int id) {
+ this.id = id;
+ }
- public User getCanceledBy() {
- return canceledBy;
- }
+ public User getCanceledBy() {
+ return canceledBy;
+ }
- public void setCanceledBy(User canceledBy) {
- this.canceledBy = canceledBy;
- }
+ public void setCanceledBy(User canceledBy) {
+ this.canceledBy = canceledBy;
+ }
- public Date getLastAccessTimestamp() {
- return lastAccessTimestamp;
- }
+ public Date getLastAccessTimestamp() {
+ return lastAccessTimestamp;
+ }
- public void setLastAccessTimestamp(Date lastAccessTimestamp) {
- this.lastAccessTimestamp = lastAccessTimestamp;
- }
+ public void setLastAccessTimestamp(Date lastAccessTimestamp) {
+ this.lastAccessTimestamp = lastAccessTimestamp;
+ }
- public String getRequestData() {
- return requestData;
- }
+ public String getRequestData() {
+ return requestData;
+ }
- public void setRequestData(String requestData) {
- this.requestData = requestData;
- }
+ public void setRequestData(String requestData) {
+ this.requestData = requestData;
+ }
- public String getLicenseData() {
- return licenseData;
- }
+ public String getLicenseData() {
+ return licenseData;
+ }
- public void setLicenseData(String licenseData) {
- this.licenseData = licenseData;
- }
+ public void setLicenseData(String licenseData) {
+ this.licenseData = licenseData;
+ }
- public String getComments() {
- return comments;
- }
+ public String getComments() {
+ return comments;
+ }
- public void setComments(String comments) {
- this.comments = comments;
- }
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
- public List<LicenseHistory> getHistory() {
- return history;
- }
+ public List<LicenseHistory> getHistory() {
+ return history;
+ }
- public void setHistory(List<LicenseHistory> history) {
- this.history = history;
- }
+ public void setHistory(List<LicenseHistory> history) {
+ this.history = history;
+ }
- public Date getExpirationDate() {
- return expirationDate;
- }
+ public Date getExpirationDate() {
+ return expirationDate;
+ }
- public void setExpirationDate(Date expirationDate) {
- this.expirationDate = expirationDate;
- }
+ public void setExpirationDate(Date expirationDate) {
+ this.expirationDate = expirationDate;
+ }
- public static class Action {
- public static final int CREATE = 1;
- public static final int REQUEST = 2;
- public static final int ACTIVATION = 3;
- public static final int SEND = 4;
- public static final int DOWNLOAD = 5;
- public static final int CANCEL = 6;
- public static final int DELETE = 7;
- }
+ public static class Action {
+ public static final int CREATE = 1;
+ public static final int REQUEST = 2;
+ public static final int ACTIVATION = 3;
+ public static final int SEND = 4;
+ public static final int DOWNLOAD = 5;
+ public static final int CANCEL = 6;
+ public static final int DELETE = 7;
+ }
- public static class Status {
- public static final int CREATED = 1;
- public static final int REQUESTED = 2;
- public static final int PREACTIVE = 3;
- public static final int ACTIVE = 4;
- public static final int EXPIRED = 5;
- public static final int CANCELED = 6;
- public static final int DELETED = 7;
+ public static class Status {
+ public static final int CREATED = 1;
+ public static final int REQUESTED = 2;
+ public static final int PREACTIVE = 3;
+ public static final int ACTIVE = 4;
+ public static final int EXPIRED = 5;
+ public static final int CANCELED = 6;
+ public static final int DELETED = 7;
- private static final Map<Integer, List<Integer>> transitions = Utils.createMap( //
- Action.REQUEST, Arrays.asList(CREATED, REQUESTED), //
- Action.ACTIVATION, Arrays.asList(REQUESTED, PREACTIVE, EXPIRED), //
- Action.SEND, Arrays.asList(ACTIVE, PREACTIVE), //
- Action.DOWNLOAD, Arrays.asList(ACTIVE, PREACTIVE), //
- Action.CANCEL, Arrays.asList(ACTIVE, PREACTIVE, REQUESTED, EXPIRED), //
- Action.DELETE, Arrays.asList(CANCELED, CREATED) //
+ private static final Map<Integer, List<Integer>> transitions = Utils.createMap( //
+ Action.REQUEST, Arrays.asList(CREATED, REQUESTED), //
+ Action.ACTIVATION, Arrays.asList(REQUESTED, PREACTIVE, EXPIRED), //
+ Action.SEND, Arrays.asList(ACTIVE, PREACTIVE), //
+ Action.DOWNLOAD, Arrays.asList(ACTIVE, PREACTIVE), //
+ Action.CANCEL, Arrays.asList(ACTIVE, PREACTIVE, REQUESTED, EXPIRED), //
+ Action.DELETE, Arrays.asList(CANCELED, CREATED) //
- );
+ );
- /**
- * It checks if a given action is valid for the License, passing the action and the current license status
- *
- * @param oldStatus
- * @param newStatus
- * @return
- */
- public static boolean isActionValid(Integer action, Integer currentStatus) {
- List<Integer> validStatuses = transitions.get(currentStatus);
+ /**
+ * It checks if a given action is valid for the License, passing the
+ * action and the current license status
+ *
+ * @param oldStatus
+ * @param newStatus
+ * @return
+ */
+ public static boolean isActionValid(Integer action, Integer currentStatus) {
+ List<Integer> validStatuses = transitions.get(currentStatus);
- return validStatuses != null && validStatuses.contains(currentStatus);
- }
- }
+ return validStatuses != null && validStatuses.contains(currentStatus);
+ }
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java b/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java
index 82d2537..970770b 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java
@@ -27,91 +27,90 @@
@Entity
@Table(name = "license_history")
@JsonIgnoreProperties(ignoreUnknown = true)
-@NamedQueries(
- { @NamedQuery(name = "list-license-history", query = "SELECT lh FROM LicenseHistory lh where lh.license.id = :licId") })
+@NamedQueries({ @NamedQuery(name = "list-license-history", query = "SELECT lh FROM LicenseHistory lh where lh.license.id = :licId") })
public class LicenseHistory implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue
- private int id;
+ @Id
+ @GeneratedValue
+ private int id;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "license_id")
- private License license;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "license_id")
+ private License license;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "username")
- private User user;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "username")
+ private User user;
- private String action;
- private String comments;
+ private String action;
+ private String comments;
- private Date timestamp;
+ private Date timestamp;
- public int getId() {
- return id;
- }
+ public int getId() {
+ return id;
+ }
- public License getLicense() {
- return license;
- }
+ public License getLicense() {
+ return license;
+ }
- public void setLicense(License license) {
- this.license = license;
- }
+ public void setLicense(License license) {
+ this.license = license;
+ }
- public User getUser() {
- return user;
- }
+ public User getUser() {
+ return user;
+ }
- @JsonProperty("username")
- public String getUsername() {
- return user == null ? null : user.getUsername();
- }
+ @JsonProperty("username")
+ public String getUsername() {
+ return user == null ? null : user.getUsername();
+ }
- public void setUser(User user) {
- this.user = user;
- }
+ public void setUser(User user) {
+ this.user = user;
+ }
- public String getAction() {
- return action;
- }
+ public String getAction() {
+ return action;
+ }
- public void setAction(String action) {
- this.action = action;
- }
+ public void setAction(String action) {
+ this.action = action;
+ }
- public String getComments() {
- return comments;
- }
+ public String getComments() {
+ return comments;
+ }
- public void setComments(String comments) {
- this.comments = comments;
- }
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
- public Date getTimestamp() {
- return timestamp;
- }
+ public Date getTimestamp() {
+ return timestamp;
+ }
- public void setTimestamp(Date timestamp) {
- this.timestamp = timestamp;
- }
+ public void setTimestamp(Date timestamp) {
+ this.timestamp = timestamp;
+ }
- public void setId(int id) {
- this.id = id;
- }
+ public void setId(int id) {
+ this.id = id;
+ }
- public static class Actions {
- public static final String CREATE = "creation";
- public static final String ADD_REQUEST = "request";
- public static final String SEND = "send";
- public static final String MODIFY = "modify";
- public static final String ACTIVATE = "activate";
- public static final String CANCEL = "cancel";
- public static final String DELETE = "delete";
- }
+ public static class Actions {
+ public static final String CREATE = "creation";
+ public static final String ADD_REQUEST = "request";
+ public static final String SEND = "send";
+ public static final String MODIFY = "modify";
+ public static final String ACTIVATE = "activate";
+ public static final String CANCEL = "cancel";
+ public static final String DELETE = "delete";
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseType.java b/securis/src/main/java/net/curisit/securis/db/LicenseType.java
index 40bf8a2..5112a5e 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseType.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseType.java
@@ -30,93 +30,92 @@
@JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "license_type")
-@NamedQueries(
- { @NamedQuery(name = "list-license_types", query = "SELECT lt FROM LicenseType lt") })
+@NamedQueries({ @NamedQuery(name = "list-license_types", query = "SELECT lt FROM LicenseType lt") })
public class LicenseType implements Serializable {
- private static final Logger LOG = LogManager.getLogger(LicenseType.class);
- private static final long serialVersionUID = 1L;
+ private static final Logger LOG = LogManager.getLogger(LicenseType.class);
+ private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue
- private int id;
+ @Id
+ @GeneratedValue
+ private int id;
- private String code;
- private String name;
- private String description;
+ private String code;
+ private String name;
+ private String description;
- @Column(name = "creation_timestamp")
- private Date creationTimestamp;
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "application_id")
- private Application application;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "application_id")
+ private Application application;
- public int getId() {
- return id;
- }
+ public int getId() {
+ return id;
+ }
- public void setId(Integer id) {
- this.id = id;
- }
+ public void setId(Integer id) {
+ this.id = id;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
- public void setName(String name) {
- this.name = name;
- }
+ public void setName(String name) {
+ this.name = name;
+ }
- public String getDescription() {
- return description;
- }
+ public String getDescription() {
+ return description;
+ }
- public void setDescription(String description) {
- this.description = description;
- }
+ public void setDescription(String description) {
+ this.description = description;
+ }
- public String getCode() {
- return code;
- }
+ public String getCode() {
+ return code;
+ }
- public void setCode(String code) {
- this.code = code;
- }
+ public void setCode(String code) {
+ this.code = code;
+ }
- public Application getApplication() {
- return application;
- }
+ public Application getApplication() {
+ return application;
+ }
- @JsonProperty("application_name")
- public String getParentOrgName() {
- return application == null ? null : application.getName();
- }
+ @JsonProperty("application_name")
+ public String getParentOrgName() {
+ return application == null ? null : application.getName();
+ }
- @JsonProperty("application_id")
- public Integer getApplicationId() {
- LOG.info("application " + application);
- return application == null ? null : application.getId();
- }
+ @JsonProperty("application_id")
+ public Integer getApplicationId() {
+ LOG.info("application " + application);
+ return application == null ? null : application.getId();
+ }
- @JsonProperty("application_id")
- public void setApplicationId(Integer appId) {
- LOG.info("setApplicationId(Integer appId) " + appId);
- application = new Application();
- application.setId(appId);
- }
+ @JsonProperty("application_id")
+ public void setApplicationId(Integer appId) {
+ LOG.info("setApplicationId(Integer appId) " + appId);
+ application = new Application();
+ application.setId(appId);
+ }
- public void setApplication(Application application) {
- this.application = application;
- }
+ public void setApplication(Application application) {
+ this.application = application;
+ }
- public Date getCreationTimestamp() {
- return creationTimestamp;
- }
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
- public void setCreationTimestamp(Date creationTimestamp) {
- this.creationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/Organization.java b/securis/src/main/java/net/curisit/securis/db/Organization.java
index 2dfbdf5..518cd1a 100644
--- a/securis/src/main/java/net/curisit/securis/db/Organization.java
+++ b/securis/src/main/java/net/curisit/securis/db/Organization.java
@@ -36,153 +36,153 @@
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@Entity
@Table(name = "organization")
-@NamedQueries(
- { @NamedQuery(name = "list-organizations", query = "SELECT o FROM Organization o"), @NamedQuery(name = "list-organizations-by-ids", query = "SELECT o FROM Organization o where id in :list_ids"),
- @NamedQuery(name = "find-children-org", query = "SELECT o FROM Organization o where o.parentOrganization = :parentOrganization") })
+@NamedQueries({ @NamedQuery(name = "list-organizations", query = "SELECT o FROM Organization o"),
+ @NamedQuery(name = "list-organizations-by-ids", query = "SELECT o FROM Organization o where id in :list_ids"),
+ @NamedQuery(name = "find-children-org", query = "SELECT o FROM Organization o where o.parentOrganization = :parentOrganization") })
public class Organization implements Serializable {
- @SuppressWarnings("unused")
- private static final Logger LOG = LogManager.getLogger(Organization.class);
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LogManager.getLogger(Organization.class);
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue
- private int id;
+ @Id
+ @GeneratedValue
+ private int id;
- private String code;
- private String name;
- private String description;
+ private String code;
+ private String name;
+ private String description;
- @Column(name = "creation_timestamp")
- private Date creationTimestamp;
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
- @JsonIgnore
- // We don't include the users to limit the size of each row a the listing
- @ManyToMany(cascade = CascadeType.REMOVE)
- @JoinTable(name = "user_organization", //
- joinColumns =
- { @JoinColumn(name = "organization_id", referencedColumnName = "id") }, //
- inverseJoinColumns =
- { @JoinColumn(name = "username", referencedColumnName = "username") })
- private List<User> users;
+ @JsonIgnore
+ // We don't include the users to limit the size of each row a the listing
+ @ManyToMany(cascade = CascadeType.REMOVE)
+ @JoinTable(name = "user_organization", //
+ joinColumns = { @JoinColumn(name = "organization_id", referencedColumnName = "id") }, //
+ inverseJoinColumns = { @JoinColumn(name = "username", referencedColumnName = "username") })
+ private List<User> users;
- @JsonIgnore
- // We don't include the users to limit the size of each row a the listing
- @ManyToOne
- @JoinColumn(name = "org_parent_id")
- private Organization parentOrganization;
+ @JsonIgnore
+ // We don't include the users to limit the size of each row a the listing
+ @ManyToOne
+ @JoinColumn(name = "org_parent_id")
+ private Organization parentOrganization;
- @JsonIgnore
- // We don't include the users to limit the size of each row a the listing
- @OneToMany(fetch = FetchType.LAZY, mappedBy = "parentOrganization")
- private Set<Organization> childOrganizations;
+ @JsonIgnore
+ // We don't include the users to limit the size of each row a the listing
+ @OneToMany(fetch = FetchType.LAZY, mappedBy = "parentOrganization")
+ private Set<Organization> childOrganizations;
- public int getId() {
- return id;
- }
+ public int getId() {
+ return id;
+ }
- public void setId(int id) {
- this.id = id;
- }
+ public void setId(int id) {
+ this.id = id;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
- public void setName(String name) {
- this.name = name;
- }
+ public void setName(String name) {
+ this.name = name;
+ }
- public String getDescription() {
- return description;
- }
+ public String getDescription() {
+ return description;
+ }
- public void setDescription(String description) {
- this.description = description;
- }
+ public void setDescription(String description) {
+ this.description = description;
+ }
- public String getCode() {
- return code;
- }
+ public String getCode() {
+ return code;
+ }
- public void setCode(String code) {
- this.code = code;
- }
+ public void setCode(String code) {
+ this.code = code;
+ }
- public Date getCreationTimestamp() {
- return creationTimestamp;
- }
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
- public void setCreationTimestamp(Date creationTimestamp) {
- this.creationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
- public List<User> getUsers() {
- return users;
- }
+ public List<User> getUsers() {
+ return users;
+ }
- public void setUsers(List<User> users) {
- this.users = users;
- }
+ public void setUsers(List<User> users) {
+ this.users = users;
+ }
- public Organization getParentOrganization() {
- return parentOrganization;
- }
+ public Organization getParentOrganization() {
+ return parentOrganization;
+ }
- public void setParentOrganization(Organization parentOrganization) {
- this.parentOrganization = parentOrganization;
- }
+ public void setParentOrganization(Organization parentOrganization) {
+ this.parentOrganization = parentOrganization;
+ }
- // Roberto: Following methods are necessary to include in the REST list response
- // information about the referenced entities.
- @JsonProperty("org_parent_id")
- public void setParentOrgId(Integer orgId) {
- if (orgId != null) {
- parentOrganization = new Organization();
- parentOrganization.setId(orgId);
- } else {
- parentOrganization = null;
- }
- }
+ // Roberto: Following methods are necessary to include in the REST list
+ // response
+ // information about the referenced entities.
+ @JsonProperty("org_parent_id")
+ public void setParentOrgId(Integer orgId) {
+ if (orgId != null) {
+ parentOrganization = new Organization();
+ parentOrganization.setId(orgId);
+ } else {
+ parentOrganization = null;
+ }
+ }
- @JsonProperty("org_parent_id")
- public Integer getParentOrgId() {
- return parentOrganization == null ? null : parentOrganization.getId();
- }
+ @JsonProperty("org_parent_id")
+ public Integer getParentOrgId() {
+ return parentOrganization == null ? null : parentOrganization.getId();
+ }
- @JsonProperty("org_parent_name")
- public String getParentOrgName() {
- return parentOrganization == null ? null : parentOrganization.getName();
- }
+ @JsonProperty("org_parent_name")
+ public String getParentOrgName() {
+ return parentOrganization == null ? null : parentOrganization.getName();
+ }
- @JsonProperty("users_ids")
- public void setUsersIds(List<String> usersIds) {
- users = new ArrayList<>();
- for (String userid : usersIds) {
- User u = new User();
- u.setUsername(userid);
- users.add(u);
- }
- }
+ @JsonProperty("users_ids")
+ public void setUsersIds(List<String> usersIds) {
+ users = new ArrayList<>();
+ for (String userid : usersIds) {
+ User u = new User();
+ u.setUsername(userid);
+ users.add(u);
+ }
+ }
- @JsonProperty("users_ids")
- public List<String> getUsersIds() {
- if (users == null)
- return null;
- List<String> ids = new ArrayList<>();
- for (User user : users) {
- ids.add(user.getUsername());
- }
- return ids;
- }
+ @JsonProperty("users_ids")
+ public List<String> getUsersIds() {
+ if (users == null) {
+ return null;
+ }
+ List<String> ids = new ArrayList<>();
+ for (User user : users) {
+ ids.add(user.getUsername());
+ }
+ return ids;
+ }
- public Set<Organization> getChildOrganizations() {
- return childOrganizations;
- }
+ public Set<Organization> getChildOrganizations() {
+ return childOrganizations;
+ }
- public void setChildOrganizations(Set<Organization> childOrganizations) {
- this.childOrganizations = childOrganizations;
- }
+ public void setChildOrganizations(Set<Organization> childOrganizations) {
+ this.childOrganizations = childOrganizations;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/Pack.java b/securis/src/main/java/net/curisit/securis/db/Pack.java
index 7812fbc..1e5ab59 100644
--- a/securis/src/main/java/net/curisit/securis/db/Pack.java
+++ b/securis/src/main/java/net/curisit/securis/db/Pack.java
@@ -32,224 +32,230 @@
@Entity
@Table(name = "pack")
@JsonIgnoreProperties(ignoreUnknown = true)
-@NamedQueries(
- { @NamedQuery(name = "list-packs", query = "SELECT pa FROM Pack pa"),//
- @NamedQuery(name = "list-packs-by-orgs", query = "SELECT pa FROM Pack pa where pa.organization.id in :list_ids") })
+@NamedQueries({ @NamedQuery(name = "list-packs", query = "SELECT pa FROM Pack pa"),//
+ @NamedQuery(name = "list-packs-by-orgs", query = "SELECT pa FROM Pack pa where pa.organization.id in :list_ids") })
public class Pack implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue
- private int id;
+ @Id
+ @GeneratedValue
+ private int id;
- private String code;
+ private String code;
- private String comments;
+ private String comments;
- @Column(name = "creation_timestamp")
- private Date creationTimestamp;
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "organization_id")
- private Organization organization;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "organization_id")
+ private Organization organization;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "license_type_id")
- private LicenseType licenseType;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "license_type_id")
+ private LicenseType licenseType;
- @JsonIgnore
- @ManyToOne
- @JoinColumn(name = "created_by")
- private User createdBy;
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "created_by")
+ private User createdBy;
- @JsonIgnore
- @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "pack")
- private Set<License> licenses;
+ @JsonIgnore
+ @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "pack")
+ private Set<License> licenses;
- @Column(name = "num_licenses")
- @JsonProperty("num_licenses")
- private int numLicenses;
+ @Column(name = "num_licenses")
+ @JsonProperty("num_licenses")
+ private int numLicenses;
- @Column(name = "license_preactivation")
- @JsonProperty("license_preactivation")
- private boolean licensePreactivation;
+ @Column(name = "license_preactivation")
+ @JsonProperty("license_preactivation")
+ private boolean licensePreactivation;
- public int getId() {
- return id;
- }
+ public int getId() {
+ return id;
+ }
- public void setId(int id) {
- this.id = id;
- }
+ public void setId(int id) {
+ this.id = id;
+ }
- public String getCode() {
- return code;
- }
+ public String getCode() {
+ return code;
+ }
- public void setCode(String code) {
- this.code = code;
- }
+ public void setCode(String code) {
+ this.code = code;
+ }
- public Date getCreationTimestamp() {
- return creationTimestamp;
- }
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
- public void setCreationTimestamp(Date creationTimestamp) {
- this.creationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
- public Organization getOrganization() {
- return organization;
- }
+ public Organization getOrganization() {
+ return organization;
+ }
- public void setOrganization(Organization organization) {
- this.organization = organization;
- }
+ public void setOrganization(Organization organization) {
+ this.organization = organization;
+ }
- public LicenseType getLicenseType() {
- return licenseType;
- }
+ public LicenseType getLicenseType() {
+ return licenseType;
+ }
- public void setLicenseType(LicenseType licenseType) {
- this.licenseType = licenseType;
- }
+ public void setLicenseType(LicenseType licenseType) {
+ this.licenseType = licenseType;
+ }
- public User getCreatedBy() {
- return createdBy;
- }
+ public User getCreatedBy() {
+ return createdBy;
+ }
- public void setCreatedBy(User createdBy) {
- this.createdBy = createdBy;
- }
+ public void setCreatedBy(User createdBy) {
+ this.createdBy = createdBy;
+ }
- public int getNumLicenses() {
- return numLicenses;
- }
+ public int getNumLicenses() {
+ return numLicenses;
+ }
- public void setNumLicenses(int numLicenses) {
- this.numLicenses = numLicenses;
- }
+ public void setNumLicenses(int numLicenses) {
+ this.numLicenses = numLicenses;
+ }
- @JsonProperty("num_activations")
- public int getNumActivations() {
- if (licenses == null)
- return 0;
- int num = 0;
- for (License lic : licenses) {
- if (lic.getStatus() == License.Status.ACTIVE)
- num++;
- }
- return num;
- }
+ @JsonProperty("num_activations")
+ public int getNumActivations() {
+ if (licenses == null) {
+ return 0;
+ }
+ int num = 0;
+ for (License lic : licenses) {
+ if (lic.getStatus() == License.Status.ACTIVE) {
+ num++;
+ }
+ }
+ return num;
+ }
- /**
- * Counts all created licenses, It counts active licenses and licenses waiting for activation This number will be used to control the max number of licenses created. Ignore canceled licenses.
- *
- * @return
- */
- @JsonProperty("num_creations")
- public int getNumCreations() {
- if (licenses == null)
- return 0;
- int num = 0;
- for (License lic : licenses) {
- if (lic.getStatus() != License.Status.CANCELED)
- num++;
- }
- return num;
- }
+ /**
+ * Counts all created licenses, It counts active licenses and licenses
+ * waiting for activation This number will be used to control the max number
+ * of licenses created. Ignore canceled licenses.
+ *
+ * @return
+ */
+ @JsonProperty("num_creations")
+ public int getNumCreations() {
+ if (licenses == null) {
+ return 0;
+ }
+ int num = 0;
+ for (License lic : licenses) {
+ if (lic.getStatus() != License.Status.CANCELED) {
+ num++;
+ }
+ }
+ return num;
+ }
- /**
- * Number of available licenses in this pack
- *
- * @return
- */
- @JsonProperty("num_available")
- public int getNumAvailables() {
- return numLicenses - getNumCreations();
- }
+ /**
+ * Number of available licenses in this pack
+ *
+ * @return
+ */
+ @JsonProperty("num_available")
+ public int getNumAvailables() {
+ return numLicenses - getNumCreations();
+ }
- @JsonProperty("organization_name")
- public String getOrgName() {
- return organization == null ? null : organization.getName();
- }
+ @JsonProperty("organization_name")
+ public String getOrgName() {
+ return organization == null ? null : organization.getName();
+ }
- @JsonProperty("application_name")
- public String getAppName() {
- if (licenseType == null)
- return null;
- Application app = licenseType.getApplication();
- return app == null ? null : app.getName();
- }
+ @JsonProperty("application_name")
+ public String getAppName() {
+ if (licenseType == null) {
+ return null;
+ }
+ Application app = licenseType.getApplication();
+ return app == null ? null : app.getName();
+ }
- @JsonProperty("organization_id")
- public Integer getOrgId() {
- return organization == null ? null : organization.getId();
- }
+ @JsonProperty("organization_id")
+ public Integer getOrgId() {
+ return organization == null ? null : organization.getId();
+ }
- @JsonProperty("organization_id")
- public void setOrgId(Integer idOrg) {
- if (idOrg == null) {
- organization = null;
- } else {
- organization = new Organization();
- organization.setId(idOrg);
- }
- }
+ @JsonProperty("organization_id")
+ public void setOrgId(Integer idOrg) {
+ if (idOrg == null) {
+ organization = null;
+ } else {
+ organization = new Organization();
+ organization.setId(idOrg);
+ }
+ }
- @JsonProperty("license_type_id")
- public void setLicTypeId(Integer idLT) {
- if (idLT == null) {
- licenseType = null;
- } else {
- licenseType = new LicenseType();
- licenseType.setId(idLT);
- }
- }
+ @JsonProperty("license_type_id")
+ public void setLicTypeId(Integer idLT) {
+ if (idLT == null) {
+ licenseType = null;
+ } else {
+ licenseType = new LicenseType();
+ licenseType.setId(idLT);
+ }
+ }
- @JsonProperty("license_type_id")
- public Integer getLicTypeId() {
- return licenseType == null ? null : licenseType.getId();
- }
+ @JsonProperty("license_type_id")
+ public Integer getLicTypeId() {
+ return licenseType == null ? null : licenseType.getId();
+ }
- @JsonProperty("created_by_id")
- public String getCreatedById() {
- return createdBy == null ? null : createdBy.getUsername();
- }
+ @JsonProperty("created_by_id")
+ public String getCreatedById() {
+ return createdBy == null ? null : createdBy.getUsername();
+ }
- @JsonProperty("created_by_id")
- public void setCreatedById(String username) {
- createdBy = new User();
- createdBy.setUsername(username);
- }
+ @JsonProperty("created_by_id")
+ public void setCreatedById(String username) {
+ createdBy = new User();
+ createdBy.setUsername(username);
+ }
- @JsonProperty("created_by_name")
- public String getCreatedByname() {
- return createdBy == null ? null : String.format("%s %s (%s)", createdBy.getFirstName(), createdBy.getLastName(), createdBy.getUsername());
- }
+ @JsonProperty("created_by_name")
+ public String getCreatedByname() {
+ return createdBy == null ? null : String.format("%s %s (%s)", createdBy.getFirstName(), createdBy.getLastName(), createdBy.getUsername());
+ }
- @JsonProperty("licensetype_code")
- public String getLicenseTypcode() {
- return licenseType == null ? null : licenseType.getCode();
- }
+ @JsonProperty("licensetype_code")
+ public String getLicenseTypcode() {
+ return licenseType == null ? null : licenseType.getCode();
+ }
- public String getComments() {
- return comments;
- }
+ public String getComments() {
+ return comments;
+ }
- public void setComments(String comments) {
- this.comments = comments;
- }
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
- public boolean isLicensePreactivation() {
- return licensePreactivation;
- }
+ public boolean isLicensePreactivation() {
+ return licensePreactivation;
+ }
- public void setLicensePreactivation(boolean licensePreactivation) {
- this.licensePreactivation = licensePreactivation;
- }
+ public void setLicensePreactivation(boolean licensePreactivation) {
+ this.licensePreactivation = licensePreactivation;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/db/User.java b/securis/src/main/java/net/curisit/securis/db/User.java
index 939e993..5858b2c 100644
--- a/securis/src/main/java/net/curisit/securis/db/User.java
+++ b/securis/src/main/java/net/curisit/securis/db/User.java
@@ -30,187 +30,191 @@
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@Entity
@Table(name = "user")
-@NamedQueries(
- { @NamedQuery(name = "list-users", query = "SELECT u FROM User u"), @NamedQuery(name = "get-user", query = "SELECT u FROM User u where u.username = :username"),
- @NamedQuery(name = "auth-user", query = "SELECT u FROM User u where u.username = :username and u.password = :password"), @NamedQuery(name = "delete-all-users", query = "delete FROM User u") })
+@NamedQueries({ @NamedQuery(name = "list-users", query = "SELECT u FROM User u"),
+ @NamedQuery(name = "get-user", query = "SELECT u FROM User u where u.username = :username"),
+ @NamedQuery(name = "auth-user", query = "SELECT u FROM User u where u.username = :username and u.password = :password"),
+ @NamedQuery(name = "delete-all-users", query = "delete FROM User u") })
public class User implements Serializable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- @Id
- private String username;
+ @Id
+ private String username;
- private String password;
+ private String password;
- @JsonProperty(value = "first_name")
- @Column(name = "first_name")
- private String firstName;
+ @JsonProperty(value = "first_name")
+ @Column(name = "first_name")
+ private String firstName;
- @JsonProperty(value = "last_name")
- @Column(name = "last_name")
- private String lastName;
+ @JsonProperty(value = "last_name")
+ @Column(name = "last_name")
+ private String lastName;
- private int roles;
+ private int roles;
- @Column(name = "last_login")
- private Date lastLogin;
+ @Column(name = "last_login")
+ private Date lastLogin;
- @Column(name = "modification_timestamp")
- private Date modificationTimestamp;
+ @Column(name = "modification_timestamp")
+ private Date modificationTimestamp;
- @Column(name = "creation_timestamp")
- private Date creationTimestamp;
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
- private String lang;
+ private String lang;
- @JsonIgnore
- @ManyToMany
- @JoinTable(name = "user_organization", //
- joinColumns =
- { @JoinColumn(name = "username", referencedColumnName = "username") }, //
- inverseJoinColumns =
- { @JoinColumn(name = "organization_id", referencedColumnName = "id") } //
- )
- private Set<Organization> organizations;
+ @JsonIgnore
+ @ManyToMany
+ @JoinTable(name = "user_organization", //
+ joinColumns = { @JoinColumn(name = "username", referencedColumnName = "username") }, //
+ inverseJoinColumns = { @JoinColumn(name = "organization_id", referencedColumnName = "id") } //
+ )
+ private Set<Organization> organizations;
- public String getUsername() {
- return username;
- }
+ public String getUsername() {
+ return username;
+ }
- public void setUsername(String username) {
- this.username = username;
- }
+ public void setUsername(String username) {
+ this.username = username;
+ }
- public String getPassword() {
- return password;
- }
+ public String getPassword() {
+ return password;
+ }
- public void setPassword(String password) {
- this.password = password;
- }
+ public void setPassword(String password) {
+ this.password = password;
+ }
- public List<Integer> getRoles() {
- if (roles == 0)
- return null;
- List<Integer> aux = new ArrayList<>();
- for (int rol : Rol.ALL) {
- if ((roles & rol) != 0) // Each rol is a number with only 1 bit == 1 in binary representation
- aux.add(rol);
- }
- return aux;
- }
+ public List<Integer> getRoles() {
+ if (roles == 0) {
+ return null;
+ }
+ List<Integer> aux = new ArrayList<>();
+ for (int rol : Rol.ALL) {
+ if ((roles & rol) != 0) { // Each rol is a number with only 1 bit ==
+ // 1 in binary representation
+ aux.add(rol);
+ }
+ }
+ return aux;
+ }
- public void setRoles(List<Integer> roles) {
- this.roles = 0;
- if (roles != null)
- for (Integer rol : roles) {
- this.roles |= rol;
- }
- }
+ public void setRoles(List<Integer> roles) {
+ this.roles = 0;
+ if (roles != null) {
+ for (Integer rol : roles) {
+ this.roles |= rol;
+ }
+ }
+ }
- public String getFirstName() {
- return firstName;
- }
+ public String getFirstName() {
+ return firstName;
+ }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
- public String getLastName() {
- return lastName;
- }
+ public String getLastName() {
+ return lastName;
+ }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
- public Date getLastLogin() {
- return lastLogin;
- }
+ public Date getLastLogin() {
+ return lastLogin;
+ }
- public void setLastLogin(Date lastLogin) {
- this.lastLogin = lastLogin;
- }
+ public void setLastLogin(Date lastLogin) {
+ this.lastLogin = lastLogin;
+ }
- public Date getModificationTimestamp() {
- return modificationTimestamp;
- }
+ public Date getModificationTimestamp() {
+ return modificationTimestamp;
+ }
- public void setModificationTimestamp(Date modificationTimestamp) {
- this.modificationTimestamp = modificationTimestamp;
- }
+ public void setModificationTimestamp(Date modificationTimestamp) {
+ this.modificationTimestamp = modificationTimestamp;
+ }
- public Date getCreationTimestamp() {
- return creationTimestamp;
- }
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
- public void setCreationTimestamp(Date creationTimestamp) {
- this.creationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
- @Override
- public String toString() {
- return "{User: " + username + " Name: " + firstName + " " + lastName + ", last login: " + lastLogin + "}";
- }
+ @Override
+ public String toString() {
+ return "{User: " + username + " Name: " + firstName + " " + lastName + ", last login: " + lastLogin + "}";
+ }
- public String getLang() {
- return lang;
- }
+ public String getLang() {
+ return lang;
+ }
- public void setLang(String lang) {
- this.lang = lang;
- }
+ public void setLang(String lang) {
+ this.lang = lang;
+ }
- public Set<Organization> getOrganizations() {
- return organizations;
- }
+ public Set<Organization> getOrganizations() {
+ return organizations;
+ }
- public void setOrganizations(Set<Organization> organizations) {
- this.organizations = organizations;
- }
+ public void setOrganizations(Set<Organization> organizations) {
+ this.organizations = organizations;
+ }
- @JsonProperty("organizations_ids")
- public void setOrgsIds(List<Integer> orgsIds) {
- organizations = new HashSet<>();
- for (Integer orgid : orgsIds) {
- Organization o = new Organization();
- o.setId(orgid);
- organizations.add(o);
- }
- }
+ @JsonProperty("organizations_ids")
+ public void setOrgsIds(List<Integer> orgsIds) {
+ organizations = new HashSet<>();
+ for (Integer orgid : orgsIds) {
+ Organization o = new Organization();
+ o.setId(orgid);
+ organizations.add(o);
+ }
+ }
- @JsonProperty("organizations_ids")
- public Set<Integer> getOrgsIds() {
- if (organizations == null)
- return null;
- Set<Integer> ids = new HashSet<>();
- for (Organization org : organizations) {
- ids.add(org.getId());
- }
- return ids;
- }
+ @JsonProperty("organizations_ids")
+ public Set<Integer> getOrgsIds() {
+ if (organizations == null) {
+ return null;
+ }
+ Set<Integer> ids = new HashSet<>();
+ for (Organization org : organizations) {
+ ids.add(org.getId());
+ }
+ return ids;
+ }
- @JsonIgnore
- public Set<Integer> getAllOrgsIds() {
- if (organizations == null)
- return null;
- Set<Integer> ids = new HashSet<>();
- includeAllOrgs(this.organizations, ids);
- return ids;
- }
+ @JsonIgnore
+ public Set<Integer> getAllOrgsIds() {
+ if (organizations == null) {
+ return null;
+ }
+ Set<Integer> ids = new HashSet<>();
+ includeAllOrgs(this.organizations, ids);
+ return ids;
+ }
- private void includeAllOrgs(Set<Organization> list, Set<Integer> orgIds) {
- for (Organization org : list) {
- orgIds.add(org.getId());
- includeAllOrgs(org.getChildOrganizations(), orgIds);
- }
- }
+ private void includeAllOrgs(Set<Organization> list, Set<Integer> orgIds) {
+ for (Organization org : list) {
+ orgIds.add(org.getId());
+ includeAllOrgs(org.getChildOrganizations(), orgIds);
+ }
+ }
- static public class Rol {
- static public final int ADVANCE = 0x01;
- static public final int ADMIN = 0x02;
- static public final int[] ALL = new int[]
- { ADVANCE, ADMIN };
- }
+ public static class Rol {
+ public static final int ADVANCE = 0x01;
+ public static final int ADMIN = 0x02;
+ public static final int[] ALL = new int[] { ADVANCE, ADMIN };
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/ioc/RequestsModule.java b/securis/src/main/java/net/curisit/securis/ioc/RequestsModule.java
index 7de70d9..9abf2b5 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/RequestsModule.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/RequestsModule.java
@@ -20,29 +20,28 @@
public class RequestsModule extends RequestScopeModule {
- @Override
- protected void configure() {
- super.configure();
- // TODO: Make the bind using reflection dynamically
- bind(SecurityInterceptor.class);
- // bind(SecurityContextWrapper.class).in(RequestScoped.class);
+ @Override
+ protected void configure() {
+ super.configure();
+ // TODO: Make the bind using reflection dynamically
+ bind(SecurityInterceptor.class);
- bind(BasicServices.class);
- bind(LicenseServices.class);
- bind(UserResource.class);
+ bind(BasicServices.class);
+ bind(LicenseServices.class);
+ bind(UserResource.class);
- bind(ApplicationResource.class);
- bind(LicenseTypeResource.class);
- bind(OrganizationResource.class);
- bind(ApiResource.class);
- bind(LicenseResource.class);
- bind(PackResource.class);
- }
+ bind(ApplicationResource.class);
+ bind(LicenseTypeResource.class);
+ bind(OrganizationResource.class);
+ bind(ApiResource.class);
+ bind(LicenseResource.class);
+ bind(PackResource.class);
+ }
- @Provides
- @RequestScoped
- public User provideUser() {
- return ResteasyProviderFactory.getContextData(User.class);
- }
+ @Provides
+ @RequestScoped
+ public User provideUser() {
+ return ResteasyProviderFactory.getContextData(User.class);
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
index 7e60cac..827218e 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
@@ -22,142 +22,144 @@
public class SecurisModule extends AbstractModule {
- private static final int DEFAULT_PORT = 9997;
- private static final String PROPERTIES_FILE_NAME = "/server.properties";
+ private static final int DEFAULT_PORT = 9997;
+ private static final String PROPERTIES_FILE_NAME = "/server.properties";
- private static final Logger LOG = LogManager.getLogger(SecurisModule.class);
+ private static final Logger LOG = LogManager.getLogger(SecurisModule.class);
- @Override
- protected void configure() {
+ @Override
+ protected void configure() {
- }
+ }
- public String getPassword() {
- return getFilePassword() + " " + "53curi5";
- }
+ public String getPassword() {
+ return getFilePassword() + " " + "53curi5";
+ }
- public String getFilePassword() {
- return "cur151T";
- }
+ public String getFilePassword() {
+ return "cur151T";
+ }
- public String getUrl(File appDir) {
- return String.format("jdbc:h2:%s/db/securis;CIPHER=AES", appDir.getAbsolutePath());
- }
+ public String getUrl(File appDir) {
+ return String.format("jdbc:h2:%s/db/securis;CIPHER=AES", appDir.getAbsolutePath());
+ }
- @Named("base-uri")
- @Provides
- @Singleton
- public URI getBaseURI() {
- // TODO Read from configuration, where?
- try {
- // String url = MessageFormat.format("http://{0}/", InetAddress.getLocalHost().getHostAddress());
- String url = MessageFormat.format("http://{0}/", "0.0.0.0");
- LOG.debug("Server url{}", url);
- return UriBuilder.fromUri(url).port(getPort()).build();
- } catch (IllegalArgumentException | UriBuilderException e) {
- return UriBuilder.fromUri("http://localhost/").port(getPort()).build();
- }
- }
+ @Named("base-uri")
+ @Provides
+ @Singleton
+ public URI getBaseURI() {
+ // TODO Read from configuration, where?
+ try {
+ String url = MessageFormat.format("http://{0}/", "0.0.0.0");
+ LOG.debug("Server url{}", url);
+ return UriBuilder.fromUri(url).port(getPort()).build();
+ } catch (IllegalArgumentException | UriBuilderException e) {
+ return UriBuilder.fromUri("http://localhost/").port(getPort()).build();
+ }
+ }
- private int getPort() {
- Integer port;
- Properties prop = new Properties();
- try {
- prop.load(getClass().getResourceAsStream(PROPERTIES_FILE_NAME));
- port = Integer.valueOf(prop.getProperty("port"));
- if (port == null)
- return DEFAULT_PORT;
- else
- return port;
- } catch (Exception ex) {
- return DEFAULT_PORT;
- }
- }
+ private int getPort() {
+ Integer port;
+ Properties prop = new Properties();
+ try {
+ prop.load(getClass().getResourceAsStream(PROPERTIES_FILE_NAME));
+ port = Integer.valueOf(prop.getProperty("port"));
+ if (port == null) {
+ return DEFAULT_PORT;
+ } else {
+ return port;
+ }
+ } catch (Exception ex) {
+ return DEFAULT_PORT;
+ }
+ }
- protected List<String> getAppDbFiles() {
+ protected List<String> getAppDbFiles() {
- return Arrays.asList("/db/schema.sql");
- }
+ return Arrays.asList("/db/schema.sql");
+ }
- @Named("temporary-dir")
- @Provides
- @Singleton
- public File getTemporaryDir() {
- String tmp = getAppDir().getAbsolutePath();
- tmp += File.separator + ".TEMP";
- File ftmp = new File(tmp);
- if (!ftmp.exists()) {
- if (!ftmp.mkdirs())
- return null;
- LOG.debug("Created temporary directory for app in: {}", ftmp.getAbsolutePath());
- ftmp.deleteOnExit();
- }
- return ftmp;
- }
+ @Named("temporary-dir")
+ @Provides
+ @Singleton
+ public File getTemporaryDir() {
+ String tmp = getAppDir().getAbsolutePath();
+ tmp += File.separator + ".TEMP";
+ File ftmp = new File(tmp);
+ if (!ftmp.exists()) {
+ if (!ftmp.mkdirs()) {
+ return null;
+ }
+ LOG.debug("Created temporary directory for app in: {}", ftmp.getAbsolutePath());
+ ftmp.deleteOnExit();
+ }
+ return ftmp;
+ }
- @Named("app-dir")
- @Provides
- @Singleton
- public File getAppDir() {
- String appDir = System.getProperty("user.home", System.getProperty("user.dir"));
- if (appDir == null) {
- appDir = ".";
- }
- appDir += File.separator + ".SeCuris";
- File fAppDir = new File(appDir);
- if (!fAppDir.exists()) {
- if (!fAppDir.mkdirs())
- return null;
- LOG.debug("Created app working directory app in: {}", fAppDir.getAbsolutePath());
- }
- return fAppDir;
- }
+ @Named("app-dir")
+ @Provides
+ @Singleton
+ public File getAppDir() {
+ String appDir = System.getProperty("user.home", System.getProperty("user.dir"));
+ if (appDir == null) {
+ appDir = ".";
+ }
+ appDir += File.separator + ".SeCuris";
+ File fAppDir = new File(appDir);
+ if (!fAppDir.exists()) {
+ if (!fAppDir.mkdirs()) {
+ return null;
+ }
+ LOG.debug("Created app working directory app in: {}", fAppDir.getAbsolutePath());
+ }
+ return fAppDir;
+ }
- @Named("support-email")
- @Provides
- @Singleton
- public String getSupportEmail() {
- return "integrity@curistec.com";
- }
+ @Named("support-email")
+ @Provides
+ @Singleton
+ public String getSupportEmail() {
+ return "integrity@curistec.com";
+ }
- @Named("hash-logo")
- @Provides
- @Singleton
- public String getHashLogo() {
- return "1b42616809d4cd8ccf109e3c30d0ab25067f160b30b7354a08ddd563de0096ba";
- }
+ @Named("hash-logo")
+ @Provides
+ @Singleton
+ public String getHashLogo() {
+ return "1b42616809d4cd8ccf109e3c30d0ab25067f160b30b7354a08ddd563de0096ba";
+ }
- @Named("license-req-file-name")
- @Provides
- @Singleton
- public String getLicenseReqFileName() {
- return "license.req";
- }
+ @Named("license-req-file-name")
+ @Provides
+ @Singleton
+ public String getLicenseReqFileName() {
+ return "license.req";
+ }
- @Named("license-file-name")
- @Provides
- @Singleton
- public String getLicenseFileName() {
- return "license.lic";
- }
+ @Named("license-file-name")
+ @Provides
+ @Singleton
+ public String getLicenseFileName() {
+ return "license.lic";
+ }
- @Provides
- @Singleton
- public DataSource getDataSource(@Named("app-dir") File appDir) {
+ @Provides
+ @Singleton
+ public DataSource getDataSource(@Named("app-dir") File appDir) {
- JdbcDataSource dataSource = new JdbcDataSource();
- dataSource.setURL(getUrl(appDir));
- dataSource.setUser("curis");
- dataSource.setPassword(getPassword());
- LOG.debug("JdbcDataSource: {}", dataSource);
- return dataSource;
- }
+ JdbcDataSource dataSource = new JdbcDataSource();
+ dataSource.setURL(getUrl(appDir));
+ dataSource.setUser("curis");
+ dataSource.setPassword(getPassword());
+ LOG.debug("JdbcDataSource: {}", dataSource);
+ return dataSource;
+ }
- @Named("db-files")
- @Provides
- @Singleton
- public List<String> getDbFiles() {
- return getAppDbFiles();
- }
+ @Named("db-files")
+ @Provides
+ @Singleton
+ public List<String> getDbFiles() {
+ return getAppDbFiles();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java b/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
index 73ef3b2..3f20ddc 100644
--- a/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
+++ b/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
@@ -11,82 +11,83 @@
public class BasicSecurityContext implements SecurityContext {
- final public static String ROL_ADVANCE = "advance";
- final public static String ROL_ADMIN = "admin";
+ final public static String ROL_ADVANCE = "advance";
+ final public static String ROL_ADMIN = "admin";
- final static Map<String, Integer> ROLES = Utils.<String, Integer> createMap(ROL_ADVANCE, User.Rol.ADVANCE, ROL_ADMIN, User.Rol.ADMIN);
+ final static Map<String, Integer> ROLES = Utils.<String, Integer> createMap(ROL_ADVANCE, User.Rol.ADVANCE, ROL_ADMIN, User.Rol.ADMIN);
- Principal user = null;
- int roles = 0;
- boolean secure = false;
- Set<Integer> organizationsIds = null;
- double ran = 0;
+ Principal user = null;
+ int roles = 0;
+ boolean secure = false;
+ Set<Integer> organizationsIds = null;
+ double ran = 0;
- public BasicSecurityContext(String username, int roles, boolean secure) {
- user = new UserPrincipal(username);
- this.roles = roles;
- this.secure = secure;
- ran = Math.random();
- }
+ public BasicSecurityContext(String username, int roles, boolean secure) {
+ user = new UserPrincipal(username);
+ this.roles = roles;
+ this.secure = secure;
+ ran = Math.random();
+ }
- @Override
- public Principal getUserPrincipal() {
- return user;
- }
+ @Override
+ public Principal getUserPrincipal() {
+ return user;
+ }
- @Override
- public boolean isUserInRole(String role) {
- Integer introle = ROLES.get(role);
- return introle != null && (introle & roles) != 0;
- }
+ @Override
+ public boolean isUserInRole(String role) {
+ Integer introle = ROLES.get(role);
+ return introle != null && (introle & roles) != 0;
+ }
- @Override
- public boolean isSecure() {
- return secure;
- }
+ @Override
+ public boolean isSecure() {
+ return secure;
+ }
- @Override
- public String getAuthenticationScheme() {
- return null;
- }
+ @Override
+ public String getAuthenticationScheme() {
+ return null;
+ }
- @Override
- public String toString() {
+ @Override
+ public String toString() {
- return String.format("SecurityContextWrapper(%f) %s", ran, user);
- }
+ return String.format("SecurityContextWrapper(%f) %s", ran, user);
+ }
- public void setOrganizationsIds(Set<Integer> orgs) {
- this.organizationsIds = orgs;
- }
+ public void setOrganizationsIds(Set<Integer> orgs) {
+ this.organizationsIds = orgs;
+ }
- public Set<Integer> getOrganizationsIds() {
- return this.organizationsIds;
- }
+ public Set<Integer> getOrganizationsIds() {
+ return this.organizationsIds;
+ }
- private class UserPrincipal implements Principal {
+ private class UserPrincipal implements Principal {
- final String name;
+ final String name;
- public UserPrincipal(String name) {
- this.name = name;
- }
+ public UserPrincipal(String name) {
+ this.name = name;
+ }
- @Override
- public String getName() {
- return this.name;
- }
+ @Override
+ public String getName() {
+ return this.name;
+ }
- @Override
- public String toString() {
- return String.format("[%s]", name);
- }
+ @Override
+ public String toString() {
+ return String.format("[%s]", name);
+ }
- }
+ }
- public boolean isOrgAccesible(Integer orgid) {
- if (organizationsIds == null || orgid == null)
- return false;
- return organizationsIds.contains(orgid);
- }
+ public boolean isOrgAccesible(Integer orgid) {
+ if (organizationsIds == null || orgid == null) {
+ return false;
+ }
+ return organizationsIds.contains(orgid);
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/security/Securable.java b/securis/src/main/java/net/curisit/securis/security/Securable.java
index 79389e0..50a9ee9 100644
--- a/securis/src/main/java/net/curisit/securis/security/Securable.java
+++ b/securis/src/main/java/net/curisit/securis/security/Securable.java
@@ -10,13 +10,13 @@
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Securable {
- /**
- * Name of header parameter with the auth token to validate
- */
- String header() default TokenHelper.TOKEN_HEADER_PÀRAM;
+ /**
+ * Name of header parameter with the auth token to validate
+ */
+ String header() default TokenHelper.TOKEN_HEADER_PÀRAM;
- /**
- * Bit mask with the rol or roles necessary to access the method
- */
- int roles() default 0;
+ /**
+ * Bit mask with the rol or roles necessary to access the method
+ */
+ int roles() default 0;
}
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java b/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java
index 3f5c11c..3e68f4c 100644
--- a/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java
+++ b/securis/src/main/java/net/curisit/securis/security/SecurityInterceptor.java
@@ -34,98 +34,94 @@
// @PreMatching
@Priority(Priorities.AUTHENTICATION)
public class SecurityInterceptor implements javax.ws.rs.container.ContainerRequestFilter {
- private static final Logger LOG = LogManager.getLogger(SecurityInterceptor.class);
+ private static final Logger LOG = LogManager.getLogger(SecurityInterceptor.class);
- @Inject
- private TokenHelper tokenHelper;
+ @Inject
+ private TokenHelper tokenHelper;
- @Context
- private HttpServletRequest servletRequest;
+ @Context
+ private HttpServletRequest servletRequest;
- @Inject
- CacheTTL cache;
+ @Inject
+ CacheTTL cache;
- @Context
- Dispatcher dispatcher;
+ @Context
+ Dispatcher dispatcher;
- @Inject
- com.google.inject.Provider<EntityManager> emProvider;
+ @Inject
+ com.google.inject.Provider<EntityManager> emProvider;
- public void filter(ContainerRequestContext containerRequestContext) throws IOException {
- ResourceMethodInvoker methodInvoker = (ResourceMethodInvoker) containerRequestContext.getProperty("org.jboss.resteasy.core.ResourceMethodInvoker");
- Method method = methodInvoker.getMethod();
+ public void filter(ContainerRequestContext containerRequestContext) throws IOException {
+ ResourceMethodInvoker methodInvoker = (ResourceMethodInvoker) containerRequestContext
+ .getProperty("org.jboss.resteasy.core.ResourceMethodInvoker");
+ Method method = methodInvoker.getMethod();
- if (!method.isAnnotationPresent(Securable.class))
- return;
- String token = servletRequest.getHeader(TokenHelper.TOKEN_HEADER_PÀRAM);
- if (token == null || !tokenHelper.isTokenValid(token)) {
- LOG.info("Access denied to '{}', Token not valid.", servletRequest.getPathInfo());
- containerRequestContext.abortWith(Response.status(Status.UNAUTHORIZED).build());
- } else {
- Securable sec = method.getAnnotation(Securable.class);
+ if (!method.isAnnotationPresent(Securable.class)) {
+ return;
+ }
+ String token = servletRequest.getHeader(TokenHelper.TOKEN_HEADER_PÀRAM);
+ if (token == null || !tokenHelper.isTokenValid(token)) {
+ LOG.info("Access denied to '{}', Token not valid.", servletRequest.getPathInfo());
+ containerRequestContext.abortWith(Response.status(Status.UNAUTHORIZED).build());
+ } else {
+ Securable sec = method.getAnnotation(Securable.class);
- // If roles == 0 we only need to validate the token
- String username = tokenHelper.extractUserFromToken(token);
- int userRoles = getUserRoles(username);
- // if (sec.roles() != 0) {
- // if ((sec.roles() & userRoles) == 0) {
- // LOG.info("User {} has no necessary role to access url: {}", username, servletRequest.getPathInfo());
- // containerRequestContext.abortWith(Response.status(Status.UNAUTHORIZED).build());
- // }
- // }
- Set<Integer> orgs = getUserOrganizations(username);
+ // If roles == 0 we only need to validate the token
+ String username = tokenHelper.extractUserFromToken(token);
+ int userRoles = getUserRoles(username);
+ Set<Integer> orgs = getUserOrganizations(username);
- BasicSecurityContext scw = new BasicSecurityContext(username, userRoles, servletRequest.isSecure());
- scw.setOrganizationsIds(orgs);
- containerRequestContext.setSecurityContext(scw);
- // Next line provide injection in resource methods
- ResteasyProviderFactory.pushContext(BasicSecurityContext.class, scw);
- LOG.debug("Added custom SecurityContext for user {}, orgs: {}", username, orgs);
- }
- }
+ BasicSecurityContext scw = new BasicSecurityContext(username, userRoles, servletRequest.isSecure());
+ scw.setOrganizationsIds(orgs);
+ containerRequestContext.setSecurityContext(scw);
+ // Next line provide injection in resource methods
+ ResteasyProviderFactory.pushContext(BasicSecurityContext.class, scw);
+ LOG.debug("Added custom SecurityContext for user {}, orgs: {}", username, orgs);
+ }
+ }
- private Set<Integer> getUserOrganizations(String username) {
- @SuppressWarnings("unchecked")
- Set<Integer> userOrgs = cache.get("orgs_" + username, Set.class);
- if (userOrgs == null) {
- // Theorically this shouldn't be never null, but just in case...
- EntityManager em = emProvider.get();
- User user = em.find(User.class, username);
- if (user != null) {
- userOrgs = user.getAllOrgsIds();
- // We store user orgs in cache only for one hour
- cache.set("orgs_" + username, userOrgs, 3600);
- }
- }
+ private Set<Integer> getUserOrganizations(String username) {
+ @SuppressWarnings("unchecked")
+ Set<Integer> userOrgs = cache.get("orgs_" + username, Set.class);
+ if (userOrgs == null) {
+ // Theorically this shouldn't be never null, but just in case...
+ EntityManager em = emProvider.get();
+ User user = em.find(User.class, username);
+ if (user != null) {
+ userOrgs = user.getAllOrgsIds();
+ // We store user orgs in cache only for one hour
+ cache.set("orgs_" + username, userOrgs, 3600);
+ }
+ }
- return userOrgs;
- }
+ return userOrgs;
+ }
- private int getUserRoles(String username) {
- if (username == null)
- return 0;
- Integer userRoles = cache.get("roles_" + username, Integer.class);
- if (userRoles == null) {
- EntityManager em = emProvider.get();
- User user = em.find(User.class, username);
- if (user != null) {
- userRoles = 0;
- List<Integer> roles = user.getRoles();
- for (Integer rol : roles) {
- userRoles += rol;
- }
- // We store user roles in cache only for one hour
- cache.set("roles_" + username, userRoles, 3600);
- cache.set("orgs_" + username, user.getOrgsIds(), 3600);
- }
- }
- return userRoles == null ? 0 : userRoles.intValue();
- }
+ private int getUserRoles(String username) {
+ if (username == null) {
+ return 0;
+ }
+ Integer userRoles = cache.get("roles_" + username, Integer.class);
+ if (userRoles == null) {
+ EntityManager em = emProvider.get();
+ User user = em.find(User.class, username);
+ if (user != null) {
+ userRoles = 0;
+ List<Integer> roles = user.getRoles();
+ for (Integer rol : roles) {
+ userRoles += rol;
+ }
+ // We store user roles in cache only for one hour
+ cache.set("roles_" + username, userRoles, 3600);
+ cache.set("orgs_" + username, user.getOrgsIds(), 3600);
+ }
+ }
+ return userRoles == null ? 0 : userRoles.intValue();
+ }
- // @Override
- public ServerResponse preProcess(HttpRequest request, ResourceMethodInvoker method) throws Failure, WebApplicationException {
- // TODO Auto-generated method stub
- return null;
- }
+ // @Override
+ public ServerResponse preProcess(HttpRequest request, ResourceMethodInvoker method) throws Failure, WebApplicationException {
+ return null;
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/ApiResource.java b/securis/src/main/java/net/curisit/securis/services/ApiResource.java
index cf00f3f..c41824b 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApiResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApiResource.java
@@ -22,28 +22,26 @@
@Path("/api")
public class ApiResource {
- @SuppressWarnings("unused")
- private static final Logger LOG = LogManager.getLogger(ApiResource.class);
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LogManager.getLogger(ApiResource.class);
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- public ApiResource() {
- }
+ public ApiResource() {}
- /**
- *
- * @return Simple text message to check API status
- */
- @GET
- @Path("/")
- @Produces(
- { MediaType.TEXT_PLAIN })
- public Response index() {
- return Response.ok("SeCuris API").build();
- }
+ /**
+ *
+ * @return Simple text message to check API status
+ */
+ @GET
+ @Path("/")
+ @Produces({ MediaType.TEXT_PLAIN })
+ public Response index() {
+ return Response.ok("SeCuris API").build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
index 1c1d860..1e7230d 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -33,124 +33,125 @@
import com.google.inject.persist.Transactional;
/**
- * Application resource, this service will provide methods to create, modify and delete applications
+ * Application resource, this service will provide methods to create, modify and
+ * delete applications
*
* @author roberto <roberto.sanchez@curisit.net>
*/
@Path("/application")
public class ApplicationResource {
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- private static final Logger LOG = LogManager.getLogger(ApplicationResource.class);
+ private static final Logger LOG = LogManager.getLogger(ApplicationResource.class);
- public ApplicationResource() {
- }
+ public ApplicationResource() {}
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response index() {
- LOG.info("Getting applications list ");
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response index() {
+ LOG.info("Getting applications list ");
- EntityManager em = emProvider.get();
- TypedQuery<Application> q = em.createNamedQuery("list-applications", Application.class);
- List<Application> list = q.getResultList();
+ EntityManager em = emProvider.get();
+ TypedQuery<Application> q = em.createNamedQuery("list-applications", Application.class);
+ List<Application> list = q.getResultList();
- return Response.ok(list).build();
- }
+ return Response.ok(list).build();
+ }
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/{appid}")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response get(@PathParam("appid") String appid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Getting application data for id: {}: ", appid);
- if (appid == null || appid.equals("")) {
- LOG.error("Application ID is mandatory");
- return Response.status(Status.NOT_FOUND).build();
- }
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/{appid}")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response get(@PathParam("appid") String appid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Getting application data for id: {}: ", appid);
+ if (appid == null || "".equals(appid)) {
+ LOG.error("Application ID is mandatory");
+ return Response.status(Status.NOT_FOUND).build();
+ }
- EntityManager em = emProvider.get();
- Application app = em.find(Application.class, Integer.parseInt(appid));
- if (app == null) {
- LOG.error("Application with id {} not found in DB", appid);
+ EntityManager em = emProvider.get();
+ Application app = em.find(Application.class, Integer.parseInt(appid));
+ if (app == null) {
+ LOG.error("Application with id {} not found in DB", appid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid).build();
- }
- return Response.ok(app).build();
- }
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid)
+ .build();
+ }
+ return Response.ok(app).build();
+ }
- @POST
- @Path("/")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- public Response create(Application app, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Creating new application");
- EntityManager em = emProvider.get();
- app.setCreationTimestamp(new Date());
- em.persist(app);
+ @POST
+ @Path("/")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ public Response create(Application app, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Creating new application");
+ EntityManager em = emProvider.get();
+ app.setCreationTimestamp(new Date());
+ em.persist(app);
- return Response.ok(app).build();
- }
+ return Response.ok(app).build();
+ }
- @PUT
- @POST
- @Path("/{appid}")
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response modify(Application app, @PathParam("appid") String appid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Modifying application with id: {}", appid);
- EntityManager em = emProvider.get();
- Application currentapp = em.find(Application.class, Integer.parseInt(appid));
- if (currentapp == null) {
- LOG.error("Application with id {} not found in DB", appid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid).build();
- }
- currentapp.setName(app.getName());
- currentapp.setDescription(app.getDescription());
- em.persist(currentapp);
+ @PUT
+ @POST
+ @Path("/{appid}")
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response modify(Application app, @PathParam("appid") String appid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Modifying application with id: {}", appid);
+ EntityManager em = emProvider.get();
+ Application currentapp = em.find(Application.class, Integer.parseInt(appid));
+ if (currentapp == null) {
+ LOG.error("Application with id {} not found in DB", appid);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid)
+ .build();
+ }
+ currentapp.setName(app.getName());
+ currentapp.setDescription(app.getDescription());
+ em.persist(currentapp);
- return Response.ok(currentapp).build();
- }
+ return Response.ok(currentapp).build();
+ }
- @DELETE
- @Path("/{appid}")
- @Transactional
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response delete(@PathParam("appid") String appid, @Context HttpServletRequest request) {
- LOG.info("Deleting app with id: {}", appid);
- EntityManager em = emProvider.get();
- Application app = em.find(Application.class, Integer.parseInt(appid));
- if (app == null) {
- LOG.error("Application with id {} can not be deleted, It was not found in DB", appid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid).build();
- }
+ @DELETE
+ @Path("/{appid}")
+ @Transactional
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response delete(@PathParam("appid") String appid, @Context HttpServletRequest request) {
+ LOG.info("Deleting app with id: {}", appid);
+ EntityManager em = emProvider.get();
+ Application app = em.find(Application.class, Integer.parseInt(appid));
+ if (app == null) {
+ LOG.error("Application with id {} can not be deleted, It was not found in DB", appid);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application not found with ID: " + appid)
+ .build();
+ }
- if (app.getLicenseTypes() != null && app.getLicenseTypes().size() > 0) {
- return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application can not be deleted becasue has assigned one or more License types, ID: " + appid).build();
- }
+ if (app.getLicenseTypes() != null && app.getLicenseTypes().size() > 0) {
+ return Response
+ .status(Status.FORBIDDEN)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER,
+ "Application can not be deleted becasue has assigned one or more License types, ID: " + appid).build();
+ }
- em.remove(app);
- return Response.ok(Utils.createMap("success", true, "id", appid)).build();
- }
+ em.remove(app);
+ return Response.ok(Utils.createMap("success", true, "id", appid)).build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/BasicServices.java b/securis/src/main/java/net/curisit/securis/services/BasicServices.java
index 6e639cc..6844d2d 100644
--- a/securis/src/main/java/net/curisit/securis/services/BasicServices.java
+++ b/securis/src/main/java/net/curisit/securis/services/BasicServices.java
@@ -36,90 +36,87 @@
@Singleton
public class BasicServices {
- private static final Logger LOG = LogManager.getLogger(BasicServices.class);
+ private static final Logger LOG = LogManager.getLogger(BasicServices.class);
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- public BasicServices() {
- }
+ @Inject
+ public BasicServices() {}
- @GET
- @Path("/info")
- @Produces(
- { MediaType.TEXT_PLAIN })
- public Response info(@Context HttpServletRequest request) {
- return Response.ok().entity("License server running OK. Date: " + new Date()).build();
- }
+ @GET
+ @Path("/info")
+ @Produces({ MediaType.TEXT_PLAIN })
+ public Response info(@Context HttpServletRequest request) {
+ return Response.ok().entity("License server running OK. Date: " + new Date()).build();
+ }
- @GET
- @Path("/{module:(admin)|(login)|(licenses)}")
- @Produces(
- { MediaType.TEXT_HTML })
- public Response init(@PathParam("module") String module, @Context HttpServletRequest request) {
- LOG.info("App index main.html");
- String page = "/main.html";
- URI uri = UriBuilder.fromUri(page).build();
- return Response.seeOther(uri).build();
- }
+ @GET
+ @Path("/{module:(admin)|(login)|(licenses)}")
+ @Produces({ MediaType.TEXT_HTML })
+ public Response init(@PathParam("module") String module, @Context HttpServletRequest request) {
+ LOG.info("App index main.html");
+ String page = "/main.html";
+ URI uri = UriBuilder.fromUri(page).build();
+ return Response.seeOther(uri).build();
+ }
- @POST
- @Path("/login")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
- LOG.info("index session: " + request.getSession());
- LOG.info("user: {}, pass: {}", user, password);
- LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
+ @POST
+ @Path("/login")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
+ LOG.info("index session: " + request.getSession());
+ LOG.info("user: {}, pass: {}", user, password);
+ LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
- if ("no".equals(password))
- return Response.status(Status.UNAUTHORIZED).build();
- String tokenAuth = tokenHelper.generateToken(user);
- return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
- }
+ if ("no".equals(password)) {
+ // TODO: Code to text exception handling
+ return Response.status(Status.UNAUTHORIZED).build();
+ }
+ String tokenAuth = tokenHelper.generateToken(user);
+ return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
+ }
- /**
- * Check if current token is valid
- *
- * @param user
- * @param password
- * @param request
- * @return
- */
- @GET
- @Securable()
- @Path("/check")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
- if (token == null)
- token = token2;
- if (token == null)
- return Response.status(Status.FORBIDDEN).build();
- boolean valid = tokenHelper.isTokenValid(token);
- if (!valid)
- return Response.status(Status.UNAUTHORIZED).build();
+ /**
+ * Check if current token is valid
+ *
+ * @param user
+ * @param password
+ * @param request
+ * @return
+ */
+ @GET
+ @Securable()
+ @Path("/check")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
+ if (token == null) {
+ token = token2;
+ }
+ if (token == null) {
+ return Response.status(Status.FORBIDDEN).build();
+ }
+ boolean valid = tokenHelper.isTokenValid(token);
+ if (!valid) {
+ return Response.status(Status.UNAUTHORIZED).build();
+ }
- // LOG.info("Token : " + token);
- String user = tokenHelper.extractUserFromToken(token);
- // LOG.info("Token user: " + user);
- Date date = tokenHelper.extractDateCreationFromToken(token);
- // LOG.info("Token date: " + date);
+ String user = tokenHelper.extractUserFromToken(token);
+ Date date = tokenHelper.extractDateCreationFromToken(token);
- return Response.ok(Utils.createMap("valid", true, "user", user, "date", date)).build();
- }
+ return Response.ok(Utils.createMap("valid", true, "user", user, "date", date)).build();
+ }
- @GET
- @POST
- @Path("/logout")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response logout(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- if (token == null)
- Response.status(Status.BAD_REQUEST).build();
- String user = tokenHelper.extractUserFromToken(token);
- LOG.info("User {} has logged out", user);
- return Response.ok().build();
- }
+ @GET
+ @POST
+ @Path("/logout")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response logout(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ if (token == null) {
+ Response.status(Status.BAD_REQUEST).build();
+ }
+ String user = tokenHelper.extractUserFromToken(token);
+ LOG.info("User {} has logged out", user);
+ return Response.ok().build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
index f7f2ec5..1ef497d 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
@@ -40,317 +40,314 @@
import com.google.inject.persist.Transactional;
/**
- * License resource, this service will provide methods to create, modify and delete licenses
+ * License resource, this service will provide methods to create, modify and
+ * delete licenses
*
* @author roberto <roberto.sanchez@curisit.net>
*/
@Path("/license")
public class LicenseResource {
- private static final Logger LOG = LogManager.getLogger(LicenseResource.class);
+ private static final Logger LOG = LogManager.getLogger(LicenseResource.class);
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- public LicenseResource() {
- }
+ public LicenseResource() {}
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/")
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response index(@QueryParam("packId") Integer packId, @Context BasicSecurityContext bsc) {
- LOG.info("Getting licenses list ");
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/")
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response index(@QueryParam("packId") Integer packId, @Context BasicSecurityContext bsc) {
+ LOG.info("Getting licenses list ");
- EntityManager em = emProvider.get();
+ EntityManager em = emProvider.get();
- if (!bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
- Pack pack = em.find(Pack.class, packId);
- if (pack == null)
- return Response.ok().build();
- if (!bsc.getOrganizationsIds().contains(pack.getOrganization().getId())) {
- LOG.error("Pack with id {} not accesible by user {}", pack, bsc.getUserPrincipal());
- return Response.status(Status.UNAUTHORIZED).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Unathorized access to pack licenses").build();
- }
- }
- TypedQuery<License> q = em.createNamedQuery("list-licenses-by-pack", License.class);
- q.setParameter("packId", packId);
- List<License> list = q.getResultList();
+ if (!bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
+ Pack pack = em.find(Pack.class, packId);
+ if (pack == null) {
+ return Response.ok().build();
+ }
+ if (!bsc.getOrganizationsIds().contains(pack.getOrganization().getId())) {
+ LOG.error("Pack with id {} not accesible by user {}", pack, bsc.getUserPrincipal());
+ return Response.status(Status.UNAUTHORIZED)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Unathorized access to pack licenses").build();
+ }
+ }
+ TypedQuery<License> q = em.createNamedQuery("list-licenses-by-pack", License.class);
+ q.setParameter("packId", packId);
+ List<License> list = q.getResultList();
- return Response.ok(list).build();
- }
+ return Response.ok(list).build();
+ }
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- * @throws SeCurisServiceException
- */
- @GET
- @Path("/{licId}")
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response get(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- LOG.info("Getting organization data for id: {}: ", licId);
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ * @throws SeCurisServiceException
+ */
+ @GET
+ @Path("/{licId}")
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response get(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ LOG.info("Getting organization data for id: {}: ", licId);
- EntityManager em = emProvider.get();
- License lic = getCurrentLicense(licId, bsc, em);
- return Response.ok(lic).build();
- }
+ EntityManager em = emProvider.get();
+ License lic = getCurrentLicense(licId, bsc, em);
+ return Response.ok(lic).build();
+ }
- /**
- *
- * @return The license file, only of license is active
- * @throws SeCurisServiceException
- */
- @GET
- @Path("/{licId}/download")
- @Securable
- @Produces(
- { MediaType.APPLICATION_OCTET_STREAM })
- public Response download(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ /**
+ *
+ * @return The license file, only of license is active
+ * @throws SeCurisServiceException
+ */
+ @GET
+ @Path("/{licId}/download")
+ @Securable
+ @Produces({ MediaType.APPLICATION_OCTET_STREAM })
+ public Response download(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- EntityManager em = emProvider.get();
- License lic = getCurrentLicense(licId, bsc, em);
+ EntityManager em = emProvider.get();
+ License lic = getCurrentLicense(licId, bsc, em);
- if (lic.getLicenseData() == null) {
- LOG.error("License with id {} has not license file generated", licId, bsc.getUserPrincipal());
- throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License has not contain data to generate license file");
- }
- if (License.Status.isActionValid(License.Action.DOWNLOAD, lic.getStatus())) {
- LOG.error("License with id {} is not active, so It can not downloaded", licId, bsc.getUserPrincipal());
- throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License is not active, so It can not be downloaded");
- }
- return Response.ok(lic.getLicenseData()).build();
- }
+ if (lic.getLicenseData() == null) {
+ LOG.error("License with id {} has not license file generated", licId, bsc.getUserPrincipal());
+ throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License has not contain data to generate license file");
+ }
+ if (License.Status.isActionValid(License.Action.DOWNLOAD, lic.getStatus())) {
+ LOG.error("License with id {} is not active, so It can not downloaded", licId, bsc.getUserPrincipal());
+ throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License is not active, so It can not be downloaded");
+ }
+ return Response.ok(lic.getLicenseData()).build();
+ }
- @PUT
- @POST
- @Path("/{licId}/activate")
- @Securable
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response activate(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ @PUT
+ @POST
+ @Path("/{licId}/activate")
+ @Securable
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response activate(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- EntityManager em = emProvider.get();
- License lic = getCurrentLicense(licId, bsc, em);
+ EntityManager em = emProvider.get();
+ License lic = getCurrentLicense(licId, bsc, em);
- if (License.Status.isActionValid(License.Action.ACTIVATION, lic.getStatus())) {
- LOG.error("License with id {} can not be activated from current license status", licId);
- throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License with id " + licId + " can not be activated from the current license status");
- }
+ if (License.Status.isActionValid(License.Action.ACTIVATION, lic.getStatus())) {
+ LOG.error("License with id {} can not be activated from current license status", licId);
+ throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License with id " + licId
+ + " can not be activated from the current license status");
+ }
- lic.setStatus(License.Status.ACTIVE);
- lic.setModificationTimestamp(new Date());
- em.persist(lic);
- User user = getUser(bsc.getUserPrincipal().getName(), em);
- em.persist(createLicenseHistoryAction(lic, user, LicenseHistory.Actions.ACTIVATE));
- return Response.ok(lic).build();
- }
+ lic.setStatus(License.Status.ACTIVE);
+ lic.setModificationTimestamp(new Date());
+ em.persist(lic);
+ User user = getUser(bsc.getUserPrincipal().getName(), em);
+ em.persist(createLicenseHistoryAction(lic, user, LicenseHistory.Actions.ACTIVATE));
+ return Response.ok(lic).build();
+ }
- @PUT
- @POST
- @Path("/{licId}/send")
- @Securable
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response send(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ @PUT
+ @POST
+ @Path("/{licId}/send")
+ @Securable
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response send(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- EntityManager em = emProvider.get();
- License lic = getCurrentLicense(licId, bsc, em);
+ EntityManager em = emProvider.get();
+ License lic = getCurrentLicense(licId, bsc, em);
- User user = getUser(bsc.getUserPrincipal().getName(), em);
- // TODO: Send mail with lic file
- lic.setModificationTimestamp(new Date());
- em.persist(lic);
- em.persist(createLicenseHistoryAction(lic, user, LicenseHistory.Actions.SEND, "Email sent to: " + lic.getEmail()));
- return Response.ok(lic).build();
- }
+ User user = getUser(bsc.getUserPrincipal().getName(), em);
+ // TODO: Send mail with lic file
+ lic.setModificationTimestamp(new Date());
+ em.persist(lic);
+ em.persist(createLicenseHistoryAction(lic, user, LicenseHistory.Actions.SEND, "Email sent to: " + lic.getEmail()));
+ return Response.ok(lic).build();
+ }
- @PUT
- @POST
- @Path("/{licId}/cancel")
- @Securable
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response cancel(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ @PUT
+ @POST
+ @Path("/{licId}/cancel")
+ @Securable
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response cancel(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- EntityManager em = emProvider.get();
- License lic = getCurrentLicense(licId, bsc, em);
+ EntityManager em = emProvider.get();
+ License lic = getCurrentLicense(licId, bsc, em);
- if (License.Status.isActionValid(License.Action.CANCEL, lic.getStatus())) {
- LOG.error("License with id {} can not be canceled from current license status", licId);
- throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License with id " + licId + " can not be canceled from the current license status");
- }
+ if (License.Status.isActionValid(License.Action.CANCEL, lic.getStatus())) {
+ LOG.error("License with id {} can not be canceled from current license status", licId);
+ throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "License with id " + licId
+ + " can not be canceled from the current license status");
+ }
- lic.setStatus(License.Status.CANCELED);
- lic.setModificationTimestamp(new Date());
- em.persist(lic);
+ lic.setStatus(License.Status.CANCELED);
+ lic.setModificationTimestamp(new Date());
+ em.persist(lic);
- User user = getUser(bsc.getUserPrincipal().getName(), em);
- em.persist(createLicenseHistoryAction(lic, user, LicenseHistory.Actions.CANCEL));
- return Response.ok(lic).build();
- }
+ User user = getUser(bsc.getUserPrincipal().getName(), em);
+ em.persist(createLicenseHistoryAction(lic, user, LicenseHistory.Actions.CANCEL));
+ return Response.ok(lic).build();
+ }
- @POST
- @Path("/")
- @Consumes(MediaType.APPLICATION_JSON)
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- public Response create(License lic, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- LOG.info("Creating new license from create()");
- EntityManager em = emProvider.get();
- Pack pack = null;
- if (lic.getPackId() != null) {
- pack = em.find(Pack.class, lic.getPackId());
- if (pack == null) {
- LOG.error("License pack with id {} not found in DB", lic.getPackId());
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's pack not found with ID: " + lic.getPackId()).build();
- } else {
- if (!bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
- if (!bsc.getOrganizationsIds().contains(pack.getOrganization().getId())) {
- LOG.error("License for pack with id {} can not be created by user {}", pack.getId(), bsc.getUserPrincipal());
- return Response.status(Status.UNAUTHORIZED).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Unathorized action on pack license").build();
- }
- }
- }
- }
+ @POST
+ @Path("/")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ public Response create(License lic, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ LOG.info("Creating new license from create()");
+ EntityManager em = emProvider.get();
+ Pack pack = null;
+ if (lic.getPackId() != null) {
+ pack = em.find(Pack.class, lic.getPackId());
+ if (pack == null) {
+ LOG.error("License pack with id {} not found in DB", lic.getPackId());
+ return Response.status(Status.NOT_FOUND)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License's pack not found with ID: " + lic.getPackId()).build();
+ } else {
+ if (!bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
+ if (!bsc.getOrganizationsIds().contains(pack.getOrganization().getId())) {
+ LOG.error("License for pack with id {} can not be created by user {}", pack.getId(), bsc.getUserPrincipal());
+ return Response.status(Status.UNAUTHORIZED)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Unathorized action on pack license").build();
+ }
+ }
+ }
+ }
- User createdBy = getUser(bsc.getUserPrincipal().getName(), em);
+ User createdBy = getUser(bsc.getUserPrincipal().getName(), em);
- // ODO: Manage status if request data is set
- lic.setCreatedBy(createdBy);
- lic.setStatus(License.Status.CREATED);
- lic.setCreationTimestamp(new Date());
- lic.setModificationTimestamp(lic.getCreationTimestamp());
- em.persist(lic);
- em.persist(createLicenseHistoryAction(lic, createdBy, LicenseHistory.Actions.CREATE));
+ // ODO: Manage status if request data is set
+ lic.setCreatedBy(createdBy);
+ lic.setStatus(License.Status.CREATED);
+ lic.setCreationTimestamp(new Date());
+ lic.setModificationTimestamp(lic.getCreationTimestamp());
+ em.persist(lic);
+ em.persist(createLicenseHistoryAction(lic, createdBy, LicenseHistory.Actions.CREATE));
- return Response.ok(lic).build();
- }
+ return Response.ok(lic).build();
+ }
- @POST
- @Path("/")
- @Consumes(MediaType.MULTIPART_FORM_DATA)
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- public Response createWithFile(MultipartFormDataInput mpfdi, @Context BasicSecurityContext bsc) throws IOException, SeCurisServiceException {
- License lic = new License();
- lic.setCode(mpfdi.getFormDataPart("code", String.class, null));
- lic.setRequestData(mpfdi.getFormDataPart("request_data", String.class, null));
- lic.setPackId(mpfdi.getFormDataPart("pack_id", Integer.class, null));
- lic.setFullName(mpfdi.getFormDataPart("full_name", String.class, null));
- lic.setEmail(mpfdi.getFormDataPart("email", String.class, null));
- lic.setComments(mpfdi.getFormDataPart("comments", String.class, null));
+ @POST
+ @Path("/")
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ public Response createWithFile(MultipartFormDataInput mpfdi, @Context BasicSecurityContext bsc) throws IOException, SeCurisServiceException {
+ License lic = new License();
+ lic.setCode(mpfdi.getFormDataPart("code", String.class, null));
+ lic.setRequestData(mpfdi.getFormDataPart("request_data", String.class, null));
+ lic.setPackId(mpfdi.getFormDataPart("pack_id", Integer.class, null));
+ lic.setFullName(mpfdi.getFormDataPart("full_name", String.class, null));
+ lic.setEmail(mpfdi.getFormDataPart("email", String.class, null));
+ lic.setComments(mpfdi.getFormDataPart("comments", String.class, null));
- return create(lic, bsc);
- }
+ return create(lic, bsc);
+ }
- @PUT
- @POST
- @Path("/{licId}")
- @Securable
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response modify(License lic, @PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- LOG.info("Modifying organization with id: {}", licId);
+ @PUT
+ @POST
+ @Path("/{licId}")
+ @Securable
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response modify(License lic, @PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ LOG.info("Modifying organization with id: {}", licId);
- EntityManager em = emProvider.get();
+ EntityManager em = emProvider.get();
- License currentLicense = getCurrentLicense(licId, bsc, em);
+ License currentLicense = getCurrentLicense(licId, bsc, em);
- currentLicense.setCode(lic.getCode());
- currentLicense.setFullName(lic.getFullName());
- currentLicense.setEmail(lic.getEmail());
- currentLicense.setRequestData(lic.getRequestData());
- currentLicense.setModificationTimestamp(new Date());
- em.persist(currentLicense);
+ currentLicense.setCode(lic.getCode());
+ currentLicense.setFullName(lic.getFullName());
+ currentLicense.setEmail(lic.getEmail());
+ currentLicense.setRequestData(lic.getRequestData());
+ currentLicense.setModificationTimestamp(new Date());
+ em.persist(currentLicense);
- return Response.ok(currentLicense).build();
- }
+ return Response.ok(currentLicense).build();
+ }
- @DELETE
- @Path("/{licId}")
- @Transactional
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response delete(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
- LOG.info("Deleting license with id: {}", licId);
- EntityManager em = emProvider.get();
- License lic = getCurrentLicense(licId, bsc, em);
+ @DELETE
+ @Path("/{licId}")
+ @Transactional
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response delete(@PathParam("licId") Integer licId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
+ LOG.info("Deleting license with id: {}", licId);
+ EntityManager em = emProvider.get();
+ License lic = getCurrentLicense(licId, bsc, em);
- if (lic.getStatus() != License.Status.CANCELED || lic.getStatus() != License.Status.CREATED) {
- LOG.error("License {} can not be deleted with status {}", lic.getCode(), lic.getStatus());
- return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License can not be deleted in current status").build();
- }
+ if (lic.getStatus() != License.Status.CANCELED || lic.getStatus() != License.Status.CREATED) {
+ LOG.error("License {} can not be deleted with status {}", lic.getCode(), lic.getStatus());
+ return Response.status(Status.FORBIDDEN)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License can not be deleted in current status").build();
+ }
- em.remove(lic);
- return Response.ok(Utils.createMap("success", true, "id", licId)).build();
- }
+ em.remove(lic);
+ return Response.ok(Utils.createMap("success", true, "id", licId)).build();
+ }
- private License getCurrentLicense(Integer licId, BasicSecurityContext bsc, EntityManager em) throws SeCurisServiceException {
- if (licId == null || licId.equals("")) {
- LOG.error("License ID is mandatory");
- throw new SeCurisServiceException(Status.NOT_FOUND.getStatusCode(), "Missing license ID");
- }
+ private License getCurrentLicense(Integer licId, BasicSecurityContext bsc, EntityManager em) throws SeCurisServiceException {
+ if (licId == null || "".equals(licId)) {
+ LOG.error("License ID is mandatory");
+ throw new SeCurisServiceException(Status.NOT_FOUND.getStatusCode(), "Missing license ID");
+ }
- License lic = em.find(License.class, licId);
- if (lic == null) {
- LOG.error("License with id {} not found in DB", licId);
- throw new SeCurisServiceException(Status.NOT_FOUND.getStatusCode(), "License not found for ID: " + licId);
- }
- if (!bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
- if (!bsc.getOrganizationsIds().contains(lic.getPack().getOrganization().getId())) {
- LOG.error("License with id {} is not accesible by user {}", licId, bsc.getUserPrincipal());
- throw new SeCurisServiceException(Status.UNAUTHORIZED.getStatusCode(), "Unathorized access to license data");
- }
- }
- return lic;
- }
+ License lic = em.find(License.class, licId);
+ if (lic == null) {
+ LOG.error("License with id {} not found in DB", licId);
+ throw new SeCurisServiceException(Status.NOT_FOUND.getStatusCode(), "License not found for ID: " + licId);
+ }
+ if (!bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
+ if (!bsc.getOrganizationsIds().contains(lic.getPack().getOrganization().getId())) {
+ LOG.error("License with id {} is not accesible by user {}", licId, bsc.getUserPrincipal());
+ throw new SeCurisServiceException(Status.UNAUTHORIZED.getStatusCode(), "Unathorized access to license data");
+ }
+ }
+ return lic;
+ }
- private User getUser(String username, EntityManager em) throws SeCurisServiceException {
- User user = null;
- if (username != null) {
- user = em.find(User.class, username);
- if (user == null) {
- throw new SeCurisServiceException(Status.NOT_FOUND.getStatusCode(), "User not found with username: " + username);
- }
- }
- return user;
- }
+ private User getUser(String username, EntityManager em) throws SeCurisServiceException {
+ User user = null;
+ if (username != null) {
+ user = em.find(User.class, username);
+ if (user == null) {
+ throw new SeCurisServiceException(Status.NOT_FOUND.getStatusCode(), "User not found with username: " + username);
+ }
+ }
+ return user;
+ }
- private LicenseHistory createLicenseHistoryAction(License lic, User user, String action, String comments) {
- LicenseHistory lh = new LicenseHistory();
- lh.setLicense(lic);
- lh.setUser(user);
- lh.setTimestamp(new Date());
- lh.setAction(action);
- lh.setComments(comments);
- return lh;
- }
+ private LicenseHistory createLicenseHistoryAction(License lic, User user, String action, String comments) {
+ LicenseHistory lh = new LicenseHistory();
+ lh.setLicense(lic);
+ lh.setUser(user);
+ lh.setTimestamp(new Date());
+ lh.setAction(action);
+ lh.setComments(comments);
+ return lh;
+ }
- private LicenseHistory createLicenseHistoryAction(License lic, User user, String action) {
- return createLicenseHistoryAction(lic, user, action, null);
- }
+ private LicenseHistory createLicenseHistoryAction(License lic, User user, String action) {
+ return createLicenseHistoryAction(lic, user, action, null);
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseServices.java b/securis/src/main/java/net/curisit/securis/services/LicenseServices.java
index 1eab294..45e5c10 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseServices.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseServices.java
@@ -32,99 +32,95 @@
@Path("/test")
public class LicenseServices {
- // private LicenseHelper licenseHelper = InjectorFactory.getInjector().getInstance(LicenseHelper.class);
- private static final Logger LOG = LogManager.getLogger(LicenseServices.class);
+ private static final Logger LOG = LogManager.getLogger(LicenseServices.class);
- private static final int DEFAULT_LICENSE_EXPIRATION = 365;
- private static final String LICENSE_STRING = "CurisIntegrity Config Server v{0}.{1}";
+ private static final int DEFAULT_LICENSE_EXPIRATION = 365;
+ private static final String LICENSE_STRING = "CurisIntegrity Config Server v{0}.{1}";
- @com.google.inject.Inject
- @Named("base-uri")
- private URI uri;
+ @com.google.inject.Inject
+ @Named("base-uri")
+ private URI uri;
- public LicenseServices() {
+ public LicenseServices() {
- }
+ }
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Produces(
- { MediaType.TEXT_HTML })
- public Response index() {
- try {
- String index = IOUtils.toString(this.getClass().getResourceAsStream("/static/index.html"));
- return Response.ok().entity(index).build();
- } catch (IOException e) {
- LOG.error("Error getting index.html", e);
- }
- return Response.ok().entity(MessageFormat.format(LICENSE_STRING, 0, 1)).build();
- }
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Produces({ MediaType.TEXT_HTML })
+ public Response index() {
+ try {
+ String index = IOUtils.toString(this.getClass().getResourceAsStream("/static/index.html"));
+ return Response.ok().entity(index).build();
+ } catch (IOException e) {
+ LOG.error("Error getting index.html", e);
+ }
+ return Response.ok().entity(MessageFormat.format(LICENSE_STRING, 0, 1)).build();
+ }
- @GET
- @Path("/dummy")
- @Produces(
- { MediaType.TEXT_PLAIN })
- public Response dummy(@Context HttpServletRequest request) {
- LOG.info("Request: " + request.getPathInfo());
- return Response.ok().entity((uri == null)).build();
- }
+ @GET
+ @Path("/dummy")
+ @Produces({ MediaType.TEXT_PLAIN })
+ public Response dummy(@Context HttpServletRequest request) {
+ LOG.info("Request: " + request.getPathInfo());
+ return Response.ok().entity((uri == null)).build();
+ }
- /**
- * @return the version of the three entities that can be synchronized (Users, DataSet and Settings)
- */
- @POST
- @Path("/upload1")
- @Consumes(MediaType.MULTIPART_FORM_DATA)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response testFile1(@MultipartForm FileUploadForm mfdi) {
- LOG.info("FORM: texto: {}, file: {}", mfdi.getTexto(), new String(mfdi.getFile()));
- return Response.ok("OK").build();
- }
+ /**
+ * @return the version of the three entities that can be synchronized
+ * (Users, DataSet and Settings)
+ */
+ @POST
+ @Path("/upload1")
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response testFile1(@MultipartForm FileUploadForm mfdi) {
+ LOG.info("FORM: texto: {}, file: {}", mfdi.getTexto(), new String(mfdi.getFile()));
+ return Response.ok("OK").build();
+ }
- @GET
- @Path("/current/{license}")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public ServiceResponse<ServerConfigVersions> testFile(@PathParam("license") String license, @DefaultValue("-1") @QueryParam("minorVersion") int minorVersion, @DefaultValue("-1") @QueryParam("majorVersion") int majorVersion) {
+ @GET
+ @Path("/current/{license}")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public ServiceResponse<ServerConfigVersions> testFile(@PathParam("license") String license,
+ @DefaultValue("-1") @QueryParam("minorVersion") int minorVersion, @DefaultValue("-1") @QueryParam("majorVersion") int majorVersion) {
- LOG.info("Called 'current' service with license: {}", license);
- ServiceResponse<ServerConfigVersions> response = new ServiceResponse<ServerConfigVersions>();
+ LOG.info("Called 'current' service with license: {}", license);
+ ServiceResponse<ServerConfigVersions> response = new ServiceResponse<ServerConfigVersions>();
- return response;
- }
+ return response;
+ }
- public static class FileUploadForm {
+ public static class FileUploadForm {
- @FormParam("file1")
- @PartType("application/octet-stream")
- private byte[] file;
+ @FormParam("file1")
+ @PartType("application/octet-stream")
+ private byte[] file;
- @FormParam("texto1")
- @PartType("text/plain")
- private String texto;
+ @FormParam("texto1")
+ @PartType("text/plain")
+ private String texto;
- public FileUploadForm() {
- }
+ public FileUploadForm() {}
- public byte[] getFile() {
- return file;
- }
+ public byte[] getFile() {
+ return file;
+ }
- public void setFile(byte[] file) {
- this.file = file;
- }
+ public void setFile(byte[] file) {
+ this.file = file;
+ }
- public void setTexto(final String texto) {
- this.texto = texto;
- }
+ public void setTexto(final String texto) {
+ this.texto = texto;
+ }
- public String getTexto() {
- return texto;
- }
+ public String getTexto() {
+ return texto;
+ }
- }
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
index 9218b96..1906c3b 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
@@ -35,152 +35,149 @@
import com.google.inject.persist.Transactional;
/**
- * LicenseType resource, this service will provide methods to create, modify and delete license types
+ * LicenseType resource, this service will provide methods to create, modify and
+ * delete license types
*
* @author roberto <roberto.sanchez@curisit.net>
*/
@Path("/licensetype")
public class LicenseTypeResource {
- private static final Logger LOG = LogManager.getLogger(LicenseTypeResource.class);
+ private static final Logger LOG = LogManager.getLogger(LicenseTypeResource.class);
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- public LicenseTypeResource() {
- }
+ public LicenseTypeResource() {}
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response index() {
- LOG.info("Getting license types list ");
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response index() {
+ LOG.info("Getting license types list ");
- EntityManager em = emProvider.get();
- TypedQuery<LicenseType> q = em.createNamedQuery("list-license_types", LicenseType.class);
- List<LicenseType> list = q.getResultList();
+ EntityManager em = emProvider.get();
+ TypedQuery<LicenseType> q = em.createNamedQuery("list-license_types", LicenseType.class);
+ List<LicenseType> list = q.getResultList();
- return Response.ok(list).build();
- }
+ return Response.ok(list).build();
+ }
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/{ltid}")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response get(@PathParam("ltid") String ltid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Getting license type data for id: {}: ", ltid);
- if (ltid == null || ltid.equals("")) {
- LOG.error("LicenseType ID is mandatory");
- return Response.status(Status.NOT_FOUND).build();
- }
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/{ltid}")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response get(@PathParam("ltid") String ltid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Getting license type data for id: {}: ", ltid);
+ if (ltid == null || "".equals(ltid)) {
+ LOG.error("LicenseType ID is mandatory");
+ return Response.status(Status.NOT_FOUND).build();
+ }
- EntityManager em = emProvider.get();
- LicenseType lt = em.find(LicenseType.class, Integer.parseInt(ltid));
- if (lt == null) {
- LOG.error("LicenseType with id {} not found in DB", ltid);
- return Response.status(Status.NOT_FOUND).build();
- }
- return Response.ok(lt).build();
- }
+ EntityManager em = emProvider.get();
+ LicenseType lt = em.find(LicenseType.class, Integer.parseInt(ltid));
+ if (lt == null) {
+ LOG.error("LicenseType with id {} not found in DB", ltid);
+ return Response.status(Status.NOT_FOUND).build();
+ }
+ return Response.ok(lt).build();
+ }
- @POST
- @Path("/")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- public Response create(LicenseType lt, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Creating new license type");
- EntityManager em = emProvider.get();
+ @POST
+ @Path("/")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ public Response create(LicenseType lt, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Creating new license type");
+ EntityManager em = emProvider.get();
- try {
- setApplication(lt, lt.getApplicationId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
-
- if (lt.getApplicationId() == null) {
- LOG.error("Application is missing for current license type data");
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application is missing for current license type data").build();
- }
+ try {
+ setApplication(lt, lt.getApplicationId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- lt.setCreationTimestamp(new Date());
- em.persist(lt);
+ if (lt.getApplicationId() == null) {
+ LOG.error("Application is missing for current license type data");
+ return Response.status(Status.NOT_FOUND)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Application is missing for current license type data").build();
+ }
- return Response.ok(lt).build();
- }
+ lt.setCreationTimestamp(new Date());
+ em.persist(lt);
- @PUT
- @POST
- @Path("/{ltid}")
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response modify(LicenseType lt, @PathParam("ltid") String ltid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Modifying license type with id: {}", ltid);
- EntityManager em = emProvider.get();
- LicenseType currentlt = em.find(LicenseType.class, Integer.parseInt(ltid));
- if (currentlt == null) {
- LOG.error("LicenseType with id {} not found in DB", ltid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License type not found with ID: " + ltid).build();
- }
+ return Response.ok(lt).build();
+ }
- try {
- setApplication(currentlt, lt.getApplicationId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
-
- currentlt.setCode(lt.getCode());
- currentlt.setName(lt.getName());
- currentlt.setDescription(lt.getDescription());
- em.persist(currentlt);
+ @PUT
+ @POST
+ @Path("/{ltid}")
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response modify(LicenseType lt, @PathParam("ltid") String ltid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Modifying license type with id: {}", ltid);
+ EntityManager em = emProvider.get();
+ LicenseType currentlt = em.find(LicenseType.class, Integer.parseInt(ltid));
+ if (currentlt == null) {
+ LOG.error("LicenseType with id {} not found in DB", ltid);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "License type not found with ID: " + ltid)
+ .build();
+ }
- return Response.ok(currentlt).build();
- }
+ try {
+ setApplication(currentlt, lt.getApplicationId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- private void setApplication(LicenseType licType, Integer applicationId, EntityManager em) throws SeCurisException {
- Application app = null;
- if (applicationId != null) {
- app = em.find(Application.class, applicationId);
- if (app == null) {
- LOG.error("LicenseType application with id {} not found in DB", applicationId);
-
- throw new SecurityException("License type's app not found with ID: " + applicationId);
- }
- }
- licType.setApplication(app);
- }
+ currentlt.setCode(lt.getCode());
+ currentlt.setName(lt.getName());
+ currentlt.setDescription(lt.getDescription());
+ em.persist(currentlt);
- @DELETE
- @Path("/{ltid}")
- @Transactional
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response delete(@PathParam("ltid") String ltid, @Context HttpServletRequest request) {
- LOG.info("Deleting app with id: {}", ltid);
- EntityManager em = emProvider.get();
- LicenseType app = em.find(LicenseType.class, Integer.parseInt(ltid));
- if (app == null) {
- LOG.error("LicenseType with id {} can not be deleted, It was not found in DB", ltid);
- return Response.status(Status.NOT_FOUND).build();
- }
+ return Response.ok(currentlt).build();
+ }
- em.remove(app);
- return Response.ok(Utils.createMap("success", true, "id", ltid)).build();
- }
+ private void setApplication(LicenseType licType, Integer applicationId, EntityManager em) throws SeCurisException {
+ Application app = null;
+ if (applicationId != null) {
+ app = em.find(Application.class, applicationId);
+ if (app == null) {
+ LOG.error("LicenseType application with id {} not found in DB", applicationId);
+
+ throw new SecurityException("License type's app not found with ID: " + applicationId);
+ }
+ }
+ licType.setApplication(app);
+ }
+
+ @DELETE
+ @Path("/{ltid}")
+ @Transactional
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response delete(@PathParam("ltid") String ltid, @Context HttpServletRequest request) {
+ LOG.info("Deleting app with id: {}", ltid);
+ EntityManager em = emProvider.get();
+ LicenseType app = em.find(LicenseType.class, Integer.parseInt(ltid));
+ if (app == null) {
+ LOG.error("LicenseType with id {} can not be deleted, It was not found in DB", ltid);
+ return Response.status(Status.NOT_FOUND).build();
+ }
+
+ em.remove(app);
+ return Response.ok(Utils.createMap("success", true, "id", ltid)).build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
index 8a51b35..63df387 100644
--- a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
@@ -40,231 +40,223 @@
import com.google.inject.persist.Transactional;
/**
- * Organization resource, this service will provide methods to create, modify and delete organizations
+ * Organization resource, this service will provide methods to create, modify
+ * and delete organizations
*
* @author roberto <roberto.sanchez@curisit.net>
*/
@Path("/organization")
public class OrganizationResource {
- private static final Logger LOG = LogManager.getLogger(OrganizationResource.class);
+ private static final Logger LOG = LogManager.getLogger(OrganizationResource.class);
- @Inject
- private Provider<EntityManager> emProvider;
+ @Inject
+ private Provider<EntityManager> emProvider;
- public OrganizationResource() {
- }
+ public OrganizationResource() {}
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/")
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Securable
- // @RolesAllowed(SecurityContextWrapper.ROL_ADVANCE)
- public Response index(@Context BasicSecurityContext bsc) {
- LOG.info("Getting organizations list ");
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/")
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Securable
+ public Response index(@Context BasicSecurityContext bsc) {
+ LOG.info("Getting organizations list ");
- // LOG.info("User orgs: {}", request.getAttribute("oser_orgs"));
- BasicSecurityContext bsc2 = ResteasyProviderFactory.getContextData(BasicSecurityContext.class);
- LOG.info("bsc: {}", bsc);
- LOG.info("bsc2: {}", bsc2);
- // LOG.info("securityContext: {}", scw);
- LOG.info("securityContext ROL_ADMIN?: {}", bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN));
- EntityManager em = emProvider.get();
- TypedQuery<Organization> q;
- if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
- LOG.info("GEtting all orgs for user: " + bsc.getUserPrincipal());
- q = em.createNamedQuery("list-organizations", Organization.class);
- } else {
- q = em.createNamedQuery("list-organizations", Organization.class);
- // if (securityContext.getOrganizationsIds() == null)
- // Response.ok().build();
- // LOG.info("Getting only {} orgs for user: {}", securityContext.getOrganizationsIds(), securityContext.getUserPrincipal());
- // q = em.createNamedQuery("list-organizations-by-ids", Organization.class);
- // q.setParameter("list_ids", securityContext.getOrganizationsIds());
- }
+ BasicSecurityContext bsc2 = ResteasyProviderFactory.getContextData(BasicSecurityContext.class);
+ LOG.debug("securityContext ROL_ADMIN?: {}", bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN));
+ EntityManager em = emProvider.get();
+ TypedQuery<Organization> q;
+ if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
+ LOG.info("GEtting all orgs for user: " + bsc.getUserPrincipal());
+ q = em.createNamedQuery("list-organizations", Organization.class);
+ } else {
+ q = em.createNamedQuery("list-organizations", Organization.class);
+ }
- List<Organization> list = q.getResultList();
+ List<Organization> list = q.getResultList();
- return Response.ok(list).build();
- }
+ return Response.ok(list).build();
+ }
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/{orgid}")
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Securable
- public Response get(@PathParam("orgid") String orgid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Getting organization data for id: {}: ", orgid);
- if (orgid == null || orgid.equals("")) {
- LOG.error("Organization ID is mandatory");
- return Response.status(Status.NOT_FOUND).build();
- }
- // if (!securityContext.isOrgAccesible(Integer.parseInt(orgid))) {
- // LOG.error("Organization with id {} not accessible for user: {}", orgid, securityContext.getUserPrincipal());
- // return Response.status(Status.UNAUTHORIZED).build();
- // }
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/{orgid}")
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Securable
+ public Response get(@PathParam("orgid") String orgid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Getting organization data for id: {}: ", orgid);
+ if (orgid == null || "".equals(orgid)) {
+ LOG.error("Organization ID is mandatory");
+ return Response.status(Status.NOT_FOUND).build();
+ }
- EntityManager em = emProvider.get();
- Organization org = em.find(Organization.class, Integer.parseInt(orgid));
- if (org == null) {
- LOG.error("Organization with id {} not found in DB", orgid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization not found, id: " + orgid).build();
- }
- return Response.ok(org).build();
- }
+ EntityManager em = emProvider.get();
+ Organization org = em.find(Organization.class, Integer.parseInt(orgid));
+ if (org == null) {
+ LOG.error("Organization with id {} not found in DB", orgid);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization not found, id: " + orgid)
+ .build();
+ }
+ return Response.ok(org).build();
+ }
- private boolean isCyclicalRelationship(int currentId, Organization parent) {
- while (parent != null) {
- if (parent.getId() == currentId)
- return true;
- parent = parent.getParentOrganization();
- }
- return false;
- }
+ private boolean isCyclicalRelationship(int currentId, Organization parent) {
+ while (parent != null) {
+ if (parent.getId() == currentId) {
+ return true;
+ }
+ parent = parent.getParentOrganization();
+ }
+ return false;
+ }
- @POST
- @Path("/")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- @Securable
- @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
- public Response create(Organization org, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Creating new organization");
- EntityManager em = emProvider.get();
-
- try {
- this.setParentOrg(org, org.getParentOrgId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
-
- List<User> users = null;
- List<String> usersIds = org.getUsersIds();
- if (usersIds != null && usersIds.size() > 0) {
- users = new ArrayList<>();
- for (String username : usersIds) {
- User user = em.find(User.class, username);
- if (user == null) {
- LOG.error("Organization user with id {} not found in DB", username);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization's user not found with ID: " + username).build();
- }
- users.add(user);
- }
- }
+ @POST
+ @Path("/")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ @Securable
+ @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
+ public Response create(Organization org, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Creating new organization");
+ EntityManager em = emProvider.get();
- org.setUsers(users);
- org.setCreationTimestamp(new Date());
- em.persist(org);
+ try {
+ this.setParentOrg(org, org.getParentOrgId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- return Response.ok(org).build();
- }
-
- private void setParentOrg(Organization org, Integer parentOrgId, EntityManager em) throws SeCurisException {
- Organization parentOrg = null;
- if (parentOrgId != null) {
- parentOrg = em.find(Organization.class, parentOrgId);
- if (parentOrg == null) {
- LOG.error("Organization parent with id {} not found in DB", org.getParentOrgId());
- throw new SecurityException("Organization's parent not found with ID: " + org.getParentOrgId());
- }
- }
+ List<User> users = null;
+ List<String> usersIds = org.getUsersIds();
+ if (usersIds != null && usersIds.size() > 0) {
+ users = new ArrayList<>();
+ for (String username : usersIds) {
+ User user = em.find(User.class, username);
+ if (user == null) {
+ LOG.error("Organization user with id {} not found in DB", username);
+ return Response.status(Status.NOT_FOUND)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization's user not found with ID: " + username).build();
+ }
+ users.add(user);
+ }
+ }
- org.setParentOrganization(parentOrg);
- }
+ org.setUsers(users);
+ org.setCreationTimestamp(new Date());
+ em.persist(org);
- private void setOrgUsers(Organization org, List<String> usersIds, EntityManager em) throws SeCurisException {
- List<User> users = null;
- if (usersIds != null && usersIds.size() > 0) {
- users = new ArrayList<>();
- for (String username : usersIds) {
- User user = em.find(User.class, username);
- if (user == null) {
- LOG.error("Organization user with id '{}' not found in DB", username);
- throw new SecurityException("Organization's user not found with ID: " + username);
- }
- users.add(user);
- }
- }
+ return Response.ok(org).build();
+ }
- org.setUsers(users);
- }
+ private void setParentOrg(Organization org, Integer parentOrgId, EntityManager em) throws SeCurisException {
+ Organization parentOrg = null;
+ if (parentOrgId != null) {
+ parentOrg = em.find(Organization.class, parentOrgId);
+ if (parentOrg == null) {
+ LOG.error("Organization parent with id {} not found in DB", org.getParentOrgId());
+ throw new SecurityException("Organization's parent not found with ID: " + org.getParentOrgId());
+ }
+ }
- @PUT
- @POST
- @Path("/{orgid}")
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Securable
- @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
- public Response modify(Organization org, @PathParam("orgid") String orgid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Modifying organization with id: {}", orgid);
- EntityManager em = emProvider.get();
- Organization currentOrg = em.find(Organization.class, Integer.parseInt(orgid));
- if (currentOrg == null) {
- LOG.error("Organization with id {} not found in DB", orgid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization not found with ID: " + orgid).build();
- }
- try {
- this.setParentOrg(currentOrg, org.getParentOrgId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
- if (org.getParentOrganization() != null) {
- if (isCyclicalRelationship(currentOrg.getId(), org.getParentOrganization())) {
- LOG.error("Organization parent generate a cyclical relationship, parent id {}, current id: {}", org.getParentOrgId(), currentOrg.getId());
- return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Cyclical relationships are not allowed, please change the parent organization, current Parent: " + org.getParentOrganization().getName()).build();
- }
- }
-
- try {
- setOrgUsers(currentOrg, org.getUsersIds(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
+ org.setParentOrganization(parentOrg);
+ }
- currentOrg.setCode(org.getCode());
- currentOrg.setName(org.getName());
- currentOrg.setDescription(org.getDescription());
- em.persist(currentOrg);
+ private void setOrgUsers(Organization org, List<String> usersIds, EntityManager em) throws SeCurisException {
+ List<User> users = null;
+ if (usersIds != null && usersIds.size() > 0) {
+ users = new ArrayList<>();
+ for (String username : usersIds) {
+ User user = em.find(User.class, username);
+ if (user == null) {
+ LOG.error("Organization user with id '{}' not found in DB", username);
+ throw new SecurityException("Organization's user not found with ID: " + username);
+ }
+ users.add(user);
+ }
+ }
- return Response.ok(currentOrg).build();
- }
+ org.setUsers(users);
+ }
- @DELETE
- @Path("/{orgid}")
- @Transactional
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Securable
- @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
- public Response delete(@PathParam("orgid") String orgid, @Context HttpServletRequest request) {
- LOG.info("Deleting organization with id: {}", orgid);
- EntityManager em = emProvider.get();
- Organization org = em.find(Organization.class, Integer.parseInt(orgid));
- if (org == null) {
- LOG.error("Organization with id {} can not be deleted, It was not found in DB", orgid);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization was not found, ID: " + orgid).build();
- }
- if (org.getChildOrganizations() != null && org.getChildOrganizations().size() > 0) {
- LOG.error("Organization has children and can not be deleted, ID: " + orgid);
- return Response.status(Status.FORBIDDEN).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization has children and can not be deleted, ID: " + orgid).build();
- }
+ @PUT
+ @POST
+ @Path("/{orgid}")
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Securable
+ @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
+ public Response modify(Organization org, @PathParam("orgid") String orgid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Modifying organization with id: {}", orgid);
+ EntityManager em = emProvider.get();
+ Organization currentOrg = em.find(Organization.class, Integer.parseInt(orgid));
+ if (currentOrg == null) {
+ LOG.error("Organization with id {} not found in DB", orgid);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization not found with ID: " + orgid)
+ .build();
+ }
+ try {
+ this.setParentOrg(currentOrg, org.getParentOrgId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
+ if (org.getParentOrganization() != null) {
+ if (isCyclicalRelationship(currentOrg.getId(), org.getParentOrganization())) {
+ LOG.error("Organization parent generate a cyclical relationship, parent id {}, current id: {}", org.getParentOrgId(),
+ currentOrg.getId());
+ return Response
+ .status(Status.FORBIDDEN)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER,
+ "Cyclical relationships are not allowed, please change the parent organization, current Parent: "
+ + org.getParentOrganization().getName()).build();
+ }
+ }
- em.remove(org);
- return Response.ok(Utils.createMap("success", true, "id", orgid)).build();
- }
+ try {
+ setOrgUsers(currentOrg, org.getUsersIds(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
+
+ currentOrg.setCode(org.getCode());
+ currentOrg.setName(org.getName());
+ currentOrg.setDescription(org.getDescription());
+ em.persist(currentOrg);
+
+ return Response.ok(currentOrg).build();
+ }
+
+ @DELETE
+ @Path("/{orgid}")
+ @Transactional
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Securable
+ @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
+ public Response delete(@PathParam("orgid") String orgid, @Context HttpServletRequest request) {
+ LOG.info("Deleting organization with id: {}", orgid);
+ EntityManager em = emProvider.get();
+ Organization org = em.find(Organization.class, Integer.parseInt(orgid));
+ if (org == null) {
+ LOG.error("Organization with id {} can not be deleted, It was not found in DB", orgid);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization was not found, ID: " + orgid)
+ .build();
+ }
+ if (org.getChildOrganizations() != null && org.getChildOrganizations().size() > 0) {
+ LOG.error("Organization has children and can not be deleted, ID: " + orgid);
+ return Response.status(Status.FORBIDDEN)
+ .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Organization has children and can not be deleted, ID: " + orgid).build();
+ }
+
+ em.remove(org);
+ return Response.ok(Utils.createMap("success", true, "id", orgid)).build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/PackResource.java b/securis/src/main/java/net/curisit/securis/services/PackResource.java
index 03978de..fa4291a 100644
--- a/securis/src/main/java/net/curisit/securis/services/PackResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/PackResource.java
@@ -40,202 +40,197 @@
import com.google.inject.persist.Transactional;
/**
- * Pack resource, this service will provide methods to create, modify and delete packs
+ * Pack resource, this service will provide methods to create, modify and delete
+ * packs
*
* @author roberto <roberto.sanchez@curisit.net>
*/
@Path("/pack")
public class PackResource {
- private static final Logger LOG = LogManager.getLogger(PackResource.class);
+ private static final Logger LOG = LogManager.getLogger(PackResource.class);
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- public PackResource() {
- }
+ public PackResource() {}
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/")
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response index(@Context BasicSecurityContext bsc) {
- LOG.info("Getting packs list ");
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/")
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response index(@Context BasicSecurityContext bsc) {
+ LOG.info("Getting packs list ");
- EntityManager em = emProvider.get();
- // TypedQuery<Pack> q = em.createNamedQuery("list-packs-by-orgs", Pack.class);
+ EntityManager em = emProvider.get();
- TypedQuery<Pack> q;
- if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
- LOG.info("Getting all packs for user: " + bsc.getUserPrincipal());
- q = em.createNamedQuery("list-packs", Pack.class);
- } else {
- q = em.createNamedQuery("list-packs-by-orgs", Pack.class);
- if (bsc.getOrganizationsIds() == null)
- Response.ok().build();
- q.setParameter("list_ids", bsc.getOrganizationsIds());
- }
+ TypedQuery<Pack> q;
+ if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
+ LOG.info("Getting all packs for user: " + bsc.getUserPrincipal());
+ q = em.createNamedQuery("list-packs", Pack.class);
+ } else {
+ q = em.createNamedQuery("list-packs-by-orgs", Pack.class);
+ if (bsc.getOrganizationsIds() == null) {
+ Response.ok().build();
+ }
+ q.setParameter("list_ids", bsc.getOrganizationsIds());
+ }
- List<Pack> list = q.getResultList();
+ List<Pack> list = q.getResultList();
- return Response.ok(list).build();
- }
+ return Response.ok(list).build();
+ }
- private Response generateErrorUnathorizedAccess(Pack pack, Principal user) {
- LOG.error("Pack with id {} not accesible by user {}", pack, user);
- return Response.status(Status.UNAUTHORIZED).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Unathorized access to pack").build();
- }
+ private Response generateErrorUnathorizedAccess(Pack pack, Principal user) {
+ LOG.error("Pack with id {} not accesible by user {}", pack, user);
+ return Response.status(Status.UNAUTHORIZED).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Unathorized access to pack").build();
+ }
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/{packId}")
- @Securable
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response get(@PathParam("packId") Integer packId, @Context BasicSecurityContext bsc) {
- LOG.info("Getting pack data for id: {}: ", packId);
- if (packId == null || packId.equals("")) {
- LOG.error("Pack ID is mandatory");
- return Response.status(Status.NOT_FOUND).build();
- }
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/{packId}")
+ @Securable
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response get(@PathParam("packId") Integer packId, @Context BasicSecurityContext bsc) {
+ LOG.info("Getting pack data for id: {}: ", packId);
+ if (packId == null || "".equals(packId)) {
+ LOG.error("Pack ID is mandatory");
+ return Response.status(Status.NOT_FOUND).build();
+ }
- EntityManager em = emProvider.get();
- Pack pack = em.find(Pack.class, packId);
- if (pack == null) {
- LOG.error("Pack with id {} not found in DB", packId);
- return Response.status(Status.NOT_FOUND).build();
- }
- if (bsc.isUserInRole(BasicSecurityContext.ROL_ADVANCE)) {
- if (bsc.getOrganizationsIds() == null || !bsc.getOrganizationsIds().contains(pack.getOrgId())) {
- return generateErrorUnathorizedAccess(pack, bsc.getUserPrincipal());
- }
- }
- return Response.ok(pack).build();
- }
+ EntityManager em = emProvider.get();
+ Pack pack = em.find(Pack.class, packId);
+ if (pack == null) {
+ LOG.error("Pack with id {} not found in DB", packId);
+ return Response.status(Status.NOT_FOUND).build();
+ }
+ if (bsc.isUserInRole(BasicSecurityContext.ROL_ADVANCE)) {
+ if (bsc.getOrganizationsIds() == null || !bsc.getOrganizationsIds().contains(pack.getOrgId())) {
+ return generateErrorUnathorizedAccess(pack, bsc.getUserPrincipal());
+ }
+ }
+ return Response.ok(pack).build();
+ }
- @POST
- @Path("/")
- @Securable
- @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- public Response create(Pack pack, @Context BasicSecurityContext bsc) {
- LOG.info("Creating new pack");
- EntityManager em = emProvider.get();
+ @POST
+ @Path("/")
+ @Securable
+ @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ public Response create(Pack pack, @Context BasicSecurityContext bsc) {
+ LOG.info("Creating new pack");
+ EntityManager em = emProvider.get();
- try {
- setPackOrganization(pack, pack.getOrgId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
+ try {
+ setPackOrganization(pack, pack.getOrgId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- try {
- setPackLicenseType(pack, pack.getLicTypeId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
+ try {
+ setPackLicenseType(pack, pack.getLicTypeId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- User user = em.find(User.class, bsc.getUserPrincipal().getName());
+ User user = em.find(User.class, bsc.getUserPrincipal().getName());
- pack.setCreatedBy(user);
- pack.setCreationTimestamp(new Date());
- em.persist(pack);
+ pack.setCreatedBy(user);
+ pack.setCreationTimestamp(new Date());
+ em.persist(pack);
- return Response.ok(pack).build();
- }
-
- private void setPackLicenseType(Pack pack, Integer licTypeId, EntityManager em) throws SeCurisException {
- LicenseType lt = null;
- if (licTypeId != null) {
- lt = em.find(LicenseType.class, pack.getLicTypeId());
- if (lt == null) {
- LOG.error("Pack license type with id {} not found in DB", licTypeId);
- throw new SeCurisException("Pack license type not found with ID: " + licTypeId);
-// return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Pack license type not found with ID: " + pack.getLicTypeId()).build();
- }
- }
- pack.setLicenseType(lt);
- }
+ return Response.ok(pack).build();
+ }
- @PUT
- @POST
- @Path("/{packId}")
- @Transactional
- @Securable
- @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response modify(Pack pack, @PathParam("packId") Integer packId) {
- LOG.info("Modifying pack with id: {}", packId);
- EntityManager em = emProvider.get();
- Pack currentPack = em.find(Pack.class, packId);
+ private void setPackLicenseType(Pack pack, Integer licTypeId, EntityManager em) throws SeCurisException {
+ LicenseType lt = null;
+ if (licTypeId != null) {
+ lt = em.find(LicenseType.class, pack.getLicTypeId());
+ if (lt == null) {
+ LOG.error("Pack license type with id {} not found in DB", licTypeId);
+ throw new SeCurisException("Pack license type not found with ID: " + licTypeId);
+ }
+ }
+ pack.setLicenseType(lt);
+ }
- try {
- setPackOrganization(currentPack, pack.getOrgId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
+ @PUT
+ @POST
+ @Path("/{packId}")
+ @Transactional
+ @Securable
+ @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response modify(Pack pack, @PathParam("packId") Integer packId) {
+ LOG.info("Modifying pack with id: {}", packId);
+ EntityManager em = emProvider.get();
+ Pack currentPack = em.find(Pack.class, packId);
- try {
- setPackLicenseType(currentPack, pack.getLicTypeId(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
-
- currentPack.setLicensePreactivation(pack.isLicensePreactivation());
- currentPack.setCode(pack.getCode());
- currentPack.setComments(pack.getComments());
- currentPack.setNumLicenses(pack.getNumLicenses());
+ try {
+ setPackOrganization(currentPack, pack.getOrgId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- em.persist(currentPack);
+ try {
+ setPackLicenseType(currentPack, pack.getLicTypeId(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
- return Response.ok(pack).build();
- }
+ currentPack.setLicensePreactivation(pack.isLicensePreactivation());
+ currentPack.setCode(pack.getCode());
+ currentPack.setComments(pack.getComments());
+ currentPack.setNumLicenses(pack.getNumLicenses());
- private void setPackOrganization(Pack currentPack, Integer orgId, EntityManager em) throws SeCurisException {
- Organization org = null;
- if (orgId != null) {
- org = em.find(Organization.class, orgId);
- if (org == null) {
- LOG.error("Organization pack with id {} not found in DB", orgId);
- throw new SeCurisException("Pack organization not found with ID: " + orgId);
- }
- }
- currentPack.setOrganization(org);
- }
+ em.persist(currentPack);
- @DELETE
- @Path("/{packId}")
- @Securable
- @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
- @Transactional
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response delete(@PathParam("packId") String packId) {
- LOG.info("Deleting pack with id: {}", packId);
- EntityManager em = emProvider.get();
- Pack org = em.find(Pack.class, Integer.parseInt(packId));
- if (org == null) {
- LOG.error("Pack with id {} can not be deleted, It was not found in DB", packId);
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Pack was not found, ID: " + packId).build();
- }
+ return Response.ok(pack).build();
+ }
- em.remove(org);
- return Response.ok(Utils.createMap("success", true, "id", packId)).build();
- }
+ private void setPackOrganization(Pack currentPack, Integer orgId, EntityManager em) throws SeCurisException {
+ Organization org = null;
+ if (orgId != null) {
+ org = em.find(Organization.class, orgId);
+ if (org == null) {
+ LOG.error("Organization pack with id {} not found in DB", orgId);
+ throw new SeCurisException("Pack organization not found with ID: " + orgId);
+ }
+ }
+ currentPack.setOrganization(org);
+ }
+
+ @DELETE
+ @Path("/{packId}")
+ @Securable
+ @RolesAllowed(BasicSecurityContext.ROL_ADMIN)
+ @Transactional
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response delete(@PathParam("packId") String packId) {
+ LOG.info("Deleting pack with id: {}", packId);
+ EntityManager em = emProvider.get();
+ Pack org = em.find(Pack.class, Integer.parseInt(packId));
+ if (org == null) {
+ LOG.error("Pack with id {} can not be deleted, It was not found in DB", packId);
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "Pack was not found, ID: " + packId)
+ .build();
+ }
+
+ em.remove(org);
+ return Response.ok(Utils.createMap("success", true, "id", packId)).build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/UserResource.java b/securis/src/main/java/net/curisit/securis/services/UserResource.java
index 514003b..4b0c8ac 100644
--- a/securis/src/main/java/net/curisit/securis/services/UserResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/UserResource.java
@@ -46,210 +46,204 @@
@Path("/user")
public class UserResource {
- @Inject
- TokenHelper tokenHelper;
+ @Inject
+ TokenHelper tokenHelper;
- @Inject
- Provider<EntityManager> emProvider;
+ @Inject
+ Provider<EntityManager> emProvider;
- // private LicenseHelper licenseHelper = InjectorFactory.getInjector().getInstance(LicenseHelper.class);
- private static final Logger LOG = LogManager.getLogger(UserResource.class);
+ private static final Logger LOG = LogManager.getLogger(UserResource.class);
- public UserResource() {
- }
+ public UserResource() {}
- /**
- *
- * @return the server version in format majorVersion.minorVersion
- */
- @GET
- @Path("/")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response index() {
- LOG.info("Getting users list ");
+ /**
+ *
+ * @return the server version in format majorVersion.minorVersion
+ */
+ @GET
+ @Path("/")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response index() {
+ LOG.info("Getting users list ");
- EntityManager em = emProvider.get();
- TypedQuery<User> q = em.createNamedQuery("list-users", User.class);
+ EntityManager em = emProvider.get();
+ TypedQuery<User> q = em.createNamedQuery("list-users", User.class);
- List<User> list = q.getResultList();
+ List<User> list = q.getResultList();
- return Response.ok(list).build();
- }
+ return Response.ok(list).build();
+ }
- /**
- *
- * @return The user
- */
- @GET
- @Path("/{uid}")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response get(@PathParam("uid") String uid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Getting user data for id: {}: ", uid);
- if (uid == null || uid.equals("")) {
- LOG.error("User ID is mandatory");
- return Response.status(Status.NOT_FOUND).build();
- }
+ /**
+ *
+ * @return The user
+ */
+ @GET
+ @Path("/{uid}")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response get(@PathParam("uid") String uid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Getting user data for id: {}: ", uid);
+ if (uid == null || "".equals(uid)) {
+ LOG.error("User ID is mandatory");
+ return Response.status(Status.NOT_FOUND).build();
+ }
- EntityManager em = emProvider.get();
- User lt = em.find(User.class, uid);
- if (lt == null) {
- LOG.error("User with id {} not found in DB", uid);
- return Response.status(Status.NOT_FOUND).build();
- }
- return Response.ok(lt).build();
- }
+ EntityManager em = emProvider.get();
+ User lt = em.find(User.class, uid);
+ if (lt == null) {
+ LOG.error("User with id {} not found in DB", uid);
+ return Response.status(Status.NOT_FOUND).build();
+ }
+ return Response.ok(lt).build();
+ }
- @POST
- @Path("/")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- @Transactional
- public Response create(User user, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Creating new user");
- EntityManager em = emProvider.get();
- User currentUser = em.find(User.class, user.getUsername());
- if (currentUser != null) {
- LOG.info("User with id {} was found in DB, we'll try to modify it", user.getUsername());
- return modify(user, user.getUsername(), token);
- }
-
- try {
- this.setUserOrg(user, user.getOrgsIds(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
- user.setModificationTimestamp(new Date());
- user.setLastLogin(null);
- user.setCreationTimestamp(new Date());
- em.persist(user);
+ @POST
+ @Path("/")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ @Transactional
+ public Response create(User user, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Creating new user");
+ EntityManager em = emProvider.get();
+ User currentUser = em.find(User.class, user.getUsername());
+ if (currentUser != null) {
+ LOG.info("User with id {} was found in DB, we'll try to modify it", user.getUsername());
+ return modify(user, user.getUsername(), token);
+ }
- return Response.ok(user).build();
- }
-
- private void setUserOrg(User user, Set<Integer> orgsIds, EntityManager em) throws SeCurisException {
- Set<Organization> orgs = null;
- if (orgsIds != null && orgsIds.size() > 0) {
- orgs = new HashSet<>();
- for (Integer orgId : orgsIds) {
- Organization o = em.find(Organization.class, orgId);
- if (o == null) {
- LOG.error("User organization with id {} not found in DB", orgId);
- throw new SeCurisException("User's organization not found with ID: " + orgId);
- }
- orgs.add(o);
- }
- }
+ try {
+ this.setUserOrg(user, user.getOrgsIds(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
+ user.setModificationTimestamp(new Date());
+ user.setLastLogin(null);
+ user.setCreationTimestamp(new Date());
+ em.persist(user);
- user.setOrganizations(orgs);
+ return Response.ok(user).build();
+ }
- }
+ private void setUserOrg(User user, Set<Integer> orgsIds, EntityManager em) throws SeCurisException {
+ Set<Organization> orgs = null;
+ if (orgsIds != null && orgsIds.size() > 0) {
+ orgs = new HashSet<>();
+ for (Integer orgId : orgsIds) {
+ Organization o = em.find(Organization.class, orgId);
+ if (o == null) {
+ LOG.error("User organization with id {} not found in DB", orgId);
+ throw new SeCurisException("User's organization not found with ID: " + orgId);
+ }
+ orgs.add(o);
+ }
+ }
- @PUT
- @POST
- @Path("/{uid}")
- @Transactional
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response modify(User user, @PathParam("uid") String uid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
- LOG.info("Modifying user with id: {}", uid);
- EntityManager em = emProvider.get();
- User currentUser = em.find(User.class, uid);
- if (currentUser == null) {
- LOG.info("User with id {} not found in DB, we'll try to create it", uid);
- return create(user, token);
- }
+ user.setOrganizations(orgs);
- try {
- this.setUserOrg(currentUser, user.getOrgsIds(), em);
- } catch (SeCurisException e) {
- return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
- }
- currentUser.setFirstName(user.getFirstName());
- currentUser.setLastName(user.getLastName());
- currentUser.setRoles(user.getRoles());
- currentUser.setLang(user.getLang());
- currentUser.setModificationTimestamp(new Date());
- currentUser.setPassword(user.getPassword());
- currentUser.setLastLogin(user.getLastLogin());
+ }
- em.persist(currentUser);
+ @PUT
+ @POST
+ @Path("/{uid}")
+ @Transactional
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response modify(User user, @PathParam("uid") String uid, @HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
+ LOG.info("Modifying user with id: {}", uid);
+ EntityManager em = emProvider.get();
+ User currentUser = em.find(User.class, uid);
+ if (currentUser == null) {
+ LOG.info("User with id {} not found in DB, we'll try to create it", uid);
+ return create(user, token);
+ }
- return Response.ok(currentUser).build();
- }
+ try {
+ this.setUserOrg(currentUser, user.getOrgsIds(), em);
+ } catch (SeCurisException e) {
+ return Response.status(Status.NOT_FOUND).header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, e.getMessage()).build();
+ }
+ currentUser.setFirstName(user.getFirstName());
+ currentUser.setLastName(user.getLastName());
+ currentUser.setRoles(user.getRoles());
+ currentUser.setLang(user.getLang());
+ currentUser.setModificationTimestamp(new Date());
+ currentUser.setPassword(user.getPassword());
+ currentUser.setLastLogin(user.getLastLogin());
- @DELETE
- @Path("/{uid}")
- @Transactional
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response delete(@PathParam("uid") String uid, @Context HttpServletRequest request) {
- LOG.info("Deleting app with id: {}", uid);
- EntityManager em = emProvider.get();
- User app = em.find(User.class, uid);
- if (app == null) {
- LOG.error("User with id {} can not be deleted, It was not found in DB", uid);
- return Response.status(Status.NOT_FOUND).build();
- }
+ em.persist(currentUser);
- em.remove(app);
- return Response.ok(Utils.createMap("success", true, "id", uid)).build();
- }
+ return Response.ok(currentUser).build();
+ }
- @POST
- @Path("/login")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
- LOG.info("index session: " + request.getSession());
- LOG.info("user: {}, pass: {}", user, password);
- LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
+ @DELETE
+ @Path("/{uid}")
+ @Transactional
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response delete(@PathParam("uid") String uid, @Context HttpServletRequest request) {
+ LOG.info("Deleting app with id: {}", uid);
+ EntityManager em = emProvider.get();
+ User app = em.find(User.class, uid);
+ if (app == null) {
+ LOG.error("User with id {} can not be deleted, It was not found in DB", uid);
+ return Response.status(Status.NOT_FOUND).build();
+ }
- if ("no".equals(password))
- return Response.status(Status.UNAUTHORIZED).build();
- String tokenAuth = tokenHelper.generateToken(user);
- return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
- }
+ em.remove(app);
+ return Response.ok(Utils.createMap("success", true, "id", uid)).build();
+ }
- /**
- * Check if current token is valid
- *
- * @param user
- * @param password
- * @param request
- * @return
- */
- @POST
- @Path("/check")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
- if (token == null)
- token = token2;
- if (token == null)
- return Response.status(Status.FORBIDDEN).build();
+ @POST
+ @Path("/login")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
+ LOG.info("index session: " + request.getSession());
+ LOG.info("user: {}, pass: {}", user, password);
+ LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
- LOG.info("Token : " + token);
- String user = tokenHelper.extractUserFromToken(token);
- LOG.info("Token user: " + user);
- Date date = tokenHelper.extractDateCreationFromToken(token);
- LOG.info("Token date: " + date);
- boolean valid = tokenHelper.isTokenValid(token);
+ if ("no".equals(password)) {
+ // TODO: Code to test exception handling
+ return Response.status(Status.UNAUTHORIZED).build();
+ }
+ String tokenAuth = tokenHelper.generateToken(user);
+ return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
+ }
- LOG.info("Is Token valid: " + valid);
+ /**
+ * Check if current token is valid
+ *
+ * @param user
+ * @param password
+ * @param request
+ * @return
+ */
+ @POST
+ @Path("/check")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
+ if (token == null) {
+ token = token2;
+ }
+ if (token == null) {
+ return Response.status(Status.FORBIDDEN).build();
+ }
- return Response.ok(Utils.createMap("valid", true, "user", user, "date", date, "token", token)).build();
- }
+ LOG.info("Token : " + token);
+ String user = tokenHelper.extractUserFromToken(token);
+ LOG.info("Token user: " + user);
+ Date date = tokenHelper.extractDateCreationFromToken(token);
+ LOG.info("Token date: " + date);
+ boolean valid = tokenHelper.isTokenValid(token);
- @GET
- @Path("/logout")
- @Produces(
- { MediaType.APPLICATION_JSON })
- public Response logout(@Context HttpServletRequest request) {
- request.getSession().invalidate();
- return Response.ok().build();
- }
+ LOG.info("Is Token valid: " + valid);
+
+ return Response.ok(Utils.createMap("valid", true, "user", user, "date", date, "token", token)).build();
+ }
+
+ @GET
+ @Path("/logout")
+ @Produces({ MediaType.APPLICATION_JSON })
+ public Response logout(@Context HttpServletRequest request) {
+ request.getSession().invalidate();
+ return Response.ok().build();
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/services/exception/SeCurisServiceException.java b/securis/src/main/java/net/curisit/securis/services/exception/SeCurisServiceException.java
index 06f59fd..2b49081 100644
--- a/securis/src/main/java/net/curisit/securis/services/exception/SeCurisServiceException.java
+++ b/securis/src/main/java/net/curisit/securis/services/exception/SeCurisServiceException.java
@@ -4,20 +4,20 @@
public class SeCurisServiceException extends CurisException {
- private int status = 0;
+ private int status = 0;
- public SeCurisServiceException(int status, String msg) {
- super(msg);
- this.status = status;
- }
+ public SeCurisServiceException(int status, String msg) {
+ super(msg);
+ this.status = status;
+ }
- public int getStatus() {
- return status;
- }
+ public int getStatus() {
+ return status;
+ }
- /**
+ /**
*
*/
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
}
diff --git a/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java b/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java
index 01b5c9b..f69cf25 100644
--- a/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java
+++ b/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java
@@ -13,120 +13,122 @@
import org.apache.logging.log4j.LogManager;
/**
- * Cache implementation with TTL (time To Live) The objects are removed from cache when TTL is reached.
+ * Cache implementation with TTL (time To Live) The objects are removed from
+ * cache when TTL is reached.
*
* @author roberto <roberto.sanchez@curisit.net>
*/
@Singleton
public class CacheTTL {
- private static final Logger LOG = LogManager.getLogger(CacheTTL.class);
+ private static final Logger LOG = LogManager.getLogger(CacheTTL.class);
- /**
- * Period before token expires, set in seconds.
- */
- private static int DEFAULT_CACHE_DURATION = 24 * 60 * 60;
+ /**
+ * Period before token expires, set in seconds.
+ */
+ private static int DEFAULT_CACHE_DURATION = 24 * 60 * 60;
- private Map<String, CachedObject> data = new HashMap<>();
+ private Map<String, CachedObject> data = new HashMap<>();
- private Thread cleaningThread = null;
+ private Thread cleaningThread = null;
- @Inject
- public CacheTTL() {
- cleaningThread = new Thread(new Runnable() {
+ @Inject
+ public CacheTTL() {
+ cleaningThread = new Thread(new Runnable() {
- @Override
- public void run() {
- while (CacheTTL.this.data != null) {
- try {
- // We check for expired object every 60 seconds
- Thread.sleep(60 * 1000);
- } catch (InterruptedException e) {
- LOG.error("Exiting from Cache Thread");
- data.clear();
- return;
- }
- // LOG.info("Cheking expired objects " + new Date());
- Date now = new Date();
- List<String> keysToRemove = new ArrayList<>();
- for (String key : CacheTTL.this.data.keySet()) {
- CachedObject co = CacheTTL.this.data.get(key);
- if (now.after(co.getExpireAt())) {
- keysToRemove.add(key);
- }
- }
- for (String key : keysToRemove) {
- // If we try to remove directly in the previous loop an exception is thrown java.util.ConcurrentModificationException
- CacheTTL.this.data.remove(key);
- }
- }
- }
- });
- cleaningThread.start();
- }
+ @Override
+ public void run() {
+ while (CacheTTL.this.data != null) {
+ try {
+ // We check for expired object every 60 seconds
+ Thread.sleep(60 * 1000);
+ } catch (InterruptedException e) {
+ LOG.error("Exiting from Cache Thread");
+ data.clear();
+ return;
+ }
+ Date now = new Date();
+ List<String> keysToRemove = new ArrayList<>();
+ for (String key : CacheTTL.this.data.keySet()) {
+ CachedObject co = CacheTTL.this.data.get(key);
+ if (now.after(co.getExpireAt())) {
+ keysToRemove.add(key);
+ }
+ }
+ for (String key : keysToRemove) {
+ // If we try to remove directly in the previous loop an
+ // exception is thrown
+ // java.util.ConcurrentModificationException
+ CacheTTL.this.data.remove(key);
+ }
+ }
+ }
+ });
+ cleaningThread.start();
+ }
- /**
- *
- * @param key
- * @param obj
- * @param ttl
- * Time To Live in seconds
- */
- public void set(String key, Object obj, int ttl) {
- Date expirationDate = new Date(new Date().getTime() + ttl * 1000);
- data.put(key, new CachedObject(expirationDate, obj));
- }
+ /**
+ *
+ * @param key
+ * @param obj
+ * @param ttl
+ * Time To Live in seconds
+ */
+ public void set(String key, Object obj, int ttl) {
+ Date expirationDate = new Date(new Date().getTime() + ttl * 1000);
+ data.put(key, new CachedObject(expirationDate, obj));
+ }
- public void set(String key, Object obj) {
- set(key, obj, DEFAULT_CACHE_DURATION);
- }
+ public void set(String key, Object obj) {
+ set(key, obj, DEFAULT_CACHE_DURATION);
+ }
- public Object get(String key) {
- CachedObject co = data.get(key);
- return co == null ? null : co.getObject();
- }
+ public Object get(String key) {
+ CachedObject co = data.get(key);
+ return co == null ? null : co.getObject();
+ }
- public <T> T get(String key, Class<T> type) {
- CachedObject co = data.get(key);
- return co == null ? null : co.getObject(type);
- }
+ public <T> T get(String key, Class<T> type) {
+ CachedObject co = data.get(key);
+ return co == null ? null : co.getObject(type);
+ }
- public <T> T remove(String key, Class<T> type) {
- CachedObject co = data.remove(key);
- return co == null ? null : co.getObject(type);
- }
+ public <T> T remove(String key, Class<T> type) {
+ CachedObject co = data.remove(key);
+ return co == null ? null : co.getObject(type);
+ }
- public Object remove(String key) {
- CachedObject co = data.remove(key);
- return co == null ? null : co.getObject();
- }
+ public Object remove(String key) {
+ CachedObject co = data.remove(key);
+ return co == null ? null : co.getObject();
+ }
- public void clear() {
- data.clear();
- }
+ public void clear() {
+ data.clear();
+ }
- private class CachedObject {
- Date expireAt;
- Object object;
+ private class CachedObject {
+ Date expireAt;
+ Object object;
- public CachedObject(Date date, Object obj) {
- expireAt = date;
- object = obj;
- }
+ public CachedObject(Date date, Object obj) {
+ expireAt = date;
+ object = obj;
+ }
- public Date getExpireAt() {
- return expireAt;
- }
+ public Date getExpireAt() {
+ return expireAt;
+ }
- public Object getObject() {
- return object;
- }
+ public Object getObject() {
+ return object;
+ }
- @SuppressWarnings("unchecked")
- public <T> T getObject(Class<T> type) {
- return (T) object;
- }
+ @SuppressWarnings("unchecked")
+ public <T> T getObject(Class<T> type) {
+ return (T) object;
+ }
- }
+ }
}
diff --git a/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java b/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
index 9b3d041..dac3692 100644
--- a/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
+++ b/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
@@ -20,120 +20,119 @@
@Singleton
public class TokenHelper {
- private static final Logger LOG = LogManager.getLogger(TokenHelper.class);
+ private static final Logger LOG = LogManager.getLogger(TokenHelper.class);
- /**
- * Period before token expires, set in hours.
- */
- private static int VALID_TOKEN_PERIOD = 24;
- public static final String TOKEN_HEADER_PÀRAM = "X-SECURIS-TOKEN";
+ /**
+ * Period before token expires, set in hours.
+ */
+ private static int VALID_TOKEN_PERIOD = 24;
+ public static final String TOKEN_HEADER_PÀRAM = "X-SECURIS-TOKEN";
- @Inject
- public TokenHelper() {
- }
+ @Inject
+ public TokenHelper() {}
- private static byte[] seed = "S3Cur15S33dForT0k3nG3n3r@tion".getBytes();
+ private static byte[] seed = "S3Cur15S33dForT0k3nG3n3r@tion".getBytes();
- /**
- * Generate a token encoded in Base64 for user passed as parameter and taking the current moment as token timestamp
- *
- * @param user
- * @return
- */
- public String generateToken(String user) {
- try {
- Date date = new Date();
- String secret = generateSecret(user, date);
- StringBuffer sb = new StringBuffer();
- sb.append(secret);
- sb.append(' ');
- sb.append(user);
- sb.append(' ');
- sb.append(Utils.toIsoFormat(date));
- return Base64.encodeBytes(sb.toString().getBytes("utf-8"));
- } catch (NoSuchAlgorithmException e) {
- LOG.error("Error generating SHA-256 hash", e);
- } catch (UnsupportedEncodingException e) {
- LOG.error("Error generating SHA-256 hash", e);
- }
- return null;
+ /**
+ * Generate a token encoded in Base64 for user passed as parameter and
+ * taking the current moment as token timestamp
+ *
+ * @param user
+ * @return
+ */
+ public String generateToken(String user) {
+ try {
+ Date date = new Date();
+ String secret = generateSecret(user, date);
+ StringBuffer sb = new StringBuffer();
+ sb.append(secret);
+ sb.append(' ');
+ sb.append(user);
+ sb.append(' ');
+ sb.append(Utils.toIsoFormat(date));
+ return Base64.encodeBytes(sb.toString().getBytes("utf-8"));
+ } catch (NoSuchAlgorithmException e) {
+ LOG.error("Error generating SHA-256 hash", e);
+ } catch (UnsupportedEncodingException e) {
+ LOG.error("Error generating SHA-256 hash", e);
+ }
+ return null;
- }
+ }
- private String generateSecret(String user, Date date) throws UnsupportedEncodingException, NoSuchAlgorithmException {
- MessageDigest mDigest = MessageDigest.getInstance("SHA-256");
- mDigest.update(seed, 0, seed.length);
- byte[] userbytes = user.getBytes("utf-8");
- mDigest.update(userbytes, 0, userbytes.length);
- byte[] isodate = Utils.toIsoFormat(date).getBytes();
- mDigest.update(isodate, 0, isodate.length);
- BigInteger i = new BigInteger(1, mDigest.digest());
- String secret = String.format("%1$064x", i);
- return secret;
- }
+ private String generateSecret(String user, Date date) throws UnsupportedEncodingException, NoSuchAlgorithmException {
+ MessageDigest mDigest = MessageDigest.getInstance("SHA-256");
+ mDigest.update(seed, 0, seed.length);
+ byte[] userbytes = user.getBytes("utf-8");
+ mDigest.update(userbytes, 0, userbytes.length);
+ byte[] isodate = Utils.toIsoFormat(date).getBytes();
+ mDigest.update(isodate, 0, isodate.length);
+ BigInteger i = new BigInteger(1, mDigest.digest());
+ String secret = String.format("%1$064x", i);
+ return secret;
+ }
- /**
- * Check if passed token is still valid, It use to check if token is expired the attribute VALID_TOKEN_PERIOD (in hours)
- *
- * @param token
- * @return
- */
- public boolean isTokenValid(String token) {
- try {
- String tokenDecoded = new String(Base64.decode(token));
- String[] parts = StringUtils.split(tokenDecoded, ' ');
- if (parts == null || parts.length < 3)
- return false;
- String secret = parts[0];
- String user = parts[1];
- Date date = Utils.toDateFromIso(parts[2]);
- if (new Date().after(new Date(date.getTime() + VALID_TOKEN_PERIOD * 60 * 60 * 1000)))
- return false;
- String newSecret = generateSecret(user, date);
- return newSecret.equals(secret);
- } catch (IOException e) {
- LOG.error("Error decoding Base64 token", e);
- } catch (NoSuchAlgorithmException e) {
- LOG.error("Error generation secret to compare with", e);
- }
- return false;
- }
+ /**
+ * Check if passed token is still valid, It use to check if token is expired
+ * the attribute VALID_TOKEN_PERIOD (in hours)
+ *
+ * @param token
+ * @return
+ */
+ public boolean isTokenValid(String token) {
+ try {
+ String tokenDecoded = new String(Base64.decode(token));
+ String[] parts = StringUtils.split(tokenDecoded, ' ');
+ if (parts == null || parts.length < 3) {
+ return false;
+ }
+ String secret = parts[0];
+ String user = parts[1];
+ Date date = Utils.toDateFromIso(parts[2]);
+ if (new Date().after(new Date(date.getTime() + VALID_TOKEN_PERIOD * 60 * 60 * 1000))) {
+ return false;
+ }
+ String newSecret = generateSecret(user, date);
+ return newSecret.equals(secret);
+ } catch (IOException e) {
+ LOG.error("Error decoding Base64 token", e);
+ } catch (NoSuchAlgorithmException e) {
+ LOG.error("Error generation secret to compare with", e);
+ }
+ return false;
+ }
- public String extractUserFromToken(String token) {
- try {
- if (token == null)
- return null;
- String tokenDecoded = new String(Base64.decode(token));
- String[] parts = StringUtils.split(tokenDecoded, ' ');
- if (parts == null || parts.length < 3)
- return null;
- String user = parts[1];
- return user;
- } catch (IOException e) {
- LOG.error("Error decoding Base64 token", e);
- }
- return null;
- }
+ public String extractUserFromToken(String token) {
+ try {
+ if (token == null) {
+ return null;
+ }
+ String tokenDecoded = new String(Base64.decode(token));
+ String[] parts = StringUtils.split(tokenDecoded, ' ');
+ if (parts == null || parts.length < 3) {
+ return null;
+ }
+ String user = parts[1];
+ return user;
+ } catch (IOException e) {
+ LOG.error("Error decoding Base64 token", e);
+ }
+ return null;
+ }
- public Date extractDateCreationFromToken(String token) {
- try {
- String tokenDecoded = new String(Base64.decode(token));
- String[] parts = StringUtils.split(tokenDecoded, ' ');
- if (parts == null || parts.length < 3)
- return null;
- Date date = Utils.toDateFromIso(parts[2]);
- return date;
- } catch (IOException e) {
- LOG.error("Error decoding Base64 token", e);
- }
- return null;
- }
+ public Date extractDateCreationFromToken(String token) {
+ try {
+ String tokenDecoded = new String(Base64.decode(token));
+ String[] parts = StringUtils.split(tokenDecoded, ' ');
+ if (parts == null || parts.length < 3) {
+ return null;
+ }
+ Date date = Utils.toDateFromIso(parts[2]);
+ return date;
+ } catch (IOException e) {
+ LOG.error("Error decoding Base64 token", e);
+ }
+ return null;
+ }
- public static void main(String[] args) throws IOException {
- TokenHelper th = new TokenHelper();
- String token = th.generateToken("pepe");
- System.out.println("Token: " + token);
- System.out.println("Token: " + new String(Base64.decode(token)));
- System.out.println("Valid Token: " + th.isTokenValid(token));
- }
}
diff --git a/securis/src/patch/java/net/curisit/securis/LicenseGenerator.java b/securis/src/patch/java/net/curisit/securis/LicenseGenerator.java
index a9d3414..7137146 100644
--- a/securis/src/patch/java/net/curisit/securis/LicenseGenerator.java
+++ b/securis/src/patch/java/net/curisit/securis/LicenseGenerator.java
@@ -33,124 +33,124 @@
*/
public class LicenseGenerator {
- private static final Logger LOG = LogManager.getLogger(LicenseGenerator.class);
+ private static final Logger LOG = LogManager.getLogger(LicenseGenerator.class);
- private static LicenseGenerator singleton = new LicenseGenerator();
+ private static LicenseGenerator singleton = new LicenseGenerator();
- private LicenseGenerator() {
- }
+ private LicenseGenerator() {}
- public static LicenseGenerator getInstance() {
- return singleton;
- }
+ public static LicenseGenerator getInstance() {
+ return singleton;
+ }
- /**
- * Generate a license bean with the specified data
- *
- * @param hw
- * @param customerCode
- * - e.g: "BP"
- * @param maxInstances
- * @param maxUsers
- * @param maxTimeThreshold
- * Max time between synchronizations expressed in days
- * @return
- * @throws SeCurisException
- */
- public LicenseBean generateLicense(RequestBean req, Map<String, Object> metadata, Date expirationDate, String licenseType, String licenseCode) throws SeCurisException {
- LOG.info(MessageFormat.format("Generating license: MAC: {0}, Customer code: {1}, AppCode: {2}", req.getMacAddresses(), req.getCustomerCode(), req.getAppCode()));
- LicenseBean license = new LicenseBean(req);
- license.setLicenseType(licenseType);
- license.setLicenseCode(licenseCode);
- license.setExpirationDate(expirationDate);
- license.setMetadata(metadata);
- sign(license);
+ /**
+ * Generate a license bean with the specified data
+ *
+ * @param hw
+ * @param customerCode
+ * - e.g: "BP"
+ * @param maxInstances
+ * @param maxUsers
+ * @param maxTimeThreshold
+ * Max time between synchronizations expressed in days
+ * @return
+ * @throws SeCurisException
+ */
+ public LicenseBean generateLicense(RequestBean req, Map<String, Object> metadata, Date expirationDate, String licenseType, String licenseCode)
+ throws SeCurisException {
+ LOG.info(MessageFormat.format("Generating license: MAC: {0}, Customer code: {1}, AppCode: {2}", req.getMacAddresses(), req.getCustomerCode(),
+ req.getAppCode()));
+ LicenseBean license = new LicenseBean(req);
+ license.setLicenseType(licenseType);
+ license.setLicenseCode(licenseCode);
+ license.setExpirationDate(expirationDate);
+ license.setMetadata(metadata);
+ sign(license);
- return license;
- }
+ return license;
+ }
- /**
- * Generate a license file using a {@link LicenseBean}
- *
- * @param license
- * @param file
- * @throws SeCurisException
- */
- public void save(LicenseBean license, File file) throws SeCurisException {
- SignedLicenseBean signedLic = new SignedLicenseBean(license);
- byte[] json;
- try {
- json = JsonUtils.toJSON(signedLic, true).getBytes("utf-8");
- Files.write(Paths.get(file.toURI()), json, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
- } catch (UnsupportedEncodingException e) {
- LOG.error("Error creating json doc from license: " + license, e);
- throw new SeCurisException("Error creating json doc from license: " + license, e);
- } catch (IOException e) {
- LOG.error("Error creating license file: " + file, e);
- throw new SeCurisException("Error creating json doc from license: " + license, e);
- }
+ /**
+ * Generate a license file using a {@link LicenseBean}
+ *
+ * @param license
+ * @param file
+ * @throws SeCurisException
+ */
+ public void save(LicenseBean license, File file) throws SeCurisException {
+ SignedLicenseBean signedLic = new SignedLicenseBean(license);
+ byte[] json;
+ try {
+ json = JsonUtils.toJSON(signedLic, true).getBytes("utf-8");
+ Files.write(Paths.get(file.toURI()), json, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
+ } catch (UnsupportedEncodingException e) {
+ LOG.error("Error creating json doc from license: " + license, e);
+ throw new SeCurisException("Error creating json doc from license: " + license, e);
+ } catch (IOException e) {
+ LOG.error("Error creating license file: " + file, e);
+ throw new SeCurisException("Error creating json doc from license: " + license, e);
+ }
- LOG.info("License saved in {}", file);
+ LOG.info("License saved in {}", file);
- }
+ }
- /**
- * TODO: This method should be removed from client code.
- *
- * @param licBean
- * @return
- * @throws NoSuchAlgorithmException
- * @throws IOException
- * @throws InvalidKeySpecException
- * @throws InvalidKeyException
- * @throws SignatureException
- */
- public String sign(LicenseBean licBean) throws SeCurisException {
- SignatureHelper sh = SignatureHelper.getInstance();
+ /**
+ * TODO: This method should be removed from client code.
+ *
+ * @param licBean
+ * @return
+ * @throws NoSuchAlgorithmException
+ * @throws IOException
+ * @throws InvalidKeySpecException
+ * @throws InvalidKeyException
+ * @throws SignatureException
+ */
+ public String sign(LicenseBean licBean) throws SeCurisException {
+ SignatureHelper sh = SignatureHelper.getInstance();
- Signature signature;
- try {
- signature = Signature.getInstance(SignatureHelper.SIGNATURE_GENERATION_ALGORITHM);
- signature.initSign(sh.generatePrivateKey(new File("/Users/cproberto/Documents/wsPython/doky/tests/securis_private_key.pkcs8")));
+ Signature signature;
+ try {
+ signature = Signature.getInstance(SignatureHelper.SIGNATURE_GENERATION_ALGORITHM);
+ signature.initSign(sh.generatePrivateKey(new File("/Users/cproberto/Documents/wsPython/doky/tests/securis_private_key.pkcs8")));
- sh.prepareSignature(signature, licBean);
+ sh.prepareSignature(signature, licBean);
- byte[] signatureData = signature.sign();
- licBean.setSignature(Base64.encodeBase64String(signatureData));
- return licBean.getSignature();
- } catch (NoSuchAlgorithmException e) {
- LOG.error("Error signing license for " + licBean, e);
- } catch (InvalidKeyException e) {
- LOG.error("Error signing license for " + licBean, e);
- } catch (InvalidKeySpecException e) {
- LOG.error("Error signing license for " + licBean, e);
- } catch (IOException e) {
- LOG.error("Error signing license for " + licBean, e);
- } catch (SignatureException e) {
- LOG.error("Error signing license for " + licBean, e);
- }
- throw new SeCurisException("License could not be generated");
- }
+ byte[] signatureData = signature.sign();
+ licBean.setSignature(Base64.encodeBase64String(signatureData));
+ return licBean.getSignature();
+ } catch (NoSuchAlgorithmException e) {
+ LOG.error("Error signing license for " + licBean, e);
+ } catch (InvalidKeyException e) {
+ LOG.error("Error signing license for " + licBean, e);
+ } catch (InvalidKeySpecException e) {
+ LOG.error("Error signing license for " + licBean, e);
+ } catch (IOException e) {
+ LOG.error("Error signing license for " + licBean, e);
+ } catch (SignatureException e) {
+ LOG.error("Error signing license for " + licBean, e);
+ }
+ throw new SeCurisException("License could not be generated");
+ }
- public static void main(String[] args) throws SeCurisException {
+ public static void main(String[] args) throws SeCurisException {
- RequestBean req = ReqGenerator.getInstance().loadRequest(new File("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/license.req"));
- Map<String, Object> metadata = new TreeMap<>();
-// CurisData parameters:
-// metadata.put("maxUsers", 5);
-// metadata.put("maxSessionUsers", 100);
- // curisIntegrity
- metadata.put("maxUsers", 0);
- metadata.put("maxInstances", 0);
- metadata.put("timeThreshold", 0);
- metadata.put("datasetPrefix", "BP");
- metadata.put("extendedMode", true);
- Date expirationDate = new Date(new Date().getTime() + (1000L * 3600 * 24 * 365 * 10));
- LicenseBean lic = LicenseGenerator.getInstance().generateLicense(req, metadata, expirationDate, "CI-01", "LIC-CURISTEC-0001");
- LicenseGenerator.getInstance().save(lic, new File("/Users/cproberto/Desktop/AxelLicCI.lic"));
+ RequestBean req = ReqGenerator.getInstance().loadRequest(new File("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/license.req"));
+ Map<String, Object> metadata = new TreeMap<>();
+ // CurisData parameters:
+ // metadata.put("maxUsers", 5);
+ // metadata.put("maxSessionUsers", 100);
+ // curisIntegrity
+ metadata.put("maxUsers", 0);
+ metadata.put("maxInstances", 0);
+ metadata.put("timeThreshold", 0);
+ metadata.put("datasetPrefix", "BP");
+ metadata.put("extendedMode", true);
+ Date expirationDate = new Date(new Date().getTime() + (1000L * 3600 * 24 * 365 * 10));
+ LicenseBean lic = LicenseGenerator.getInstance().generateLicense(req, metadata, expirationDate, "CI-01", "LIC-CURISTEC-0001");
+ LicenseGenerator.getInstance().save(lic, new File("/Users/cproberto/Desktop/AxelLicCI.lic"));
- System.out.print("License expires at: " + expirationDate.getTime());
-
+ System.out.print("License expires at: " + expirationDate.getTime());
- }
+ }
}
--
Gitblit v1.3.2