Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>cz.geek</groupId>
<artifactId>fio-java</artifactId>
<version>0.1.1-SNAPSHOT</version>
<version>0.1.2-SNAPSHOT</version>
<name>${project.artifactId}</name>
<description>Fio Bank Java Client</description>

Expand All @@ -29,10 +29,13 @@
<developer>
<name>Martin Caslavsky</name>
</developer>
<developer>
<name>Jaromir Sima</name>
</developer>
</developers>

<properties>
<targetJdk>1.7</targetJdk>
<targetJdk>1.8</targetJdk>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<httpclient.version>4.3.3</httpclient.version>
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/cz/geek/fio/FioConversionService.java
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,17 @@ public List<FioTransaction> convert(final TransactionList source) {
if (transaction.getColumn25() != null) {
target.setKomentar(transaction.getColumn25().getValue());
}
if (transaction.getColumn5() != null) {
target.setVariabilniSymbol(transaction.getColumn5().getValue());
}
if (transaction.getColumn4() != null) {
target.setKonstantniSymbol(transaction.getColumn4().getValue());
}
if (transaction.getColumn6() != null) {
target.setSpecifickySymbol(transaction.getColumn6().getValue());
}


transactions.add(target);
}
return transactions;
Expand Down
29 changes: 29 additions & 0 deletions src/main/java/cz/geek/fio/FioTransaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ public class FioTransaction {
private String provedl;
private String komentar;
private long idPokynu;
private String variabilniSymbol;
private String konstantniSymbol;
private String specifickySymbol;

public String getIdPohybu() {
return idPohybu;
Expand Down Expand Up @@ -117,4 +120,30 @@ void setIdPokynu(final long idPokynu) {
this.idPokynu = idPokynu;
}

public String getVariabilniSymbol() {
return variabilniSymbol;
}

public void setVariabilniSymbol(String variabilniSymbol) {
this.variabilniSymbol = variabilniSymbol;
}


public String getKonstantniSymbol() {
return konstantniSymbol;
}

public void setKonstantniSymbol(String konstantniSymbol) {
this.konstantniSymbol = konstantniSymbol;
}

public String getSpecifickySymbol() {
return specifickySymbol;
}

public void setSpecifickySymbol(String specifickySymbol) {
this.specifickySymbol = specifickySymbol;
}


}
122 changes: 118 additions & 4 deletions src/test/java/cz/geek/fio/FioConversionServiceTest.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
package cz.geek.fio;

import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl;
import org.joda.time.LocalDate;
import org.testng.annotations.Test;

import javax.xml.datatype.XMLGregorianCalendar;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.List;

import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
import static org.testng.Assert.*;
Expand All @@ -20,16 +27,123 @@ public void shouldConvert() throws Exception {
final Info info = new Info();
info.setAccountId("account");
info.setBankId("bank");
info.setBic("bic");
info.setClosingBalance(BigDecimal.TEN);
info.setCurrency("czk");
info.setDateEnd(this.getGregorianCalendar(2017));
info.setDateStart(this.getGregorianCalendar(2016));
info.setIban("iban");
info.setIdFrom(BigInteger.ONE);
info.setIdLastDownload(BigInteger.ZERO);
info.setIdList(new BigInteger("11"));
info.setIdTo(new BigInteger("12"));
info.setOpeningBalance(new BigDecimal("9"));
info.setYearList(BigInteger.ZERO);

final AccountStatement source = new AccountStatement();
source.setInfo(info);
final TransactionList transactionList = new TransactionList();
transactionList.getTransaction().add( this.getTransaction("999", "888", "777") );
source.setTransactionList(transactionList);

final FioAccountStatement target = service.convert(source, FioAccountStatement.class);

assertThat(target, is(notNullValue()));
assertNotNull(target);

assertNotNull(target.getInfo());
assertEquals(target.getInfo().getAccountId(), info.getAccountId());
assertEquals(target.getInfo().getBankId(), info.getBankId());
assertEquals(target.getInfo().getBic(), info.getBic());
assertEquals(target.getInfo().getCurrency(), info.getCurrency());
assertEquals(target.getInfo().getIban(), info.getIban());
assertEquals(target.getInfo().getClosingBalance(), info.getClosingBalance());
assertEquals(target.getInfo().getCurrency(), info.getCurrency());
assertEquals(target.getInfo().getDateEnd(), new LocalDate(2017,1,1));
assertEquals(target.getInfo().getDateStart(), new LocalDate(2016,1,1));
assertEquals(target.getInfo().getIdFrom(), info.getIdFrom());
assertEquals(target.getInfo().getIdLastDownload(), info.getIdLastDownload());
assertEquals(target.getInfo().getIdList(), info.getIdList());
assertEquals(target.getInfo().getIdTo(), info.getIdTo());
assertEquals(target.getInfo().getOpeningBalance(), info.getOpeningBalance());
assertEquals(target.getInfo().getYearList(), info.getYearList());

assertNotNull(target.getTransactions());
assertEquals(target.getTransactions().size(), 1);

FioTransaction tr = target.getTransactions().get(0);
assertEquals(tr.getIdPohybu(), "22");
assertEquals(tr.getDatum(), new LocalDate(2000,1,1));
assertEquals(tr.getObjem(), BigDecimal.ONE);
assertEquals(tr.getTyp(), "8");
assertEquals(tr.getMena(), "14");
assertEquals(tr.getVariabilniSymbol(), "999");
assertEquals(tr.getSpecifickySymbol(), "888");
assertEquals(tr.getKonstantniSymbol(), "777");
}

private XMLGregorianCalendar getGregorianCalendar(int year){
XMLGregorianCalendar cal = new XMLGregorianCalendarImpl();
cal.setYear(year);
cal.setMonth(1);
cal.setDay(1);
return cal;
}


private Transaction getTransaction(String vs, String ss, String ks){

final Transaction transaction = new Transaction();

final Column22 c = new Column22();
c.setId(BigInteger.ONE);
c.setName("column_22");
c.setValue("22");
transaction.setColumn22(c);

final Column0 c0 = new Column0();
c0.setId(BigInteger.ONE);
c0.setName("column_0");
c0.setValue(this.getGregorianCalendar(2000));
transaction.setColumn0(c0);

final Column1 c1 = new Column1();
c1.setId(BigInteger.ONE);
c1.setName("column_1");
c1.setValue(BigDecimal.ONE);
transaction.setColumn1(c1);

final Column8 c8 = new Column8();
c8.setId(BigInteger.ONE);
c8.setName("column_8");
c8.setValue("8");
transaction.setColumn8(c8);

final Column14 c14 = new Column14();
c14.setId(BigInteger.ONE);
c14.setName("column_14");
c14.setValue("14");
transaction.setColumn14(c14);


final Column5 vsCol = new Column5();
vsCol.setId(BigInteger.ONE);
vsCol.setName("column_5");
vsCol.setValue(vs);
transaction.setColumn5(vsCol);

final Column4 ksCol = new Column4();
ksCol.setId(BigInteger.ONE);
ksCol.setName("column_4");
ksCol.setValue(ks);
transaction.setColumn4(ksCol);

final Column6 ssCol = new Column6();
ssCol.setId(BigInteger.ONE);
ssCol.setName("column_6");
ssCol.setValue(ss);
transaction.setColumn6(ssCol);

return transaction;

assertThat(target.getInfo(), is(notNullValue()));
assertThat(target.getInfo().getAccountId(), is(info.getAccountId()));
assertThat(target.getInfo().getBankId(), is(info.getBankId()));
}
}
3 changes: 3 additions & 0 deletions src/test/java/cz/geek/fio/FioExtractorTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ public void shouldName() throws Exception {
final FioTransaction transaction = statement.getTransactions().iterator().next();
assertThat(transaction.getIdPohybu(), is("1147301403"));
assertThat(transaction.getDatum(), is(new LocalDate(2012, 6, 30)));
assertEquals(transaction.getVariabilniSymbol(), "9998887770");
assertEquals(transaction.getSpecifickySymbol(), "666555444");
assertEquals(transaction.getKonstantniSymbol(), "0111");
}

static class FakeClientHttpResponse extends AbstractClientHttpResponse {
Expand Down
5 changes: 5 additions & 0 deletions src/test/resources/transactions-id.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@
<column_14 id="14" name="Měna">CZK</column_14>
<column_8 id="8" name="Typ">Připsaný úrok</column_8>
<column_17 id="17" name="ID pokynu">2099310186</column_17>

<column_4 id="17" name="ks">0111</column_4>
<column_5 id="17" name="vs">9998887770</column_5>
<column_6 id="17" name="ss">666555444</column_6>

</Transaction>
<Transaction>
<column_22 id="22" name="ID pohybu">1147301404</column_22>
Expand Down