From 2fd6ff883fa6ee5ece773c69fce66f3cd03c86a5 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Wed, 22 Jan 2014 11:26:50 +0000
Subject: [PATCH] #396 feature - Refactoring JavaScript resources, relocating third party libraries from own libs
---
securis/src/main/resources/static/js/vendor/bootstrap-dialog.js | 0
securis/src/main/resources/static/js/angular/angular-resource.min.js | 0
securis/src/main/resources/static/js/angular/angular.min.js.map | 0
securis/src/main/resources/static/js/angular/chosen.js | 0
securis/src/main/resources/static/js/angular/angular-animate.min.js | 0
securis/src/main/resources/static/js/vendor/jquery.min.map | 0
securis/src/main/resources/static/main.html | 22 +++---
securis/src/main/resources/static/js/vendor/jquery.min.js | 0
securis/src/main/resources/static/js/vendor/glyphicons-halflings-regular.woff | 0
securis/src/main/java/net/curisit/securis/services/LicenseServices.java | 89 ++++++++++++++++-------------
securis/src/main/resources/static/js/angular/angular-route.min.js | 0
securis/pom.xml | 9 ++
securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java | 21 ++++++
securis/src/main/resources/static/js/vendor/bootstrap.min.js | 0
securis/src/main/resources/static/js/vendor/store.js | 0
securis/src/main/resources/static/js/angular/angular.min.js | 0
securis/src/main/resources/static/js/angular/toaster.js | 0
securis/src/main/resources/static/js/vendor/store.min.js | 0
18 files changed, 85 insertions(+), 56 deletions(-)
diff --git a/securis/pom.xml b/securis/pom.xml
index f1c4cdc..3ce0141 100644
--- a/securis/pom.xml
+++ b/securis/pom.xml
@@ -33,12 +33,17 @@
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
+ <artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jackson-provider</artifactId>
+ <artifactId>resteasy-multipart-provider</artifactId>
+ <version>3.0.5.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
<version>3.0.5.Final</version>
</dependency>
</dependencies>
diff --git a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
index 4f0d960..e966ff2 100644
--- a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
+++ b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
@@ -1,28 +1,45 @@
package net.curisit.securis;
+import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.ForbiddenException;
+import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.core.SecurityContext;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
@Provider
public class DefaultExceptionHandler implements ExceptionMapper<Exception> {
+ private static final Logger log = LoggerFactory.getLogger(DefaultExceptionHandler.class);
public static final String ERROR_MESSAGE_HEADER = "X-SECURIS-ERROR";
public DefaultExceptionHandler() {
- MainApp.log.info("Creating DefaultExceptionHandler ");
+ log.info("Creating DefaultExceptionHandler ");
}
+
+ @Context
+ HttpServletRequest request;
+ @Context
+ SecurityContext bsc;
@Override
public Response toResponse(Exception e) {
// log.info("Creating DefaultExceptionHandler ");
// e.printStackTrace();
- if (e instanceof ForbiddenException)
+ 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();
+ }
+ 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/services/LicenseServices.java b/securis/src/main/java/net/curisit/securis/services/LicenseServices.java
index bbf1a0d..f4d6a08 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseServices.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseServices.java
@@ -6,8 +6,11 @@
import javax.inject.Named;
import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
import javax.ws.rs.DefaultValue;
+import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
+import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@@ -20,11 +23,13 @@
import net.curisit.integrity.beans.ServiceResponse;
import org.apache.commons.io.IOUtils;
+import org.jboss.resteasy.annotations.providers.multipart.MultipartForm;
+import org.jboss.resteasy.annotations.providers.multipart.PartType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// The Java class will be hosted at the URI path "/myresource"
-@Path("/license")
+@Path("/test")
public class LicenseServices {
// private LicenseHelper licenseHelper = InjectorFactory.getInjector().getInstance(LicenseHelper.class);
@@ -38,6 +43,7 @@
private URI uri;
public LicenseServices() {
+
}
/**
@@ -70,55 +76,56 @@
/**
* @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> status(@PathParam("license") String license, @DefaultValue("-1") @QueryParam("minorVersion") int minorVersion, @DefaultValue("-1") @QueryParam("majorVersion") int majorVersion) {
+ 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>();
return response;
}
- //
- // private <T> ServiceResponse<T> buildErrorResponse(ServiceResponse<T> response, String msgErrorCode) {
- // response.setSuccess(false);
- // response.setErrorMessage(localManager.getString(msgErrorCode));
- // response.setErrorMessageCode(msgErrorCode);
- // return response;
- // }
- //
- // private Date calculateCaducation() {
- // Integer licenseExpiration = systemParams.getParamAsInt(SystemParams.Keys.CONFIG_SERVER_LICENSE_EXPIRATION);
- // if (licenseExpiration == null)
- // licenseExpiration = DEFAULT_LICENSE_EXPIRATION;
- // return Utils.addDays(new Date(), licenseExpiration);
- // }
- //
- // private boolean validateLicense(String license) {
- // BasicApplication ba = basicApplicationDao.findByLicense(license);
- // return (ba != null);
- // }
- //
- // private boolean validateVersion(int minorVersion, int majorVersion) {
- // return (versionManager.getMajorVersion() == majorVersion);
- // }
- //
- // private BasicApplication findBasicApp(String license) {
- // BasicApplication ba = basicApplicationDao.findByLicense(license);
- // return ba;
- // }
- //
- // private License generateLicense() {
- // // TODO complete all field of the license
- // License license = new License();
- // license.setCustomerCode(systemParams.getParam(SystemParams.Keys.CONFIG_COMMON_CUSTOMER_CODE));
- // license.setCSCode(systemParams.getParam(SystemParams.Keys.CONFIG_COMMON_CS_CODE));
- // license.setCRCLogo("00000000");
- // license.setExpirationDate(calculateCaducation());
- // license.setInstallCode(codeGenerator.generateInstalationNumber());
- // return license;
- // }
+ public static class FileUploadForm {
+
+ @FormParam("file1")
+ @PartType("application/octet-stream")
+ private byte[] file;
+
+ @FormParam("texto1")
+ @PartType("text/plain")
+ private String texto;
+
+ public FileUploadForm() {
+ }
+
+ public byte[] getFile() {
+ return file;
+ }
+
+ public void setFile(byte[] file) {
+ this.file = file;
+ }
+
+ public void setTexto(final String texto) {
+ this.texto = texto;
+ }
+
+ public String getTexto() {
+ return texto;
+ }
+
+ }
}
diff --git a/securis/src/main/resources/static/js/angular-animate.min.js b/securis/src/main/resources/static/js/angular/angular-animate.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/angular-animate.min.js
rename to securis/src/main/resources/static/js/angular/angular-animate.min.js
diff --git a/securis/src/main/resources/static/js/angular-resource.min.js b/securis/src/main/resources/static/js/angular/angular-resource.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/angular-resource.min.js
rename to securis/src/main/resources/static/js/angular/angular-resource.min.js
diff --git a/securis/src/main/resources/static/js/angular-route.min.js b/securis/src/main/resources/static/js/angular/angular-route.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/angular-route.min.js
rename to securis/src/main/resources/static/js/angular/angular-route.min.js
diff --git a/securis/src/main/resources/static/js/angular.min.js b/securis/src/main/resources/static/js/angular/angular.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/angular.min.js
rename to securis/src/main/resources/static/js/angular/angular.min.js
diff --git a/securis/src/main/resources/static/js/angular.min.js.map b/securis/src/main/resources/static/js/angular/angular.min.js.map
similarity index 100%
rename from securis/src/main/resources/static/js/angular.min.js.map
rename to securis/src/main/resources/static/js/angular/angular.min.js.map
diff --git a/securis/src/main/resources/static/js/chosen.js b/securis/src/main/resources/static/js/angular/chosen.js
similarity index 100%
rename from securis/src/main/resources/static/js/chosen.js
rename to securis/src/main/resources/static/js/angular/chosen.js
diff --git a/securis/src/main/resources/static/js/toaster.js b/securis/src/main/resources/static/js/angular/toaster.js
similarity index 100%
rename from securis/src/main/resources/static/js/toaster.js
rename to securis/src/main/resources/static/js/angular/toaster.js
diff --git a/securis/src/main/resources/static/js/bootstrap-dialog.js b/securis/src/main/resources/static/js/vendor/bootstrap-dialog.js
similarity index 100%
rename from securis/src/main/resources/static/js/bootstrap-dialog.js
rename to securis/src/main/resources/static/js/vendor/bootstrap-dialog.js
diff --git a/securis/src/main/resources/static/js/bootstrap.min.js b/securis/src/main/resources/static/js/vendor/bootstrap.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/bootstrap.min.js
rename to securis/src/main/resources/static/js/vendor/bootstrap.min.js
diff --git a/securis/src/main/resources/static/js/glyphicons-halflings-regular.woff b/securis/src/main/resources/static/js/vendor/glyphicons-halflings-regular.woff
similarity index 100%
rename from securis/src/main/resources/static/js/glyphicons-halflings-regular.woff
rename to securis/src/main/resources/static/js/vendor/glyphicons-halflings-regular.woff
Binary files differ
diff --git a/securis/src/main/resources/static/js/jquery.min.js b/securis/src/main/resources/static/js/vendor/jquery.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/jquery.min.js
rename to securis/src/main/resources/static/js/vendor/jquery.min.js
diff --git a/securis/src/main/resources/static/js/jquery.min.map b/securis/src/main/resources/static/js/vendor/jquery.min.map
similarity index 100%
rename from securis/src/main/resources/static/js/jquery.min.map
rename to securis/src/main/resources/static/js/vendor/jquery.min.map
diff --git a/securis/src/main/resources/static/js/store.js b/securis/src/main/resources/static/js/vendor/store.js
similarity index 100%
rename from securis/src/main/resources/static/js/store.js
rename to securis/src/main/resources/static/js/vendor/store.js
diff --git a/securis/src/main/resources/static/js/store.min.js b/securis/src/main/resources/static/js/vendor/store.min.js
similarity index 100%
rename from securis/src/main/resources/static/js/store.min.js
rename to securis/src/main/resources/static/js/vendor/store.min.js
diff --git a/securis/src/main/resources/static/main.html b/securis/src/main/resources/static/main.html
index a99b9a5..a8d9bff 100644
--- a/securis/src/main/resources/static/main.html
+++ b/securis/src/main/resources/static/main.html
@@ -35,29 +35,29 @@
<!-- /container -->
<script src="/js/vendor/modernizr-2.6.2.min.js"></script>
<script
- src="/js/jquery.min.js"></script>
+ src="/js/vendor/jquery.min.js"></script>
<script type="text/javascript"
- src="/js/bootstrap.min.js"></script>
+ src="/js/vendor/bootstrap.min.js"></script>
<script type="text/javascript"
- src="/js/angular.min.js"></script>
+ src="/js/vendor/bootstrap-dialog.js"></script>
<script type="text/javascript"
- src="/js/angular-route.min.js"></script>
+ src="/js/angular/angular.min.js"></script>
<script type="text/javascript"
- src="/js/angular-resource.min.js"></script>
+ src="/js/angular/angular-route.min.js"></script>
<script type="text/javascript"
- src="/js/angular-resource.min.js"></script>
+ src="/js/angular/angular-resource.min.js"></script>
<script type="text/javascript"
- src="/js/bootstrap-dialog.js"></script>
+ src="/js/angular/angular-resource.min.js"></script>
<script type="text/javascript"
- src="/js/toaster.js"></script>
+ src="/js/angular/toaster.js"></script>
<script type="text/javascript"
- src="/js/toaster.js"></script>
+ src="/js/angular/toaster.js"></script>
<script type="text/javascript"
src="/js/vendor/chosen.jquery.js"></script>
<script type="text/javascript"
- src="/js/chosen.js"></script>
+ src="/js/angular/chosen.js"></script>
<script type="text/javascript"
- src="/js/store.min.js"></script>
+ src="/js/vendor/store.min.js"></script>
<script type="text/javascript" src="js/i18n.js"></script>
<script type="text/javascript" src="js/main.js"></script>
--
Gitblit v1.3.2