Skip to content

Commit ee5ec20

Browse files
authored
Merge pull request #28 from lunasoft/feature/storageService
Feature/storage service
2 parents 6bf2cfd + 592b542 commit ee5ec20

File tree

12 files changed

+594
-3
lines changed

12 files changed

+594
-3
lines changed

.vscode/launch.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
// Use IntelliSense para saber los atributos posibles.
3+
// Mantenga el puntero para ver las descripciones de los existentes atributos.
4+
// Para más información, visite: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "java",
9+
"name": "Launch Current File",
10+
"request": "launch",
11+
"mainClass": "${file}"
12+
}
13+
]
14+
}

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ Documentación disponible a través de GitHub Pages en el siguiente enlace: [sdk
3434
Se agrega servicio de generación de pdf.
3535

3636
## Release features Version 0.0.1.4
37-
Se agregan pruebas unitarias de diferentes escenarios de timbrado CFDI 4.0 implementando los métodos de timbrado disponibles en sdk-java18.
37+
Se agregan pruebas unitarias de diferentes escenarios de timbrado CFDI 4.0 implementando los métodos de timbrado disponibles en sdk-java18.
38+
39+
## Release features Version 0.0.2.1
40+
Se agrega el Servicio de Storage, asi como Pruebas Unitarias de escenarios de success y error.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>mx.com.sw</groupId>
55
<artifactId>sdk-java18</artifactId>
6-
<version>0.0.1.6</version>
6+
<version>0.0.2.1</version>
77
<packaging>jar</packaging>
88
<properties>
99
<maven.compiler.source>1.8</maven.compiler.source>

resources/pdfresult.pdf

0 Bytes
Binary file not shown.

src/main/java/mx/com/sw/entities/IResponse.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ public String getStatus() {
3535
return this.status;
3636
}
3737

38+
public void setStatus(String value) {
39+
this.status = value;
40+
}
41+
3842
/**
3943
* Obtiene el mensaje de error obtenido.
4044
* <b>Nota:</b> Este valor generalmente solo existe cunado la solicitud

src/main/java/mx/com/sw/helpers/ResponseHelper.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import mx.com.sw.services.stamp.responses.StampResponseV2;
1515
import mx.com.sw.services.stamp.responses.StampResponseV3;
1616
import mx.com.sw.services.stamp.responses.StampResponseV4;
17-
17+
import mx.com.sw.services.storage.StorageResponse;
1818
/**
1919
* ResponseHelper
2020
* Está clase funciona como un handler de exceptions donde se toma un exception
@@ -153,4 +153,13 @@ public static AcceptRejectResponse toAcceptRejectResponse(Throwable ex) {
153153
public static RelationsResponse toRelationsResponse(Throwable ex) {
154154
return new RelationsResponse(STATUS_ERROR, ex.getMessage(), getStackError(ex), null);
155155
}
156+
157+
/**
158+
* Este método obtiene una respuesta de tipo StorageResponse.
159+
* @param ex Throwable a ser tratado
160+
* @return {@link StorageResponse}
161+
*/
162+
public static StorageResponse toStorageResponse(Throwable ex) {
163+
return new StorageResponse(STATUS_ERROR, ex.getMessage(), getStackError(ex), null);
164+
}
156165
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package mx.com.sw.services.storage;
2+
3+
import java.util.Map;
4+
import java.util.UUID;
5+
6+
import org.apache.http.client.config.RequestConfig;
7+
import mx.com.sw.exceptions.ServicesException;
8+
import mx.com.sw.helpers.GeneralHelpers;
9+
10+
public class Storage extends StorageService {
11+
StorageResponseHandler handler;
12+
13+
/**
14+
* Constructor de la clase.
15+
*
16+
* @param url url base de la API
17+
* @param user correo o usuario de SW
18+
* @param password password de SW.
19+
* @param proxy ip o dominio de proxy (null si no se utiliza)
20+
* @param proxyPort número de puerto de proxy (cualquier valor si proxy es null)
21+
* @throws ServicesException exception en caso de error.
22+
*/
23+
24+
public Storage(String urlApi, String url, String user, String password, String proxy,
25+
int proxyPort) throws ServicesException {
26+
super(url, urlApi, user, password, proxy, proxyPort);
27+
handler = new StorageResponseHandler();
28+
}
29+
30+
/**
31+
* Constructor de la clase.
32+
*
33+
* @param url url base de la API
34+
* @param token token infinito de SW.
35+
* @param proxy ip o dominio de proxy (null si no se utiliza)
36+
* @param proxyPort número de puerto de proxy (cualquier valor si proxy es null)
37+
* @throws ServicesException exception en caso de error.
38+
*/
39+
public Storage(String urlApi, String token, String proxy, int proxyPort) throws ServicesException {
40+
super(urlApi, token, proxy, proxyPort);
41+
handler = new StorageResponseHandler();
42+
}
43+
44+
/*Metodo que recibe el UUID para la peticion de la información
45+
*/
46+
47+
public StorageResponse getXml(UUID uuid) throws ServicesException {
48+
Map<String, String> headers = getHeaders();
49+
RequestConfig config = GeneralHelpers.setProxyAndTimeOut(getProxy(), getProxyPort());
50+
StorageResponse response = handler.getHTTP(getUrlapi()==null ? getUrl() : getUrlapi(),
51+
"datawarehouse/v1/live/" + uuid, headers, config,
52+
StorageResponse.class);
53+
if (response.getData() == null || response.getData().getRecords().size() <= 0) {
54+
response.setStatus("error");
55+
}
56+
return response;
57+
}
58+
59+
}

0 commit comments

Comments
 (0)