diff --git a/beschbgtest.properties b/beschbgtest.properties deleted file mode 100644 index 3349e2a..0000000 --- a/beschbgtest.properties +++ /dev/null @@ -1 +0,0 @@ -kb2,kb3(un)=schlechte Kornbindung, mäßige Kornbindung (unten) \ No newline at end of file diff --git a/beschbvtest.properties b/beschbvtest.properties deleted file mode 100644 index 1e4fa59..0000000 --- a/beschbvtest.properties +++ /dev/null @@ -1 +0,0 @@ -spvl(30%-40%,tv(29.02-29.23))=Spülverlust [Prozent] (30% bis 40%, Teufe von (29,02 bis 29,23)) \ No newline at end of file diff --git a/bgruppetest.properties b/bgruppetest.properties deleted file mode 100644 index 81bc73e..0000000 --- a/bgruppetest.properties +++ /dev/null @@ -1 +0,0 @@ -GE=Kies, enggestuft \ No newline at end of file diff --git a/bmltest.properties b/bmltest.properties deleted file mode 100644 index b60438b..0000000 --- a/bmltest.properties +++ /dev/null @@ -1,3 +0,0 @@ -^hzk,\ fS(ms2,\ "gl"2)=fS,mS -G(fg-gg,ms-gs,mats,mata,grs(tw)),fX-mX(mata),mS(fs,grs,fg-mg2,mx(voe))=G,fG,gG,mS,gS,eG,X,fS,mG -U(hz(res),H(res),zg1)=U,Pfl,H \ No newline at end of file diff --git a/farbetest.properties b/farbetest.properties deleted file mode 100644 index 6725632..0000000 --- a/farbetest.properties +++ /dev/null @@ -1,24 +0,0 @@ -ro=rot -bn=braun -dro=dunkelrot -hbn=hellbraun -gr=grau -bl=blau -dd=sehr dunkel -hgr=hellgrau -mt=matt -ol=oliv -olst=olivstichig -sw=schwarz -ge=gelb -dgr=dunkelgrau -gn=grün -rs=rosa -gnli=grünlich -grst=graustichig -# robn= -# blro=blaurot -# drohbngr,blro,ddro,hgrbn,mtgr,mtol,mtolst= -dro-hgr=dunkelrot bis hellgrau -# robn,sw,ge,dgr-gn,swgerobnrs= -gnli,grst=grünlich, graustichig \ No newline at end of file diff --git a/genesetest.properties b/genesetest.properties deleted file mode 100644 index bc7d506..0000000 --- a/genesetest.properties +++ /dev/null @@ -1 +0,0 @@ -as,Lou(lok)=Abspülung, Schwemmlöss (lokal) \ No newline at end of file diff --git a/kalkgehtest.properties b/kalkgehtest.properties deleted file mode 100644 index 017857d..0000000 --- a/kalkgehtest.properties +++ /dev/null @@ -1 +0,0 @@ -zg1-zg2(ob)=sehr schwach zersetzt bis schwach zersetzt (oben) \ No newline at end of file diff --git a/petrotest.properties b/petrotest.properties deleted file mode 100644 index 0550202..0000000 --- a/petrotest.properties +++ /dev/null @@ -1,16 +0,0 @@ -^ms=Mittelsandstein -^u=Schluffstein -^gs=Grobsandstein -W,^gs(l-fs),^u=Wasser, Grobsandstein (lehmig bis feinsandig), Schluffstein -^ms(r2,r3(tw),gs(lw,r2-r3)),^u(t,lw),^gs(r3,bei(113),nf?)=Mittelsandstein (kantengerundet, mäßig gerundet (teilweise), grobsandig (lagenweise, kantengerundet bis mäßig gerundet)), Schluffstein (tonig, lagenweise), Grobsandstein (mäßig gerundet, bei 113, Nachfall (fraglich)) -^ksw-^kal(mas,fe,spt,brc,cav2(bei(25.5)),p(unz,tv(40.4))),Rfl("ca"),^if2(knl,bei(31.4,32.8,34.65,35.8,40.4))=Schwammkalk bis Algenkalk (massig, fest, splittrig, brechend, schwach kavernös (bei 25,5), porös (unten zunehmend, Teufe von 40,4)), Hohlraumfüllung (Kalzit), wenig Flint (knollig, bei 31,4, 32,8, 34,65, 35,8, 40,4) -G(fg-gg,ms-gs,mats,mata,grs(tw)),fX-mX(mata),mS(fs,grs,fg-mg,mx(voe))=Kies [gerundet] (feinkiesig bis grobkiesig, mittelsandig bis grobsandig, Schwarzwaldmaterial, alpines Material, grusig (teilweise)), Feinsteinstücke [2,0-6,3 mm] bis Mittelsteinstücke [6,3-20 mm] (alpines Material), Mittelsand [0,2-0,63 mm] (feinsandig, grusig, feinkiesig bis mittelkiesig, mittelsteinig (vereinzelt vorhanden)) -G(fg-gg,ms-gs,mats,mata,grs(tw)),fX-mX(mata),mS(fs,grs,fg-mg2,mx(voe))=Kies [gerundet] (feinkiesig bis grobkiesig, mittelsandig bis grobsandig, Schwarzwaldmaterial, alpines Material, grusig (teilweise)), Feinsteinstücke [2,0-6,3 mm] bis Mittelsteinstücke [6,3-20 mm] (alpines Material), Mittelsand [0,2-0,63 mm] (feinsandig, grusig, feinkiesig bis schwach mittelkiesig, mittelsteinig (vereinzelt vorhanden)) -U(hz(res),H(res),zg1)=Schluff (Holzreste (Reste), Torf (Reste), sehr schwach zersetzt) -(S-G)(u,t,pf(zg,vw))=(Sand [allgemein] bis Kies [gerundet]) (schluffig, tonig, Pflanzenreste (zersetzt, verwittert)) -U(ms2,x(+Gr(gro(0.005))))=Schluff (schwach mittelsandig, steinig (Granit (groß 0,005))) -(^u(fs)-^fs(u)),^d(u,"ba")=(Schluffstein (feinsandig) bis Feinsandstein (schluffig)), Dolomitstein (schluffig, Baryt) -(fG-gG)(x)=(Feinkies [2,0-6,3 mm] bis Grobkies [20-63 mm]) (steinig) -(^u(t,fs(tw)),^gs,^fs,^d(s,ikl))(wl)=(Schluffstein (tonig, feinsandig (teilweise)), Grobsandstein, Feinsandstein, Dolomitstein (sandig, intraklastisch)) (wechsellagernd) -(U,fS)(ms2)=(Schluff, Feinsand [0,063-0,2 mm]) (schwach mittelsandig) -(^k(mas,fla,pof,bel)),(fls(rgu))=Kalkstein (massig, flaserig, Porifera, Belemniten), Flasern (unregelmäßig) \ No newline at end of file diff --git a/src/main/antlr4/org/sep3tools/gen/PetroGrammar.g4 b/src/main/antlr4/org/sep3tools/gen/PetroGrammar.g4 index af3eb70..a365ba0 100644 --- a/src/main/antlr4/org/sep3tools/gen/PetroGrammar.g4 +++ b/src/main/antlr4/org/sep3tools/gen/PetroGrammar.g4 @@ -3,9 +3,9 @@ grammar PetroGrammar; schichtbeschreibung: bestandteile; bestandteile: - bestandteil # Teil - | bestandteile ',' bestandteile # Aufzaehlung_b + bestandteile ',' bestandteile # Aufzaehlung_b | '(' bestandteile ',' bestandteile ')' ( '(' attribute ')' )? # Aufzaehlung_b_k + | bestandteil # Teil | uebergang_bes # Uebergang_b ; @@ -15,10 +15,11 @@ uebergang_bes: ; bestandteil: - TEIL ( '(' attribute ')' )? # bestandteil_simple - | '(' bestandteil ')' # bestandteil_klammer - | bestandteil FRAGLICH # bestandteil_fraglich - | bestandteil SICHER # bestandteil_sicher + TEIL ( '(' attribute ')' )? # bestandteil_simple + | '(' bestandteil ')' ( '(' attribute ')' )? # bestandteil_klammer + | bestandteil FRAGLICH # bestandteil_fraglich + | bestandteil SICHER # bestandteil_sicher + | DATENFELDKUERZEL TEIL # bestandteil_fremddatenfeld ; attribute: @@ -32,10 +33,11 @@ attribute: uebergang_att: attribut '-' attribut; attribut: - TEIL # attr - | attribut FRAGLICH # attr_fraglich - | attribut SICHER # attr_sicher - | TIEFE # attr_tiefe + TEIL # attr + | attribut FRAGLICH # attr_fraglich + | attribut SICHER # attr_sicher + | TIEFE # attr_tiefe + | DATENFELDKUERZEL TEIL # attr_fremddatenfeld ; TIEFE: ([0-9]|'.')+; @@ -43,4 +45,5 @@ TEIL: ANY+; UNBEKANNT: ANY+; ANY: [a-z]|[A-Z]|[0-9]|'^'|'*'|'+'|'"'|'%'; FRAGLICH: '?'; -SICHER: '!'; \ No newline at end of file +SICHER: '!'; +DATENFELDKUERZEL: ('S'|'P'|'G'|'F'|'Z')':'; diff --git a/src/main/java/org/sep3tools/BmlVisitor.java b/src/main/java/org/sep3tools/BmlVisitor.java index 708f6f6..a053764 100644 --- a/src/main/java/org/sep3tools/BmlVisitor.java +++ b/src/main/java/org/sep3tools/BmlVisitor.java @@ -1,7 +1,6 @@ package org.sep3tools; import static java.util.Objects.isNull; -import static org.sep3tools.JavaConnector.getBodenQuant; import java.sql.SQLException; import java.util.logging.Logger; diff --git a/src/main/java/org/sep3tools/JavaConnector.java b/src/main/java/org/sep3tools/JavaConnector.java index e932446..018c8f4 100644 --- a/src/main/java/org/sep3tools/JavaConnector.java +++ b/src/main/java/org/sep3tools/JavaConnector.java @@ -112,9 +112,55 @@ private static void setConn(String url, String user, String pass) throws SQLExce * @throws SQLException if DB error occurs */ public static String getS3Name(String sep3Code) throws SQLException { - String query = "select kuerzel, klartext from " + wb + " w join " + st + " s " - + "on w.typ = s.nebentypbez where (s.datenfeld = '" + df + "' " + String query = getQueryString(wb, st, df); + + if (credChanged) + setConn(m_url, user, pass); + PreparedStatement stmt = conn.prepareStatement(query); + stmt.setString(1, sep3Code); + LOG.fine("Executing statement: " + stmt); + try (ResultSet rs = stmt.executeQuery()) { + boolean validRS = rs.next(); + String result = ""; + if (validRS) { + result = rs.getString(2); + } + LOG.fine("Returning: " + result); + + rs.close(); + stmt.close(); + + return result; + } + } + + private static String getQueryString(String woerterbuch, String schluesselypen, String datenfeld) { + return "select kuerzel, klartext from " + woerterbuch + " w join " + schluesselypen + " s " + + "on w.typ = s.nebentypbez where (s.datenfeld = '" + datenfeld + "' " + "OR s.datenfeld = 'diverse') AND kuerzel= ?"; + } + + public static String getS3inDfName(String datefield, String sep3Code) throws SQLException { + String query; + switch (datefield) { + case "S:": + query = getQueryString(wb, st, "STRAT"); + break; + case "P:": + query = getQueryString(wb, st, "PETRO"); + break; + case "G:": + query = getQueryString(wb, st, "GENESE"); + break; + case "F:": + query = getQueryString(wb, st, "FARBE"); + break; + case "Z:": + query = getQueryString(wb, st, "ZUSATZ"); + break; + default: + query = getQueryString(wb, st, df); + } if (credChanged) setConn(m_url, user, pass); @@ -201,7 +247,7 @@ public static String getAllowedAttribs(String sep3Code) throws SQLException { * @return quantifier based on sep3 code and quantifyer * @throws SQLException in case of DB error */ - public static String getBodenQuant(String sep3Code, String quant) throws SQLException { + public static String getItemQuant(String sep3Code, String quant) throws SQLException { String allowedAttributes; String quantBez; diff --git a/src/main/java/org/sep3tools/PetroVisitor.java b/src/main/java/org/sep3tools/PetroVisitor.java index 95c3db3..6ce00ae 100644 --- a/src/main/java/org/sep3tools/PetroVisitor.java +++ b/src/main/java/org/sep3tools/PetroVisitor.java @@ -6,7 +6,7 @@ import java.util.logging.Logger; import static java.util.Objects.isNull; -import static org.sep3tools.JavaConnector.getBodenQuant; +import static org.sep3tools.JavaConnector.*; /** * This class parses a SEP3 String and translates it @@ -36,6 +36,17 @@ private static String getS3ResultSet(String searchTerm) { return ""; } + private static String getS3InDfResultSet(String df, String searchTerm) { + try { + return JavaConnector.getS3inDfName(df, searchTerm); + } + catch (SQLException e) { + LOG.warning("Dictionary is not available, fallback to internal dictionary if possible." + " Caused by " + + e.getLocalizedMessage()); + } + return ""; + } + /** * process complete SEP3 string * @param ctx the parse tree @@ -53,7 +64,32 @@ public String visitSchichtbeschreibung(PetroGrammarParser.SchichtbeschreibungCon * @return the visitor result */ public String visitBestandteil_klammer(PetroGrammarParser.Bestandteil_klammerContext ctx) { - return visitBestandteil_simple((PetroGrammarParser.Bestandteil_simpleContext) ctx.bestandteil()); + String boden = ""; + if (ctx.bestandteil() instanceof PetroGrammarParser.Bestandteil_simpleContext) { + boden = "(" + visitBestandteil_simple((PetroGrammarParser.Bestandteil_simpleContext) ctx.bestandteil()) + + ")"; + } + if (ctx.bestandteil() instanceof PetroGrammarParser.Bestandteil_fremddatenfeldContext) { + boden = "(" + visitBestandteil_fremddatenfeld( + (PetroGrammarParser.Bestandteil_fremddatenfeldContext) ctx.bestandteil()) + ")"; + } + String attrib; + if (isNull(ctx.attribute())) { + attrib = ""; + } + else { + String attr = visit(ctx.attribute()); + if (isNull(attr)) { + attrib = ""; + } + else if (attr.trim().startsWith("(")) { + attrib = attr; + } + else { + attrib = " (" + attr + ")"; + } + } + return boden + attrib; } /** @@ -83,6 +119,25 @@ else if (attr.trim().startsWith("(")) { return boden + attrib; } + // @Override + public String visitBestandteil_fremddatenfeld(PetroGrammarParser.Bestandteil_fremddatenfeldContext ctx) { + String dfKuerzel = ctx.DATENFELDKUERZEL().getText(); + String teil = ctx.TEIL().getText(); + if (!isNull(teil)) { + String attrTerm = getS3InDfResultSet(dfKuerzel, teil); + if (!attrTerm.isEmpty()) { + return attrTerm; + } + } + String teilQuant = getQuantifiedDfTerm(dfKuerzel, teil); + if (teilQuant != null) + return teilQuant; + String colorTerm = getColorString(teil); + if (colorTerm != null) + return colorTerm; + return dfKuerzel + teil; + } + /** * Visit a parse tree produced by the {@code bestandteil_sicher} labeled alternative * in {@link PetroGrammarParser}. @@ -104,36 +159,85 @@ public String visitBestandteil_fraglich(PetroGrammarParser.Bestandteil_fraglichC } private String getBodenTerm(String boden) { - StringBuilder bodenTerm = new StringBuilder(getS3ResultSet(boden)); + String bodenTerm = getS3ResultSet(boden); if (bodenTerm.length() > 0) - return bodenTerm.toString(); + return bodenTerm; + + String bodenQuant = getQuantifiedTerm(boden); + if (bodenQuant != null) + return bodenQuant; + bodenTerm = getColorString(boden); + if (bodenTerm != null) + return bodenTerm; + switch (boden) { + case "^u": + return "Schluffstein"; + case "^ms": + return "Mittelsandstein"; + case "^gs": + return "Grobsandstein"; + default: + return boden; + } + } + + private static String getQuantifiedTerm(String sepItem) { + String sep3Term; for (int i = 0; i <= MAX_QUANTIFIER; i++) { - if (boden.endsWith(String.valueOf(i))) { - String bodenShort = boden.substring(0, boden.length() - 1); - bodenTerm = new StringBuilder(getS3ResultSet(bodenShort)); - if (bodenTerm.length() > 0) { - String bodenQuant = String.valueOf(i); + if (sepItem.endsWith(String.valueOf(i))) { + String shortItem = sepItem.substring(0, sepItem.length() - 1); + sep3Term = getS3ResultSet(shortItem); + if (!sep3Term.isEmpty()) { + String itemQuant = String.valueOf(i); try { - bodenQuant = getBodenQuant(bodenShort, String.valueOf(i)); - return bodenQuant + " " + bodenTerm; + itemQuant = getItemQuant(shortItem, String.valueOf(i)); + return itemQuant + " " + sep3Term; } catch (SQLException e) { LOG.warning( "Quantifier not found, fallback to digit." + " Caused by " + e.getLocalizedMessage()); } - return bodenTerm + bodenQuant; + return sep3Term + itemQuant; } } } - String forColorSeparation = boden; + return null; + } + + private static String getQuantifiedDfTerm(String datenfeld, String sepItem) { + String sep3Term; + for (int i = 0; i <= MAX_QUANTIFIER; i++) { + if (sepItem.endsWith(String.valueOf(i))) { + String shortItem = sepItem.substring(0, sepItem.length() - 1); + sep3Term = getS3InDfResultSet(datenfeld, shortItem); + if (!sep3Term.isEmpty()) { + String itemQuant = String.valueOf(i); + try { + itemQuant = getItemQuant(shortItem, String.valueOf(i)); + return itemQuant + " " + sep3Term; + } + catch (SQLException e) { + LOG.warning( + "Quantifier not found, fallback to digit." + " Caused by " + e.getLocalizedMessage()); + } + return sep3Term + itemQuant; + } + } + } + return null; + } + + private static String getColorString(String color) { + String bodenTerm = ""; + String forColorSeparation = color; int partialBodenLength = 2; while (partialBodenLength <= forColorSeparation.length()) { String partialTermForColor = forColorSeparation.substring(forColorSeparation.length() - partialBodenLength); - String colorPart = getS3ResultSet(partialTermForColor); + String colorPart = getS3InDfResultSet("F:", partialTermForColor); if (!colorPart.isEmpty()) { - bodenTerm.insert(0, colorPart); + bodenTerm = colorPart + bodenTerm; if (partialTermForColor.equals(forColorSeparation)) { - return bodenTerm.toString(); + return bodenTerm; } forColorSeparation = forColorSeparation.substring(0, forColorSeparation.length() - partialBodenLength); partialBodenLength = 1; @@ -144,19 +248,7 @@ private String getBodenTerm(String boden) { } partialBodenLength++; } - if (bodenTerm.length() > 0) { - return bodenTerm.toString(); - } - switch (boden) { - case "^u": - return "Schluffstein"; - case "^ms": - return "Mittelsandstein"; - case "^gs": - return "Grobsandstein"; - default: - return boden; - } + return null; } /** @@ -172,24 +264,9 @@ public String visitAttr(PetroGrammarParser.AttrContext ctx) { if (!attrTerm.isEmpty()) { return attrTerm; } - for (int i = 0; i <= MAX_QUANTIFIER; i++) { - if (attr.endsWith(String.valueOf(i))) { - String attrShort = attr.substring(0, attr.length() - 1); - attrTerm = getS3ResultSet(attrShort); - if (!attrTerm.isEmpty()) { - String attrQuant = String.valueOf(i); - try { - attrQuant = getBodenQuant(attrShort, String.valueOf(i)); - return attrQuant + " " + attrTerm; - } - catch (SQLException e) { - LOG.warning("Quantifier not found, fallback to digit." + " Caused by " - + e.getLocalizedMessage()); - } - return attrTerm + attrQuant; - } - } - } + String attrQuant = getQuantifiedTerm(attr); + if (attrQuant != null) + return attrQuant; } switch (attr) { case "r2": @@ -213,6 +290,22 @@ public String visitAttr(PetroGrammarParser.AttrContext ctx) { } } + @Override + public String visitAttr_fremddatenfeld(PetroGrammarParser.Attr_fremddatenfeldContext ctx) { + String dfKuerzel = ctx.DATENFELDKUERZEL().getText(); + String attr = ctx.TEIL().getText(); + if (!isNull(attr)) { + String attrTerm = getS3InDfResultSet(dfKuerzel, attr); + if (!attrTerm.isEmpty()) { + return attrTerm; + } + } + String colorTerm = getColorString(attr); + if (colorTerm != null) + return colorTerm; + return dfKuerzel + attr; + } + /** * process soil part of transition * @param ctx the parse tree diff --git a/src/main/resources/beschbgtest.properties b/src/main/resources/beschbgtest.properties index 3349e2a..e1db361 100644 --- a/src/main/resources/beschbgtest.properties +++ b/src/main/resources/beschbgtest.properties @@ -1 +1,3 @@ -kb2,kb3(un)=schlechte Kornbindung, mäßige Kornbindung (unten) \ No newline at end of file +kb2,kb3(un)=schlechte Kornbindung, mäßige Kornbindung (unten) +idm=Mitte +(stf-hfe)(ob),(stf)(idm),(stf-hfe,stf)(un)=(steif bis halbfest) (oben), (steif) (Mitte), (steif bis halbfest, steif) (unten) diff --git a/src/main/resources/fremddatenfeldtest.properties b/src/main/resources/fremddatenfeldtest.properties new file mode 100644 index 0000000..aa9cbb3 --- /dev/null +++ b/src/main/resources/fremddatenfeldtest.properties @@ -0,0 +1,4 @@ +G(F\:ro)=Kies [gerundet] (rot) +G(F\:ddro)=Kies [gerundet] (sehr dunkelrot) +U(hz(res),H(res),zg1,F\:mtolst)=Schluff (Holzreste (Reste), Torf (Reste), sehr schwach zersetzt, mattolivstichig) + diff --git a/src/main/resources/genesetest.properties b/src/main/resources/genesetest.properties index bc7d506..0e92985 100644 --- a/src/main/resources/genesetest.properties +++ b/src/main/resources/genesetest.properties @@ -1 +1,11 @@ -as,Lou(lok)=Abspülung, Schwemmlöss (lokal) \ No newline at end of file +as,Lou(lok)=Abspülung, Schwemmlöss (lokal) +Mg,Gb(P\:^kkn)=Geschiebemergel, Geschiebe (Knollenkalk) +y=Auffüllung [allgemein] +ya=Asche (anthropogen) +lok=lokal +y,(ya,P\:fG)(lok)=Auffüllung [allgemein], (Asche (anthropogen), Feinkies [2,0-6,3 mm]) (lokal) +(P\:t4)=(stark tonig) +(Mg,lw)=(Geschiebemergel, lagenweise) +gf,g=glazifluviatil, glaziär +(P\:t4)(Mg,lw),gf,g=(stark tonig) (Geschiebemergel, lagenweise), glazifluviatil, glaziär +(P\:fs,P\:ms)(Mg),g=(feinsandig, mittelsandig) (Geschiebemergel), glaziär diff --git a/src/main/resources/kalkgehtest.properties b/src/main/resources/kalkgehtest.properties index 017857d..d2b85d4 100644 --- a/src/main/resources/kalkgehtest.properties +++ b/src/main/resources/kalkgehtest.properties @@ -1 +1,3 @@ -zg1-zg2(ob)=sehr schwach zersetzt bis schwach zersetzt (oben) \ No newline at end of file +zg1-zg2(ob)=sehr schwach zersetzt bis schwach zersetzt (oben) +kf,k(lse,F\:we)=kalkfrei, kalkhaltig (als Linse, weiss) +k,k(lse,F\:we)=kalkhaltig, kalkhaltig (als Linse, weiss) diff --git a/src/main/resources/petrotest.properties b/src/main/resources/petrotest.properties index 19dff1b..ca3d7f1 100644 --- a/src/main/resources/petrotest.properties +++ b/src/main/resources/petrotest.properties @@ -13,10 +13,11 @@ U(ms2,x(+Gr(gro(0.005))))=Schluff (schwach mittelsandig, steinig (Granit (gro (fG-gG)(x)=(Feinkies [2,0-6,3 mm] bis Grobkies [20-63 mm]) (steinig) (^u(t,fs(tw)),^gs,^fs,^d(s,ikl))(wl)=(Schluffstein (tonig, feinsandig (teilweise)), Grobsandstein, Feinsandstein, Dolomitstein (sandig, intraklastisch)) (wechsellagernd) (U,fS)(ms2)=(Schluff, Feinsand [0,063-0,2 mm]) (schwach mittelsandig) -(^k(mas,fla,pof,bel)),(fls(rgu))=Kalkstein (massig, flaserig, Porifera, Belemniten), Flasern (unregelmäßig) +(^k(mas,fla,pof,bel)),(fls(rgu))=(Kalkstein (massig, flaserig, Porifera, Belemniten)), (Flasern (unregelmäßig)) "ca"=Kalzit ca=Calamiten (gG-mG-fG)(gs-fs)=(Grobkies [20-63 mm] bis Mittelkies [6,3-20 mm] bis Feinkies [2,0-6,3 mm]) (grobsandig bis feinsandig) G?=Kies [gerundet] fraglich G!=Kies [gerundet] sicher (fS-mS)(u,(fg-mg2)(lok))=(Feinsand [0,063-0,2 mm] bis Mittelsand [0,2-0,63 mm]) (schluffig, feinkiesig bis schwach mittelkiesig) (lokal) +t4=stark tonig diff --git a/src/main/resources/zusatztest.properties b/src/main/resources/zusatztest.properties index de8200e..1dfd581 100644 --- a/src/main/resources/zusatztest.properties +++ b/src/main/resources/zusatztest.properties @@ -1 +1,2 @@ -AS=Sattelfläche \ No newline at end of file +AS=Sattelfläche +gwt(3.5,28.03.2001)=gwt (3,5, 28,03,2001) diff --git a/src/test/java/org/sep3tools/SepExamplesTest.java b/src/test/java/org/sep3tools/SepExamplesTest.java index 06918d0..cf71422 100644 --- a/src/test/java/org/sep3tools/SepExamplesTest.java +++ b/src/test/java/org/sep3tools/SepExamplesTest.java @@ -34,7 +34,6 @@ public class SepExamplesTest { @Test public void verifyPetroExamples() { verifySepExamples("PETRO", "src/main/resources/petrotest.properties"); - } @Test @@ -72,11 +71,14 @@ public void verifyFarbeExamples() { verifySepExamples("FARBE", "src/main/resources/farbetest.properties"); } - public void verifySepExamples(String df, String propFile) { + @Test + public void verifyFremdDatenfeldExamples() { + verifySepExamples("PETRO", "src/main/resources/fremddatenfeldtest.properties"); + } + public void verifySepExamples(String df, String propFile) { JavaConnector.setPropertiesFile(DBPROPFILENAME); JavaConnector.setDf(df); - try { File file = new File(propFile); FileInputStream fileInput = new FileInputStream(file); @@ -98,7 +100,6 @@ public void verifySepExamples(String df, String propFile) { catch (IOException e) { e.printStackTrace(); } - } } diff --git a/zusatztest.properties b/zusatztest.properties deleted file mode 100644 index de8200e..0000000 --- a/zusatztest.properties +++ /dev/null @@ -1 +0,0 @@ -AS=Sattelfläche \ No newline at end of file