Skip to content

Commit bd93d38

Browse files
remove client notification by rest
1 parent f4762a6 commit bd93d38

16 files changed

+145
-140
lines changed

pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
</dependency>
4242
<dependency>
4343
<groupId>io.quarkus</groupId>
44-
<artifactId>quarkus-rest-client</artifactId>
44+
<artifactId>quarkus-hibernate-orm-panache</artifactId>
4545
</dependency>
4646
<dependency>
4747
<groupId>org.jboss.resteasy</groupId>
@@ -52,6 +52,11 @@
5252
<artifactId>quarkus-artemis-jms</artifactId>
5353
</dependency>
5454

55+
<dependency>
56+
<groupId>io.quarkus</groupId>
57+
<artifactId>quarkus-jdbc-postgresql</artifactId>
58+
</dependency>
59+
5560
<dependency>
5661
<groupId>io.github.carlosthe19916</groupId>
5762
<artifactId>sunat-web-services</artifactId>

src/main/java/org/openubl/factories/ModelFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.openubl.factories;
22

33
import io.github.carlosthe19916.webservices.providers.BillServiceModel;
4-
import org.openubl.models.SendFileModel;
4+
import org.openubl.models.SendFileMessageModel;
55

66
import javax.jms.JMSException;
77
import javax.jms.Message;
@@ -15,8 +15,8 @@ private ModelFactory() {
1515
// Just static methods
1616
}
1717

18-
public static SendFileModel getSendFilePropertiesModel(Message message) throws JMSException {
19-
SendFileModel.Builder builder = SendFileModel.Builder.aSunatJMSMessageModel();
18+
public static SendFileMessageModel getSendFilePropertiesModel(Message message) throws JMSException {
19+
SendFileMessageModel.Builder builder = SendFileMessageModel.Builder.aSunatJMSMessageModel();
2020

2121
Enumeration<?> enumeration = message.getPropertyNames();
2222
if (enumeration != null) {
@@ -45,7 +45,7 @@ public static SendFileModel getSendFilePropertiesModel(Message message) throws J
4545
return builder.build();
4646
}
4747

48-
public static Map<String, String> getAsMap(SendFileModel model) {
48+
public static Map<String, String> getAsMap(SendFileMessageModel model) {
4949
Map<String, String> map = new HashMap<>();
5050

5151
map.put("fileName", model.getFileName());

src/main/java/org/openubl/jms/SendCallbackJMSProducer.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@
44
import org.eclipse.microprofile.config.inject.ConfigProperty;
55
import org.jboss.logging.Logger;
66
import org.openubl.factories.ModelFactory;
7-
import org.openubl.models.SendFileModel;
87

98
import javax.enterprise.context.ApplicationScoped;
109
import javax.inject.Inject;
1110
import javax.jms.*;
12-
import java.lang.IllegalStateException;
1311
import java.util.Map;
1412

1513
@ApplicationScoped

src/main/java/org/openubl/jms/SendFileJMSConsumer.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,14 @@
44
import io.quarkus.runtime.StartupEvent;
55
import org.eclipse.microprofile.config.inject.ConfigProperty;
66
import org.jboss.logging.Logger;
7-
import org.openubl.exceptions.InvalidXMLFileException;
87
import org.openubl.factories.ModelFactory;
9-
import org.openubl.models.SendFileModel;
8+
import org.openubl.models.SendFileMessageModel;
109
import org.openubl.providers.SendFileWSProvider;
1110

1211
import javax.enterprise.context.ApplicationScoped;
1312
import javax.enterprise.event.Observes;
1413
import javax.inject.Inject;
1514
import javax.jms.*;
16-
import java.io.IOException;
1715
import java.util.concurrent.Executors;
1816
import java.util.concurrent.ScheduledExecutorService;
1917
import java.util.concurrent.TimeUnit;
@@ -56,7 +54,7 @@ public void run() {
5654
LOG.warn("Consumer can not consume messages other than Bytes Messages");
5755
}
5856

59-
SendFileModel model = ModelFactory.getSendFilePropertiesModel(message);
57+
SendFileMessageModel model = ModelFactory.getSendFilePropertiesModel(message);
6058
boolean result = sunatWSProvider.sendFile(model, message.getBody(byte[].class));
6159

6260
if (result) {

src/main/java/org/openubl/jms/SendFileJMSProducer.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package org.openubl.jms;
22

3-
import io.github.carlosthe19916.webservices.providers.BillServiceModel;
43
import org.eclipse.microprofile.config.inject.ConfigProperty;
54
import org.jboss.logging.Logger;
65
import org.openubl.factories.ModelFactory;
7-
import org.openubl.models.SendFileModel;
6+
import org.openubl.models.SendFileMessageModel;
87

98
import javax.enterprise.context.ApplicationScoped;
109
import javax.inject.Inject;
@@ -23,7 +22,7 @@ public class SendFileJMSProducer {
2322
@Inject
2423
ConnectionFactory connectionFactory;
2524

26-
public void produceSendFileMessage(SendFileModel sendFileModel, byte[] file) {
25+
public void produceSendFileMessage(SendFileMessageModel sendFileMessageModel, byte[] file) throws JMSException {
2726
if (file == null || file.length == 0) {
2827
throw new IllegalStateException("Invalid file");
2928
}
@@ -36,13 +35,13 @@ public void produceSendFileMessage(SendFileModel sendFileModel, byte[] file) {
3635
BytesMessage message = context.createBytesMessage();
3736
message.writeBytes(file);
3837

39-
for (Map.Entry<String, String> entry : ModelFactory.getAsMap(sendFileModel).entrySet()) {
38+
for (Map.Entry<String, String> entry : ModelFactory.getAsMap(sendFileMessageModel).entrySet()) {
4039
message.setStringProperty(entry.getKey(), entry.getValue());
4140
}
4241

4342
jmsProducer.send(queue, message);
44-
} catch (JMSException e) {
45-
LOG.error("Error trying to send bytes message", e);
43+
} finally {
44+
LOG.info("File has been sent to the Broker");
4645
}
4746
}
4847

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.openubl.models;
2+
3+
public enum FileDeliveryStatusType {
4+
SCHEDULED_TO_DELIVER,
5+
RESCHEDULED_TO_DELIVER,
6+
DELIVERED
7+
}

src/main/java/org/openubl/models/MultipartBody.java

Lines changed: 0 additions & 31 deletions
This file was deleted.

src/main/java/org/openubl/models/SendFileModel.java renamed to src/main/java/org/openubl/models/SendFileMessageModel.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package org.openubl.models;
22

3-
public class SendFileModel {
3+
public class SendFileMessageModel {
44
private String serverUrl;
55
private String fileName;
66
private String documentType;
77
private String username;
88
private String password;
9+
private String customId;
910

1011
public String getServerUrl() {
1112
return serverUrl;
@@ -47,17 +48,26 @@ public void setPassword(String password) {
4748
this.password = password;
4849
}
4950

51+
public String getCustomId() {
52+
return customId;
53+
}
54+
55+
public void setCustomId(String customId) {
56+
this.customId = customId;
57+
}
58+
5059
public static final class Builder {
5160
private String serverUrl;
5261
private String fileName;
5362
private String documentType;
5463
private String username;
5564
private String password;
65+
private String customId;
5666

5767
private Builder() {
5868
}
5969

60-
public static Builder aSunatJMSMessageModel() {
70+
public static Builder aSendFileMessageModel() {
6171
return new Builder();
6272
}
6373

@@ -86,14 +96,20 @@ public Builder withPassword(String password) {
8696
return this;
8797
}
8898

89-
public SendFileModel build() {
90-
SendFileModel sendMessageModel = new SendFileModel();
91-
sendMessageModel.setServerUrl(serverUrl);
92-
sendMessageModel.setFileName(fileName);
93-
sendMessageModel.setDocumentType(documentType);
94-
sendMessageModel.setUsername(username);
95-
sendMessageModel.setPassword(password);
96-
return sendMessageModel;
99+
public Builder withCustomId(String customId) {
100+
this.customId = customId;
101+
return this;
102+
}
103+
104+
public SendFileMessageModel build() {
105+
SendFileMessageModel sendFileMessageModel = new SendFileMessageModel();
106+
sendFileMessageModel.setServerUrl(serverUrl);
107+
sendFileMessageModel.setFileName(fileName);
108+
sendFileMessageModel.setDocumentType(documentType);
109+
sendFileMessageModel.setUsername(username);
110+
sendFileMessageModel.setPassword(password);
111+
sendFileMessageModel.setCustomId(customId);
112+
return sendFileMessageModel;
97113
}
98114
}
99115
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package org.openubl.models.jpa;
2+
3+
import io.quarkus.hibernate.orm.panache.PanacheRepository;
4+
import org.openubl.models.jpa.entities.FileDeliveryEntity;
5+
6+
import javax.enterprise.context.ApplicationScoped;
7+
8+
@ApplicationScoped
9+
public class FileDeliveryRepository implements PanacheRepository<FileDeliveryEntity> {
10+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package org.openubl.models.jpa.entities;
2+
3+
import io.quarkus.hibernate.orm.panache.PanacheEntity;
4+
import org.openubl.models.FileDeliveryStatusType;
5+
6+
import javax.persistence.*;
7+
import javax.validation.constraints.NotNull;
8+
9+
@Entity
10+
@Cacheable
11+
public class FileDeliveryEntity extends PanacheEntity {
12+
13+
@NotNull
14+
@Enumerated(EnumType.STRING)
15+
@Column(name = "status")
16+
public FileDeliveryStatusType status;
17+
18+
public static final class Builder {
19+
public FileDeliveryStatusType status;
20+
21+
private Builder() {
22+
}
23+
24+
public static Builder aFileDeliveryEntity() {
25+
return new Builder();
26+
}
27+
28+
public Builder withStatus(FileDeliveryStatusType status) {
29+
this.status = status;
30+
return this;
31+
}
32+
33+
public FileDeliveryEntity build() {
34+
FileDeliveryEntity fileDeliveryEntity = new FileDeliveryEntity();
35+
fileDeliveryEntity.status = this.status;
36+
return fileDeliveryEntity;
37+
}
38+
}
39+
}

0 commit comments

Comments
 (0)