diff --git a/gsrs-module-substance-example/pom.xml b/gsrs-module-substance-example/pom.xml
index f6f7995cc..0a7a68c73 100644
--- a/gsrs-module-substance-example/pom.xml
+++ b/gsrs-module-substance-example/pom.xml
@@ -212,7 +212,7 @@
com.h2database
- h2
+ h2
org.projectlombok
diff --git a/gsrs-module-substance-example/src/main/java/example/GsrsModuleSubstanceApplication.java b/gsrs-module-substance-example/src/main/java/example/GsrsModuleSubstanceApplication.java
index e1c65a2e5..75aae0d51 100644
--- a/gsrs-module-substance-example/src/main/java/example/GsrsModuleSubstanceApplication.java
+++ b/gsrs-module-substance-example/src/main/java/example/GsrsModuleSubstanceApplication.java
@@ -10,7 +10,6 @@
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
//import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
diff --git a/gsrs-module-substance-example/src/test/java/example/chem/DefHashCalcTest.java b/gsrs-module-substance-example/src/test/java/example/chem/DefHashCalcTest.java
index 3038db4c3..660c879eb 100644
--- a/gsrs-module-substance-example/src/test/java/example/chem/DefHashCalcTest.java
+++ b/gsrs-module-substance-example/src/test/java/example/chem/DefHashCalcTest.java
@@ -10,11 +10,9 @@
import ix.core.chem.StructureProcessor;
import ix.core.models.Structure;
import ix.ginas.modelBuilders.ChemicalSubstanceBuilder;
-import ix.ginas.modelBuilders.SubstanceBuilder;
-import ix.ginas.models.v1.ChemicalSubstance;
-import ix.ginas.models.v1.GinasChemicalStructure;
import ix.ginas.modelBuilders.MixtureSubstanceBuilder;
import ix.ginas.modelBuilders.StructurallyDiverseSubstanceBuilder;
+import ix.ginas.modelBuilders.SubstanceBuilder;
import ix.ginas.models.v1.*;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Assertions;
diff --git a/gsrs-module-substance-example/src/test/java/example/substance/FlexAndExactSearchFullStackTest.java b/gsrs-module-substance-example/src/test/java/example/substance/FlexAndExactSearchFullStackTest.java
index 9514e79b2..2cb6eacc3 100644
--- a/gsrs-module-substance-example/src/test/java/example/substance/FlexAndExactSearchFullStackTest.java
+++ b/gsrs-module-substance-example/src/test/java/example/substance/FlexAndExactSearchFullStackTest.java
@@ -1,8 +1,5 @@
package example.substance;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
@@ -15,6 +12,7 @@
import javax.servlet.http.HttpServletRequest;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +39,9 @@
import ix.core.chem.StructureStandardizer;
import ix.core.models.Structure;
import ix.ginas.modelBuilders.SubstanceBuilder;
+
+import static org.junit.jupiter.api.Assertions.*;
+
@SpringBootTest(classes = GsrsModuleSubstanceApplication.class)
@ActiveProfiles("test")
@RecordApplicationEvents
@@ -60,10 +61,6 @@ public class FlexAndExactSearchFullStackTest extends AbstractSubstanceJpaFullSt
@TestConfiguration
public static class Configuration{
-// @Value("${ix.core.structureIndex.atomLimit}")
-// private int maxNumberOfAtoms = 240;
-// @Value(value ="${ix.structure-standardizer}")
-// private Class extends AbstractStructureStandardizer> standardizerClass = InchiStandardizer.class;
@Bean
public StructureStandardizer getStructureStandardizer() throws InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
InchiStandardizer istd = new InchiStandardizer();
@@ -262,4 +259,38 @@ public void ensureAFlexSearchForADirectSmilesGetsStandardized() throws Exception
}
+ @Test
+ public void ensureSmilesLeadsToReasonableMolfile() throws Exception {
+
+ ObjectMapper om = new ObjectMapper();
+ String smiles = "c1ccc(cc1)P(CCCC#N)(c2ccccc2)c3ccccc3";
+ UUID uuid1 = UUID.randomUUID();
+ new SubstanceBuilder()
+ .asChemical()
+ .setStructureWithDefaultReference(smiles)
+ .addName("triphenyl-Phosphene,(3-cyanopropyl)")
+ .setUUID(uuid1)
+ .buildJsonAnd(this::assertCreatedAPI);
+
+ HttpServletRequest mockedRequest = Mockito.mock(HttpServletRequest.class);
+ Mockito.when(mockedRequest.getRequestURI()).thenReturn("http://mock");
+ Mockito.when(mockedRequest.getRequestURL()).thenReturn(new StringBuffer("http://mock"));
+
+ LoggingStructureStandardizer lstd=(LoggingStructureStandardizer)standardizer;
+
+ lstd.reset();
+ assertEquals(0,lstd.getStdCallCount());
+
+ ResponseEntity