Skip to content

Commit

Permalink
CSV parser added and StringUtil:trim method added
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Lolling committed May 12, 2021
1 parent 0b53f00 commit 6add1e7
Show file tree
Hide file tree
Showing 7 changed files with 139 additions and 260 deletions.
31 changes: 5 additions & 26 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
Expand Down Expand Up @@ -74,11 +79,6 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.jlo.talendcomp</groupId>
<artifactId>jlo-talendcomp-json</artifactId>
<version>16.3</version>
</dependency>
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
Expand All @@ -94,32 +94,11 @@
<artifactId>saaj-impl</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpasyncclient</artifactId>
<version>4.1.4</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<version>1.1</version>
</project>
30 changes: 30 additions & 0 deletions src/routines/CSVUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package routines;

import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

public class CSVUtil {

private static Map<String, CSVFormat> formats = new HashMap<>();

public static int getCountColumns(String row, char delimiter, char enclosure) throws Exception {
int count = 0;
if (row != null && row.trim().isEmpty() == false) {
CSVFormat csvFormat = formats.get(delimiter + "/" + enclosure);
if (csvFormat == null) {
csvFormat = CSVFormat.newFormat(delimiter).withQuote(enclosure);
formats.put(delimiter + "/" + enclosure, csvFormat);
}
CSVParser parser = csvFormat.parse(new StringReader(row));
CSVRecord firstRecord = parser.iterator().next();
return firstRecord.size();
}
return count;
}

}
220 changes: 0 additions & 220 deletions src/routines/HttpClient.java

This file was deleted.

50 changes: 49 additions & 1 deletion src/routines/StringUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -937,14 +937,38 @@ public static String containsTokens(String test, List<String> tokenList) {
public static String containsStrings(String test, List<String> stringList) {
if (test != null) {
for (String s : stringList) {
if (test.contains(s)) {
if (test.toLowerCase().contains(s.toLowerCase())) {
return s;
}
}
}
return null;
}

/**
* Checks if the test contains the tokens as whole word
*
* {Category} StringUtil
*
* {talendTypes} boolean | Boolean
*
* {param} string(test) test: String.
*
* {param} list(tokenList) posibleValues: String.
*
* {example} containsStrings(test, tokenList) # true
*/
public static String containsStrings(String test, String ...strings) {
if (test != null && strings != null) {
for (String s : strings) {
if (test.toLowerCase().contains(s.toLowerCase())) {
return s;
}
}
}
return null;
}

/**
* Checks if the test contains the token as whole word
*
Expand Down Expand Up @@ -1105,5 +1129,29 @@ public static String quoteForJson(String content) {
}
return sb.toString();
}

/**
* Trims a text and also removes none-break-spaces
* '\u005Cu00A0','\u005Cu2007','\u005Cu202F'
* @param content to trim
* @return trimmed value
*
* {Category} StringUtil
*
* {talendTypes} String
*
* {param} String(content) content
*
* {example} trim(content)
*/
public static String trim(String content) {
if (content == null) {
return null;
} else {
String s = content.trim();
s = s.replaceAll("(^\\h*)|(\\h*$)","");
return s;
}
}

}
Loading

0 comments on commit 6add1e7

Please sign in to comment.