Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/nortal/j-road
Browse files Browse the repository at this point in the history
  • Loading branch information
rometpiho committed Apr 20, 2016
2 parents e4ff7e4 + 855c397 commit 717354e
Show file tree
Hide file tree
Showing 9 changed files with 364 additions and 319 deletions.
1 change: 1 addition & 0 deletions client-service/arireg/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>xtee-client-arireg</artifactId>
<name>Arireg client services</name>
<version>4.2.1-SNAPSHOT</version>

<parent>
<groupId>com.nortal.jroad</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,7 @@
import java.util.Date;
import java.util.List;

import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV3Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV4Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV4Query;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV5Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV5Query;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.Detailandmedv2Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.Detailandmedv2Query;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.EttevotjaMuudatusedTasutaParing;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.EttevotjaMuudatusedTasutaVastus;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingarikeeludKeeld;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusEttevote;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusV2Ettevote;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusV3Ettevote;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.*;
import com.nortal.jroad.client.exception.XTeeServiceConsumptionException;

/**
Expand Down Expand Up @@ -404,4 +392,13 @@ public void populate(EttevotjaMuudatusedTasutaParing query) {
*/
EttevotjaMuudatusedTasutaVastus findEttevotjaMuudatusedTasutaV1(EttevotjaMuudatusedTasutaReturnedDataSettingCallback callback)
throws XTeeServiceConsumptionException;

/**
* <code>arireg.ettevotja_muudatused_tasuta_tootukassa.v1</code> X-tee service.
*/
EttevotjaMuudatusedTasutaTootukassaVastus findEttevotjaMuudatusedTasutaTootukassaV1(Date algusKp,
Date loppKp,
String[] kandesIsikudRollid,
Integer tulemusteLk)
throws XTeeServiceConsumptionException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,10 @@

import javax.annotation.Resource;

import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.*;
import org.springframework.stereotype.Service;

import com.nortal.jroad.client.arireg.database.AriregXTeeDatabase;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV3Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV4Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV4Query;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV5Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.DetailandmedV5Query;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.Detailandmedv2Ettevotja;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.Detailandmedv2Query;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.EttevotjaMuudatusedTasutaParing;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.EttevotjaMuudatusedTasutaVastus;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingarikeeludKeeld;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingarikeeludParing;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusEttevote;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusParing;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusV2Ettevote;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusV2Paring;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusV3Ettevote;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.ParingesindusV3Paring;
import com.nortal.jroad.client.exception.XTeeServiceConsumptionException;

/**
Expand Down Expand Up @@ -338,4 +322,26 @@ public EttevotjaMuudatusedTasutaVastus findEttevotjaMuudatusedTasutaV1(Ettevotja

return ariregXTeeDatabase.ettevotjaMuudatusedTasutaV1(query);
}

public EttevotjaMuudatusedTasutaTootukassaVastus findEttevotjaMuudatusedTasutaTootukassaV1(
Date algusKp,
Date loppKp,
String[] kandesIsikudRollid,
Integer tulemusteLk) throws XTeeServiceConsumptionException {

Calendar algus = Calendar.getInstance();
Calendar lopp = Calendar.getInstance();
algus.setTime(algusKp);
lopp.setTime(loppKp);

EttevotjaMuudatusedTasutaTootukassaParing query = EttevotjaMuudatusedTasutaTootukassaParing.Factory.newInstance();
query.setAlguskuupaev(algus);
query.setLoppkuupaev(lopp);
query.setKandesIsikudRollidArray(kandesIsikudRollid);
if (tulemusteLk != null) {
query.setTulemusteLk(tulemusteLk);
}

return ariregXTeeDatabase.ettevotjaMuudatusedTasutaTootukassaV1(query);
}
}
34 changes: 34 additions & 0 deletions client-service/arireg/src/main/resources/arireg.wsdl
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@
<!-- http://www2.rik.ee/schemas/xtee/arireg/live/ettevotja_muudatused_tasuta.xsd -->
<!-- <include schemaLocation="http://www2.rik.ee/schemas/xtee/arireg/live/ettevotja_muudatused_tasuta.xsd" /> -->

<!-- ettevotja_muudatused tasuta riigiasutustele, eelkõige töötukassa -->
<include
schemaLocation="http://www2.rik.ee/schemas/xtee/arireg/live/ettevotja_muudatused_tasuta_tootukassa.xsd" />

<!-- ettevotja_muudatused tasuline -->
<!-- <include schemaLocation="http://www2.rik.ee/schemas/xtee/arireg/live/ettevotja_muudatused_tasuline.xsd"/> -->

Expand Down Expand Up @@ -993,6 +997,13 @@
<part name="paring" type="typens:ettevotja_muudatused_tasuta_paring" />
<part name="keha" type="typens:ettevotja_muudatused_tasuta_vastus" />
</message>
<message name="ettevotja_muudatused_tasuta_tootukassaInputMessage">
<part name="keha" type="typens:ettevotja_muudatused_tasuta_tootukassa_paring"/>
</message>
<message name="ettevotja_muudatused_tasuta_tootukassaOutputMessage">
<part name="paring" type="typens:ettevotja_muudatused_tasuta_tootukassa_paring"/>
<part name="keha" type="typens:ettevotja_muudatused_tasuta_tootukassa_vastus"/>
</message>
<message name="ettevotja_muudatused_tasulineOutputMessage">
<part name="paring" type="typens:ettevotja_muudatused_tasuline_paring" />
<part name="keha" type="typens:ettevotja_muudatused_tasuline_vastus" />
Expand Down Expand Up @@ -1487,6 +1498,15 @@
<input message="typens:ettevotja_muudatused_tasutaInputMessage" />
<output message="typens:ettevotja_muudatused_tasutaOutputMessage" />
</operation>
<operation name="ettevotja_muudatused_tasuta_tootukassa">
<documentation>
<xtee:title>
Ettevõtja muudatuste loetelu riigiasutustele päring töötukassale
</xtee:title>
</documentation>
<input message="typens:ettevotja_muudatused_tasuta_tootukassaInputMessage"/>
<output message="typens:ettevotja_muudatused_tasuta_tootukassaOutputMessage"/>
</operation>
<operation name="ettevotja_muudatused_tasuline">
<documentation>
<xtee:title>Ettevõtja muudatuste loetelu tasuline päring
Expand Down Expand Up @@ -2042,6 +2062,20 @@
use="encoded" />
</output>
</operation>
<operation name="ettevotja_muudatused_tasuta_tootukassa">
<xtee:version>v1</xtee:version>
<soap:operation soapAction="" />
<input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://producers.arireg.xtee.riik.ee/producer/arireg"
use="encoded" />
</input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://producers.arireg.xtee.riik.ee/producer/arireg"
use="encoded" />
</output>
</operation>
<operation name="ettevotja_muudatused_tasuline">
<xtee:version>v1</xtee:version>
<soap:operation soapAction="" />
Expand Down
1 change: 1 addition & 0 deletions client-service/kir/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>xtee-client-kir</artifactId>
<name>Kir client services</name>
<version>4.1.0-SNAPSHOT</version>

<parent>
<groupId>com.nortal.jroad</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.nortal.jroad.client.kir;

import com.nortal.jroad.client.exception.XTeeServiceConsumptionException;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.AnnaArvelolekuAndmedResponse;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.AnnaArvelolekuAndmedResponseDocument.AnnaArvelolekuAndmedResponse;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.IsikuStaatus;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.LeiaMuudetudAndmetegaKinnipeetavadResponse;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.LeiaMuudetudAndmetegaKinnipeetavadResponseDocument.LeiaMuudetudAndmetegaKinnipeetavadResponse;

import java.util.Date;
import java.util.Set;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
package com.nortal.jroad.client.kir;

import com.nortal.jroad.client.exception.XTeeServiceConsumptionException;
import com.nortal.jroad.client.kir.database.KirXRoadDatabase;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.*;
import com.nortal.jroad.client.service.v4.XRoadDatabaseService;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.AnnaArvelolekuAndmedDocument.AnnaArvelolekuAndmed;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.AnnaArvelolekuAndmedRequest;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.AnnaArvelolekuAndmedResponseDocument.AnnaArvelolekuAndmedResponse;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.IsikuStaatus;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.LeiaMuudetudAndmetegaKinnipeetavadDocument.LeiaMuudetudAndmetegaKinnipeetavad;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.LeiaMuudetudAndmetegaKinnipeetavadRequest;
import com.nortal.jroad.client.kir.types.ee.x_road.kir.producer.LeiaMuudetudAndmetegaKinnipeetavadResponseDocument.LeiaMuudetudAndmetegaKinnipeetavadResponse;
import com.nortal.jroad.client.service.callback.CustomCallback;
import com.nortal.jroad.client.service.v3.XRoadDatabaseService;
import com.nortal.jroad.enums.XRoadProtocolVersion;
import com.nortal.jroad.model.XTeeMessage;
import com.nortal.jroad.model.XmlBeansXTeeMessage;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.ws.WebServiceMessage;
import org.springframework.ws.soap.saaj.SaajSoapMessage;
import org.springframework.xml.transform.StringResult;
import org.springframework.xml.transform.StringSource;

import javax.annotation.Resource;
import javax.xml.namespace.QName;
import javax.xml.soap.*;
import javax.xml.transform.Source;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.Set;

/**
Expand All @@ -17,30 +39,34 @@
@Service("kirXTeeService")
public class KirXTeeServiceImpl extends XRoadDatabaseService implements KirXTeeService {

@Resource
private KirXRoadDatabase kirXRoadDatabase;

public AnnaArvelolekuAndmedResponse annaArvelolekuAndmedV1(Date start, Date end, Set<IsikuStaatus.Enum> requestTypes, Set<String> idCodes) throws XTeeServiceConsumptionException {
AnnaArvelolekuAndmedRequest requestWrapper = AnnaArvelolekuAndmedRequest.Factory.newInstance();
AnnaArvelolekuAndmedRequest.Request request = requestWrapper.addNewRequest();

AnnaArvelolekuAndmed requestWrapper = AnnaArvelolekuAndmed.Factory.newInstance();
AnnaArvelolekuAndmedRequest request = requestWrapper.addNewRequest();
request.setPerioodiAlgusKP(toCalendar(start));
request.setPerioodiLoppKP(toCalendar(end));
AnnaArvelolekuAndmedRequest.Request.Paring p = request.addNewParing();
p.setParinguLiikArray(requestTypes.toArray(new IsikuStaatus.Enum[requestTypes.size()]));
p.setIsikukoodArray(idCodes.toArray(new String[idCodes.size()]));
request.setParinguLiikArray(requestTypes.toArray(new IsikuStaatus.Enum[requestTypes.size()]));
request.setIsikukoodArray(idCodes.toArray(new String[idCodes.size()]));

return kirXRoadDatabase.annaArvelolekuAndmedV1(requestWrapper);
XmlBeansXTeeMessage<AnnaArvelolekuAndmed> xRoadMsg =
new XmlBeansXTeeMessage<AnnaArvelolekuAndmed>(requestWrapper);
XTeeMessage<AnnaArvelolekuAndmedResponse> response =
send(xRoadMsg, "AnnaArvelolekuAndmed", "v1", new KirCallback(start, end), null);
return response.getContent();
}

public LeiaMuudetudAndmetegaKinnipeetavadResponse leiaMuudetudAndmetegaKinnipeetavadV1(Date start, Date end) throws XTeeServiceConsumptionException {
LeiaMuudetudAndmetegaKinnipeetavadRequest requestWrapper = LeiaMuudetudAndmetegaKinnipeetavadRequest.Factory.newInstance();
LeiaMuudetudAndmetegaKinnipeetavadRequest.Request request = requestWrapper.addNewRequest();
LeiaMuudetudAndmetegaKinnipeetavad requestWrapper = LeiaMuudetudAndmetegaKinnipeetavad.Factory.newInstance();
LeiaMuudetudAndmetegaKinnipeetavadRequest request = requestWrapper.addNewRequest();

request.setPerioodiAlgusKP(toCalendar(start));
request.setPerioodiLoppKP(toCalendar(end));

return kirXRoadDatabase.leiaMuudetudAndmetegaKinnipeetavadV1(requestWrapper);
XmlBeansXTeeMessage<LeiaMuudetudAndmetegaKinnipeetavadRequest> xRoadMsg =
new XmlBeansXTeeMessage<LeiaMuudetudAndmetegaKinnipeetavadRequest>(request);
XTeeMessage<LeiaMuudetudAndmetegaKinnipeetavadResponse> response =
send(xRoadMsg, "LeiaMuudetudAndmetegaKinnipeetavad", "v1", new KirCallback(), null);

return response.getContent();
}

private Calendar toCalendar(Date date) {
Expand All @@ -52,4 +78,68 @@ private Calendar toCalendar(Date date) {
return calendar;
}

private static class KirCallback extends CustomCallback {

private static final String ns = "xro";
private static final String nsV30Uri = XRoadProtocolVersion.V3_0.getNamespaceUri();
private static final String nsV31Uri = XRoadProtocolVersion.V3_1.getNamespaceUri();

private final Date startDate;
private final Date endDate;
private SimpleDateFormat dateWithTimezone = new SimpleDateFormat("yyyy-MM-ddXXX");
private SimpleDateFormat dateWithoutTimezone = new SimpleDateFormat("yyyy-MM-dd");

private KirCallback() {
this(null, null);
}

private KirCallback(Date startDate, Date endDate) {
this.startDate = startDate;
this.endDate = endDate;
}

public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
callback.doWithMessage(message);
try {
SaajSoapMessage saajMsg = (SaajSoapMessage) message;
SOAPMessage soapMsg = saajMsg.getSaajMessage();
SOAPEnvelope env = soapMsg.getSOAPPart().getEnvelope();
env.addNamespaceDeclaration(ns, nsV31Uri);

Iterator headers = env.getHeader().getChildElements();
while (headers.hasNext()) {
SOAPElement header = (SOAPElement) headers.next();
if (header.getNamespaceURI().equalsIgnoreCase(nsV30Uri)) {
QName qName = new QName(nsV31Uri, header.getLocalName(), ns);
header.setElementQName(qName);
}
}

formatDate(saajMsg, startDate);
formatDate(saajMsg, endDate);
} catch (SOAPException e) {
throw new RuntimeException(e);
}
}

private void formatDate(SaajSoapMessage saajMsg, Date date) throws TransformerException {
if (date == null) {
return;
}
SOAPPart soapPart = saajMsg.getSaajMessage().getSOAPPart();
Source source = new DOMSource(soapPart);
StringResult stringResult = new StringResult();
TransformerFactory.newInstance().newTransformer().transform(source, stringResult);
try {
String from = dateWithTimezone.format(date);
String to = dateWithoutTimezone.format(date);
String content = StringUtils.replace(stringResult.toString(), from, to);
soapPart.setContent(new StringSource(content));
} catch (Exception e) {
throw new TransformerException(e);
}
}

}

}
Loading

0 comments on commit 717354e

Please sign in to comment.