Skip to content

Commit

Permalink
tJSONDocDiff fixed and project structure simplified
Browse files Browse the repository at this point in the history
Diff counter and test fixed
Sources for components moved under src folder (plugin standard)
  • Loading branch information
jlolling committed May 9, 2023
1 parent 26367dd commit 26aeb0a
Show file tree
Hide file tree
Showing 79 changed files with 141 additions and 55 deletions.
9 changes: 5 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.jlo.talendcomp</groupId>
<artifactId>jlo-talendcomp-json</artifactId>
<version>16.9</version>
<version>16.10</version>
<name>JSON Talend Components</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down Expand Up @@ -55,6 +55,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
Expand All @@ -70,6 +71,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
Expand All @@ -91,11 +93,10 @@
<plugin>
<groupId>de.cimt.talendcomp</groupId>
<artifactId>cimt-talendcomp-maven-plugin</artifactId>
<version>2.1</version>
<version>3.1</version>
<configuration>
<copyFromSourceBaseDir>${project.basedir}/talend_component</copyFromSourceBaseDir>
<componentBaseDir>${project.basedir}/talend_component</componentBaseDir>
<studioUserComponentFolder>${custom_component_folder}</studioUserComponentFolder>
<useTalendLibrariesMavenLocation>false</useTalendLibrariesMavenLocation>
</configuration>
<executions>
<execution>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -63,8 +63,8 @@
</PARAMETER>
</PARAMETERS>
<ADVANCED_PARAMETERS>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="false" STATUS="PROD" VERSION="16.8" SCHEMA_AUTO_PROPAGATE="false" DATA_AUTO_PROPAGATE="false" HAS_CONDITIONAL_OUTPUTS="true" IS_MULTIPLYING_OUTPUTS="true">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="false" STATUS="PROD" VERSION="16.10" SCHEMA_AUTO_PROPAGATE="false" DATA_AUTO_PROPAGATE="false" HAS_CONDITIONAL_OUTPUTS="true" IS_MULTIPLYING_OUTPUTS="true">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -78,8 +78,8 @@
<PARAMETER NAME="DEFAULT_LOCALE" FIELD="TEXT" NUM_ROW="10">
<DEFAULT>"en_UK"</DEFAULT>
</PARAMETER>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -78,8 +78,8 @@
<PARAMETER NAME="DEFAULT_LOCALE" FIELD="TEXT" NUM_ROW="10">
<DEFAULT>"en_UK"</DEFAULT>
</PARAMETER>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" HAS_CONDITIONAL_OUTPUTS="true" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" HAS_CONDITIONAL_OUTPUTS="true" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -51,13 +51,13 @@
<PARAMETER NAME="PROVIDE_CURRENT_JSON_OBJECT" FIELD="CHECK" REQUIRED="true" NUM_ROW="10">
<DEFAULT>true</DEFAULT>
</PARAMETER>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="jlo-talendcomp-json" MODULE="jlo-talendcomp-json-16.8.jar" MVN="mvn:org.talend.libraries/jlo-talendcomp-json-16.8/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jlo-talendcomp-json" MODULE="jlo-talendcomp-json-16.10.jar" MVN="mvn:org.talend.libraries/jlo-talendcomp-json-16.10/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jackson-databind" MODULE="jackson-databind-2.13.4.jar" MVN="mvn:org.talend.libraries/jackson-databind-2.13.4/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jackson-annotations" MODULE="jackson-annotations-2.13.4.jar" MVN="mvn:org.talend.libraries/jackson-annotations-2.13.4/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jackson-core" MODULE="jackson-core-2.13.4.jar" MVN="mvn:org.talend.libraries/jackson-core-2.13.4/6.0.0-SNAPSHOT" REQUIRED="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -77,8 +77,8 @@
</PARAMETER>
</PARAMETERS>
<ADVANCED_PARAMETERS>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -67,13 +67,13 @@
<PARAMETER NAME="JSON_SCHEMA_CONTENT_JAVA" FIELD="MEMO_JAVA" NUM_ROW="40" REQUIRED="true" SHOW_IF="SETUP_JSON_SCHEMA == 'READ_SCHEMA_FROM_JAVA'">
<DEFAULT/>
</PARAMETER>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="jlo-talendcomp-json" MODULE="jlo-talendcomp-json-16.8.jar" MVN="mvn:org.talend.libraries/jlo-talendcomp-json-16.8/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jlo-talendcomp-json" MODULE="jlo-talendcomp-json-16.10.jar" MVN="mvn:org.talend.libraries/jlo-talendcomp-json-16.10/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jackson-databind" MODULE="jackson-databind-2.13.4.jar" MVN="mvn:org.talend.libraries/jackson-databind-2.13.4/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jackson-annotations" MODULE="jackson-annotations-2.13.4.jar" MVN="mvn:org.talend.libraries/jackson-annotations-2.13.4/6.0.0-SNAPSHOT" REQUIRED="true"/>
<IMPORT NAME="jackson-core" MODULE="jackson-core-2.13.4.jar" MVN="mvn:org.talend.libraries/jackson-core-2.13.4/6.0.0-SNAPSHOT" REQUIRED="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="false" STATUS="PROD" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="false" STATUS="PROD" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -76,8 +76,8 @@
<PARAMETER NAME="KEYS_AS_SQL_IN_CLAUSE_REPLACEMENT" FIELD="TEXT" REQUIRED="true" NUM_ROW="20">
<DEFAULT>"='0'"</DEFAULT>
</PARAMETER>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.8">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" SCHEMA_AUTO_PROPAGATE="true" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.10">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -60,8 +60,8 @@
</PARAMETER>
</PARAMETERS>
<ADVANCED_PARAMETERS>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>

<COMPONENT>
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230502" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.8" SCHEMA_AUTO_PROPAGATE="false" DATA_AUTO_PROPAGATE="false" HAS_CONDITIONAL_OUTPUTS="true" IS_MULTIPLYING_OUTPUTS="true">
<HEADER AUTHOR="Jan Lolling" COMPATIBILITY="ALL" PLATEFORM="ALL" RELEASE_DATE="20230509" SERIAL="" STARTABLE="true" STATUS="PROD" VERSION="16.10" SCHEMA_AUTO_PROPAGATE="false" DATA_AUTO_PROPAGATE="false" HAS_CONDITIONAL_OUTPUTS="true" IS_MULTIPLYING_OUTPUTS="true">
<SIGNATURE/>
</HEADER>
<FAMILIES>
Expand Down Expand Up @@ -36,8 +36,8 @@
</PARAMETER>
</PARAMETERS>
<ADVANCED_PARAMETERS>
<PARAMETER NAME="RELEASE_LABEL_20230502" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.8 build at: 20230502</DEFAULT>
<PARAMETER NAME="RELEASE_LABEL_20230509" FIELD="LABEL" COLOR="0;0;0" NUM_ROW="900">
<DEFAULT>Release: 16.10 build at: 20230509</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/jlo/talendcomp/json/JsonDocument.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Copyright 2015 Jan Lolling [email protected]
* Copyright 2023 Jan Lolling [email protected]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/de/jlo/talendcomp/json/SchemaValidator.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/**
* Copyright 2023 Jan Lolling [email protected]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.jlo.talendcomp.json;

import java.net.URI;
Expand Down
50 changes: 46 additions & 4 deletions src/main/java/de/jlo/talendcomp/json/ops/Diff.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,28 @@
/**
* Copyright 2023 Jan Lolling [email protected]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.jlo.talendcomp.json.ops;

import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;

import com.fasterxml.jackson.databind.JsonNode;
Expand All @@ -27,8 +45,13 @@ public class Diff {
private String refJsonPath = null;
private String testJsonPath = null;
private List<Difference> result = null;
private int countDifferences = 0;
private String rootArraySortAttribute = null;
private NumberFormat nf = null;

public Diff() {
nf = NumberFormat.getInstance(Locale.UK);
nf.setGroupingUsed(false);
}

/**
* A class describing one difference between 2 JsonNodes
Expand Down Expand Up @@ -118,7 +141,8 @@ public void executeDiff() throws Exception {
* @return List of Differences
*/
public List<Difference> findDifference(String reference, String test) throws Exception {
return findDifference(reference, null, test, null);
result = findDifference(reference, null, test, null);
return result;
}

/**
Expand Down Expand Up @@ -414,9 +438,24 @@ private boolean containsDiff(List<Difference> listDiff, Object test) {
}
}

private String toStringValue(JsonNode n) {
if (n.isMissingNode()) {
return "missing";
} else if (n.isNull()) {
return "null";
} else if (n.isBigDecimal()) {
BigDecimal v = n.decimalValue();
return nf.format(v.doubleValue());
} else if (n.isDouble()) {
return nf.format(n.asDouble());
} else {
return n.toString();
}
}

private boolean equals(JsonNode n1, JsonNode n2) {
if (Util.isNull(n1, takeEmptyLikeNull) == false && Util.isNull(n2, takeEmptyLikeNull) == false) {
return n1.toString().equals(n2.toString());
return toStringValue(n1).equals(toStringValue(n2));
} else {
return false;
}
Expand Down Expand Up @@ -508,7 +547,10 @@ public List<Difference> getResult() {
}

public int getCountDifferences() {
return countDifferences;
if (result == null) {
throw new IllegalStateException("No diff result available, please call executeDiff() or findDifferences before");
}
return result.size();
}

public void setSortKeyAttribute(String keypath) {
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/de/jlo/talendcomp/json/ops/JSONValue.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/**
* Copyright 2023 Jan Lolling [email protected]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.jlo.talendcomp.json.ops;

import java.util.List;
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/de/jlo/talendcomp/json/ops/Merge.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
/**
* Copyright 2023 Jan Lolling [email protected]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.jlo.talendcomp.json.ops;

import java.util.ArrayList;
Expand Down
Loading

0 comments on commit 26aeb0a

Please sign in to comment.