Skip to content
Merged
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
2 changes: 1 addition & 1 deletion java.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"id": "java",
"version": "1.0.0",
"version": "1.0.1",
"description": "Java support for gauge",
"install": {
"windows": [],
Expand Down
2 changes: 1 addition & 1 deletion notice.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
| reflections | Copyright (C) 2004 Sam Hocevar | Java runtime metadata analysis | https://github.com/ronmamo/reflections | wtfpl version 2 | https://code.google.com/p/reflections/source/browse/trunk/COPYING.txt |
| javassist | Copyright (C) 1999-2015 Shigeru Chiba. | Java bytecode engineering toolkit | https://www.javassist.org/ | Triple License: MPL 1.1, LGPL 2.1, Apache 2.0 | https://www.apache.org/licenses/LICENSE-2.0 |
| javaparser | | Java 1-21 Parser and Abstract Syntax Tree for Java with advanced analysis functionalities. | https://github.com/javaparser/javaparser | Dual License: LGPL 3.0, Apache 2.0 | https://www.apache.org/licenses/LICENSE-2.0 |
| JSON-java | | A reference implementation of a JSON package in Java. | https://github.com/stleary/JSON-java | Public Domain | https://github.com/stleary/JSON-java/blob/master/LICENSE |
| guava | Copyright (C) 2012 The Guava Authors | Google Core Libraries for Java | https://github.com/google/guava | Apache 2.0 | https://www.apache.org/licenses/LICENSE-2.0 |
| gson | | A Java serialization/deserialization library to convert Java Objects into JSON and back | https://github.com/google/gson | Apache 2.0 | https://www.apache.org/licenses/LICENSE-2.0 |
| protobuf-java | | Java Protocol Buffers runtime library | https://github.com/protocolbuffers/protobuf | BSD 2 clause license | https://www.opensource.org/licenses/bsd-license.php |
| grpc-java | | Google Core Libraries for Java | https://github.com/grpc/grpc-java | Apache 2.0 | https://www.apache.org/licenses/LICENSE-2.0 |
22 changes: 16 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<name>gauge-java</name>
<groupId>com.thoughtworks.gauge</groupId>
<artifactId>gauge-java</artifactId>
<version>1.0.0</version>
<version>1.0.1</version>
<description>Java plugin for Gauge</description>
<url>https://github.com/getgauge/gauge-java</url>
<dependencyManagement>
Expand Down Expand Up @@ -55,9 +55,15 @@
<version>3.27.1</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20250517</version>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.2</version>
<exclusions>
<exclusion>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
Expand Down Expand Up @@ -137,6 +143,10 @@
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
Expand Down Expand Up @@ -340,8 +350,8 @@
<developer>
<name>Gauge Team</name>
<email>getgauge@googlegroups.com</email>
<organization>ThoughtWorks</organization>
<organizationUrl>https://thoughtworks.com/</organizationUrl>
<organization>Gauge Team</organization>
<organizationUrl>https://gauge.org/</organizationUrl>
</developer>
</developers>
<scm>
Expand Down
40 changes: 0 additions & 40 deletions src/main/java/com/thoughtworks/gauge/AfterClassSteps.java

This file was deleted.

40 changes: 0 additions & 40 deletions src/main/java/com/thoughtworks/gauge/BeforeClassSteps.java

This file was deleted.

35 changes: 21 additions & 14 deletions src/main/java/com/thoughtworks/gauge/Logger.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
*----------------------------------------------------------------*/
package com.thoughtworks.gauge;

import org.assertj.core.util.Throwables;
import org.json.JSONObject;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Logger {
public static void info(String message) {
Expand All @@ -18,15 +20,15 @@ public static void error(String message) {
}

public static void error(String message, Throwable t) {
error(String.format("%s\n%s\n%s", message, t.getMessage(), Throwables.getStackTrace(t)));
error(String.format("%s\n%s\n%s", message, t.getMessage(), Util.stacktraceFrom(t)));
}

public static void warning(String message) {
logToStdout("warning", message);
}

public static void warning(String message, Throwable t) {
warning(String.format("%s\n%s\n%s", message, t.getMessage(), Throwables.getStackTrace(t)));
warning(String.format("%s\n%s\n%s", message, t.getMessage(), Util.stacktraceFrom(t)));
}

public static void debug(String message) {
Expand All @@ -39,22 +41,27 @@ public static void fatal(String message) {
}

public static void fatal(String message, Throwable t) {
fatal(String.format("%s\n%s\n%s", message, t.getMessage(), Throwables.getStackTrace(t)));

fatal(String.format("%s\n%s\n%s", message, t.getMessage(), Util.stacktraceFrom(t)));
}

private static void logToStdout(String level, String message) {
System.out.println(getJsonObject(level, message));
System.out.println(LogMessage.of(level, message));
}

private static JSONObject getJsonObject(String level, String message) {
JSONObject jsonObj = new JSONObject();
jsonObj.put("logLevel", level);
jsonObj.put("message", message);
return jsonObj;
private static void logToStdErr(String level, String message) {
System.err.println(LogMessage.of(level, message));
}

private static void logToStdErr(String level, String message) {
System.err.println(getJsonObject(level, message));
private record LogMessage(@Expose @SerializedName("logLevel") String level, @Expose @SerializedName("message") String message) {
private static final Gson GSON = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();

public static LogMessage of(String level, String message) {
return new LogMessage(level, message);
}

@Override
public String toString() {
return GSON.toJson(this);
}
}
}
31 changes: 7 additions & 24 deletions src/main/java/com/thoughtworks/gauge/Table.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
*----------------------------------------------------------------*/
package com.thoughtworks.gauge;

import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -25,14 +23,13 @@ public class Table {
private static final String DASH = "-";
private static final String PIPE = "|";
private static final char SPACE_AS_CHAR = ' ';

private final List<String> headers;
private final List<List<String>> rows;
private final List<TableRow> tableRows;
private final List<List<String>> rows = new ArrayList<>();
private final List<TableRow> tableRows = new ArrayList<>();

public Table(List<String> headers) {
this.headers = headers;
rows = new ArrayList<>();
tableRows = new ArrayList<>();
}

public void addRow(List<String> row) {
Expand All @@ -57,7 +54,7 @@ public List<String> getColumnNames() {
/**
* Gets a Column name by index.
*
* @param columnIndex
* @param columnIndex 0-indexed column ordinal within the table
* @return a single column name by given column index.
*/
public String getColumnName(int columnIndex) {
Expand All @@ -74,16 +71,6 @@ public List<TableRow> getTableRows() {
return tableRows;
}

/**
* @return List of TableRows in the table. Each Row is represented by a List
* of String values according to the order of column names
* @deprecated Use getTableRows() method instead of this.
*/
@Deprecated
public List<List<String>> getRows() {
return rows;
}

/**
* Get all the values of a column in Table.
*
Expand Down Expand Up @@ -144,14 +131,10 @@ private void addValues(int maxStringLength, List<String> formattedHeaderAndRows)
}

private String formattedRow(List<String> strings, int maxStringLength) {
List<String> formattedStrings = Lists.transform(strings, format(maxStringLength));
List<String> formattedStrings = strings.stream().map(s -> Strings.padEnd(s, maxStringLength, SPACE_AS_CHAR)).toList();
return PIPE + Joiner.on(PIPE).join(formattedStrings) + PIPE;
}

private Function<String, String> format(final int maxStringLength) {
return input -> Strings.padEnd(input, maxStringLength, SPACE_AS_CHAR);
}

private Integer getMaxStringLength() {
List<Integer> maxs = new ArrayList<>();
maxs.add(getMaxStringSize(headers));
Expand All @@ -177,8 +160,8 @@ public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (headers == null ? 0 : headers.hashCode());
result = prime * result + (rows == null ? 0 : rows.hashCode());
result = prime * result + (tableRows == null ? 0 : tableRows.hashCode());
result = prime * result + rows.hashCode();
result = prime * result + tableRows.hashCode();
return result;
}

Expand Down
10 changes: 10 additions & 0 deletions src/main/java/com/thoughtworks/gauge/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import com.google.common.base.Splitter;

import java.io.File;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
Expand Down Expand Up @@ -60,4 +62,12 @@ public static boolean shouldTakeFailureScreenshot() {
return !(screenshotOnFailureEnabled == null || "false".equalsIgnoreCase(screenshotOnFailureEnabled));
}

public static String stacktraceFrom(Throwable throwable) {
StringWriter sw = new StringWriter();
try (PrintWriter pw = new PrintWriter(sw, true)) {
throwable.printStackTrace(pw);
return sw.getBuffer().toString();
}
}

}
55 changes: 0 additions & 55 deletions src/main/java/com/thoughtworks/gauge/datastore/DataStore.java

This file was deleted.

Loading
Loading