diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..148dd3f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*/target/*
+.idea
\ No newline at end of file
diff --git a/applications-api/pom.xml b/applications-api/pom.xml
index c193f6c..f0f339a 100644
--- a/applications-api/pom.xml
+++ b/applications-api/pom.xml
@@ -5,7 +5,7 @@
gsrs-module-applications
gov.nih.ncats
- 3.1.1-SNAPSHOT
+ 3.1.2-SNAPSHOT
4.0.0
diff --git a/gsrs-module-applications-spring-boot-autoconfigure/pom.xml b/gsrs-module-applications-spring-boot-autoconfigure/pom.xml
index 7cf20f9..b1a3fc4 100644
--- a/gsrs-module-applications-spring-boot-autoconfigure/pom.xml
+++ b/gsrs-module-applications-spring-boot-autoconfigure/pom.xml
@@ -5,7 +5,7 @@
gsrs-module-applications
gov.nih.ncats
- 3.1.1-SNAPSHOT
+ 3.1.2-SNAPSHOT
4.0.0
diff --git a/gsrs-module-applications-spring-boot-autoconfigure/src/main/java/gov/hhs/gsrs/application/application/models/additional/ClinicalTrial.java b/gsrs-module-applications-spring-boot-autoconfigure/src/main/java/gov/hhs/gsrs/application/application/models/additional/ClinicalTrial.java
index 365d7d0..f31d4a3 100644
--- a/gsrs-module-applications-spring-boot-autoconfigure/src/main/java/gov/hhs/gsrs/application/application/models/additional/ClinicalTrial.java
+++ b/gsrs-module-applications-spring-boot-autoconfigure/src/main/java/gov/hhs/gsrs/application/application/models/additional/ClinicalTrial.java
@@ -15,86 +15,115 @@
public class ClinicalTrial extends AbstractGsrsEntity {
@Id
- // @Column(name = "NCTN", length=22)
- @Column(name = "TRIAL_NUMBER", length=22)
+ @Column(name = "TRIAL_NUMBER", length=255)
@JsonProperty("nctNumber")
public String nctn;
- @Column(name = "TITLE", length=500)
+ @Lob
+ @Indexable(sortable = true)
+ @Column(name = "TITLE")
public String title;
- @Column(name = "RECRUITMENT", length=200)
+ @Column(name = "URL", length=2000)
+ public String url;
+
+ @Lob
+ @Column(name = "RECRUITMENT", length=4000)
public String recruitment;
- @Column(name = "RESULTS_FIRST_RECEIVED", length=100)
+ @Lob
+ @Column(name = "RESULTS_FIRST_RECEIVED", length=4000)
public String resultsFirstRecieved;
+ @Lob
+ @Indexable(sortable = true)
@Column(name = "CONDITIONS", length=4000)
public String conditions;
- @Column(name = "INTERVENTION", length=1800)
+ @Lob
+ @Column(name = "INTERVENTION", length=4000)
public String intervention;
+ @Lob
+ @Indexable(sortable = true)
@Column(name = "SPONSOR", length=4000)
public String sponsor;
- @Column(name = "PHASES", length=50)
+ @Lob
+ @Column(name = "PHASES", length=2000)
public String phases;
- @Column(name = "FUNDED_BYS", length=100)
+ @Lob
+ @Column(name = "FUNDED_BYS", length=2000)
public String fundedBys;
+ @Lob
@Indexable(facet = true, name = "Study Types")
- @Column(name = "STUDY_TYPES", length=150)
+ @Column(name = "STUDY_TYPES", length=2000)
public String studyTypes;
- @Column(name = "STUDY_DESIGNS", length=255)
+ @Lob
+ @Column(name = "STUDY_DESIGNS", length=2000)
public String studyDesigns;
+ @Lob
+ @Column(name = "STUDY_RESULTS", length=4000)
@Indexable(facet = true, name = "Study Results")
- @Column(name = "STUDY_RESULTS", length=100)
public String studyResults;
- @Column(name = "AGE_GROUPS", length=100)
+ @Column(name = "AGE_GROUPS", length=50)
public String ageGroups;
+
@Column(name = "GENDER", length=50)
+ @Indexable(facet= true, name = "Gender")
public String gender;
- @Column(name = "ENROLLMENT", length=100)
+ @Lob
+ @Column(name = "ENROLLMENT", length=2000)
public String enrollment;
- @Column(name = "OTHER_IDS", length=550)
+ @Lob
+ @Column(name = "OTHER_IDS", length=500)
public String otherIds;
- @Column(name = "ACRONYM", length=100)
+ @Lob
+ @Column(name = "ACRONYM", length=4000)
public String acronym;
@Column(name = "START_DATE")
+ @Indexable(name = "Start Date at Source", sortable=true)
+
public Date startDate;
@Column(name = "LAST_VERIFIED")
+ @Indexable(name = "Last Verified Date at Source", sortable=true)
public Date lastVerified;
@Column(name = "COMPLETION_DATE")
+ @Indexable(name = "Completion Date at Source", sortable=true)
public Date completionDate;
@Column(name = "PRIMARY_COMPLETION_DATE")
+ @Indexable(name = "Primary Completion Date at Source", sortable=true)
public Date primaryCompletionDate;
@Column(name = "FIRST_RECEIVED")
+ @Indexable(name = "First Received Date at Source", sortable=true)
public Date firstReceived;
@Column(name = "LAST_UPDATED")
+ @Indexable(name = "Last Updated at Source", sortable=true)
public Date lastUpdated;
+ @Lob
@Column(name = "OUTCOME_MEASURES", length=4000)
public String outcomeMeasures;
- @Column(name = "URL", length=100)
- public String url;
-
- /*@Column(name = "LOCATIONS", length=4000)
- public String locations;*/
+ /*
+ @Lob
+ @Column(name = "LOCATIONS", length=4000)
+ public String locations;
+ */
}
diff --git a/gsrs-module-applications-spring-boot-autoconfigure/src/main/resources/applications-core.conf b/gsrs-module-applications-spring-boot-autoconfigure/src/main/resources/applications-core.conf
index 213d020..1c3a793 100644
--- a/gsrs-module-applications-spring-boot-autoconfigure/src/main/resources/applications-core.conf
+++ b/gsrs-module-applications-spring-boot-autoconfigure/src/main/resources/applications-core.conf
@@ -91,187 +91,235 @@ substance.hierarchyFinders.recipes=[
]
-gsrs.validators.substances = [
- # public Class validatorClass;
- # public Class substanceClass;
- # public Substance.SubstanceDefinitionType type;
-
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.IgnoreValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.NullCheckValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
-
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.AutoGenerateUuidIfNeeded",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- },
- {
- #validates that any structural modifications are effectively non-null
- "validatorClass" = "ix.ginas.utils.validation.validators.StructuralModificationsValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.SubstanceStatusValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.RemovePublicIndReferences",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.NamesValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "type" = "PRIMARY"
- "configClass" = "SubstanceValidatorConfig"
- },
-
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.PrimaryRelationshipsValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "type" = "PRIMARY"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.NotesValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "type" = "PRIMARY"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.PrimaryDefinitionValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "type" = "PRIMARY"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.AlternateDefinitionValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "type" = "ALTERNATIVE"
- "configClass" = "SubstanceValidatorConfig"
- },
-
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.ChemicalValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "chemical",
- #September 2020: additional parameter 'allow0AtomStructures' when true -> user can register blank structures; false -> no blank structures
- "parameters"= {"allow0AtomStructures":false }
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.MixtureValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "mixture"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.NucleicAcidValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "nucleicAcid",
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.PolymerValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "polymer"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.ProteinValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "protein"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.StructurallyDiverseValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "structurallyDiverse"
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.SSSG1Validator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "specifiedSubstanceG1",
- "configClass" = "SubstanceValidatorConfig"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.UnknownSubstanceClassValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.NewSubstanceNonBatchLoadValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
-
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.UpdateSubstanceNonBatchLoaderValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
-
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.PublicDomainRefValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- },
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.DefinitionalHashValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- },
-
- # Added 9 November 2020 MAM
- #make sure than a public substance has at least one public definitional reference
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.DefinitionalReferenceValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- },
- # Validator for Relationship modifications (restrict to admins)
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.RelationshipModificationValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- },
- #Make sure each property has a name
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.PropertyValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- },
-
- #check the mol files of chemical substances and throw errors if there are SUP s-groups.
- #to remove this check comment out or delete this statement.
- {
- "validatorClass" = "ix.ginas.utils.validation.validators.SuperatomValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "substanceClass" = "chemical",
- "configClass" = "SubstanceValidatorConfig"
- }
-
-]
+gsrs.validators.substances.list.IgnoreValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.IgnoreValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "configClass" = "SubstanceValidatorConfig"
+ "order": 100
+ }
+gsrs.validators.substances.list.NullCheckValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.NullCheckValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 200
+ }
+gsrs.validators.substances.list.AutoGenerateUuidIfNeeded =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.AutoGenerateUuidIfNeeded",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 300
+ }
+gsrs.validators.substances.list.StructuralModificationsValidator =
+ {
+ #validates that any structural modifications are effectively non-null
+ "validatorClass" = "ix.ginas.utils.validation.validators.StructuralModificationsValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 400
+ },
+gsrs.validators.substances.list.SubstanceStatusValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.SubstanceStatusValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 500
+ }
+gsrs.validators.substances.list.RemovePublicIndReferences = {
+ "validatorClass" = "ix.ginas.utils.validation.validators.RemovePublicIndReferences",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 600
+}
+gsrs.validators.substances.list.NamesValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.NamesValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 700,
+ "type" = "PRIMARY"
+ "configClass" = "SubstanceValidatorConfig",
+ "parameters"= {
+ "caseSearchType": "Explicit"
+ }
+ }
+gsrs.validators.substances.list.PrimaryRelationshipsValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.PrimaryRelationshipsValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 800,
+ "type" = "PRIMARY"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.NotesValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.NotesValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 900,
+ "type" = "PRIMARY"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.PrimaryDefinitionValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.PrimaryDefinitionValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1000,
+ "type" = "PRIMARY"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.AlternateDefinitionValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.AlternateDefinitionValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1100,
+ "type" = "ALTERNATIVE"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.ChemicalValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.ChemicalValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1200,
+ "substanceClass" = "chemical",
+ # September 2020: additional parameter 'allow0AtomStructures' when true -> user can register blank structures; false -> no blank structures
+ "parameters"= {"allow0AtomStructures":false, "allowV3000Molfiles": false }
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.MixtureValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.MixtureValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1300,
+ "substanceClass" = "mixture"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.NucleicAcidValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.NucleicAcidValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1400,
+ "substanceClass" = "nucleicAcid",
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.PolymerValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.PolymerValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1500,
+ "substanceClass" = "polymer"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.ProteinValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.ProteinValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1600,
+ "substanceClass" = "protein"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.StructurallyDiverseValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.StructurallyDiverseValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1700,
+ "substanceClass" = "structurallyDiverse"
+ "configClass" = "SubstanceValidatorConfig"
+ }
+gsrs.validators.substances.list.SSSG1Validator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.SSSG1Validator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1800
+ "substanceClass" = "specifiedSubstanceG1",
+ "configClass" = "SubstanceValidatorConfig"
+ },
+gsrs.validators.substances.list.UnknownSubstanceClassValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.UnknownSubstanceClassValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 1900
+ }
+gsrs.validators.substances.list.NewSubstanceNonBatchLoadValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.NewSubstanceNonBatchLoadValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2000
+ }
+gsrs.validators.substances.list.UpdateSubstanceNonBatchLoaderValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.UpdateSubstanceNonBatchLoaderValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2100
+ }
+gsrs.validators.substances.list.PublicDomainRefValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.PublicDomainRefValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2200
+ }
+gsrs.validators.substances.list.DefinitionalHashValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.DefinitionalHashValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2300,
+ "disabled": false
+ }
+gsrs.validators.substances.list.DefinitionalReferenceValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.DefinitionalReferenceValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2400
+ }
+gsrs.validators.substances.list.RelationshipModificationValidator =
+# Validator for Relationship modifications (restrict to admins)
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.RelationshipModificationValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2500,
+ "disabled": false
+ }
+gsrs.validators.substances.list.PropertyValidator =
+# Make sure each property has a name
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.PropertyValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2600,
+ "disabled": false
+ }
+gsrs.validators.substances.list.SuperatomValidator =
+# Check the mol files of chemical substances and throw errors if there are SUP s-groups.
+# To remove this check comment out or delete this statement.
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.SuperatomValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2700,
+ "substanceClass" = "chemical",
+ "configClass" = "SubstanceValidatorConfig"
+ }
##############################################
# THIS IS IMPORTANT, ADDITION OF VALIDATORS!
##############################################
-#gsrs.substance.validators
-gsrs.validators.substances += {
- "validatorClass" = "ix.ginas.utils.validation.validators.CodeFormatValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- }
+gsrs.validators.substances.list.CodeFormatValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.CodeFormatValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 2900
+ }
+gsrs.validators.substances.list.SaltValidator =
+# TODO katzelda Feb 2021: remove for now
+# Check that individual moieties of a multi-moiety chemical are registered separately
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.SaltValidator",
+ "newObjClass" = "ix.ginas.models.v1.ChemicalSubstance",
+ "order": 3000
+ }
+gsrs.validators.substances.list.SubstanceUniquenessValidator =
+# Check for uniqueness of several classes of substance based on definitional hashes
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.SubstanceUniquenessValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 3100
+ }
-#TODO katzelda Feb 2021: remove for now
-#Check that individual moieties of a multi-moiety chemical are registered separately
-gsrs.validators.substances += {
- "validatorClass" = "ix.ginas.utils.validation.validators.SaltValidator",
- "newObjClass" = "ix.ginas.models.v1.ChemicalSubstance"
- }
-#check for uniqueness of several classes of substance based on definitional hashes
-gsrs.validators.substances += {
- "validatorClass" = "ix.ginas.utils.validation.validators.SubstanceUniquenessValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance"
- }
spring.application.name=substance
@@ -281,14 +329,17 @@ server.servlet-path=/loop-service
server.use-forward-headers=true
-ix.api.registeredfunctions =${ix.api.registeredfunctions}[
- {
- "class":"ix.core.util.pojopointer.extensions.InChIRegisteredFunction"
- },
- {
- "class":"ix.core.util.pojopointer.extensions.InChIFullRegisteredFunction"
- }
-]
+ix.api.registeredfunctions.list.InChIRegisteredFunction =
+ {
+ "registeredFunctionClass": "ix.core.util.pojopointer.extensions.InChIRegisteredFunction",
+ "order": 1500
+ }
+ix.api.registeredfunctions.list.InChIFullRegisteredFunction =
+ {
+ "registeredFunctionClass":"ix.core.util.pojopointer.extensions.InChIFullRegisteredFunction"
+ "order": 1600,
+ }
+
substance.renderer.style="CONF"
substance.renderer.configPath="substances-default-renderer.json"
@@ -301,18 +352,44 @@ ix.gsrs.delimitedreports.inchikeysforambiguousstereo=true
#if more than one Exporter supports the same file extension,
#the class in the list that supports it fist wins.
-ix.ginas.export.factories.substances = [
- #"gsrs.module.substance.ExtraColumnsSpreadsheetExporterFactory",
- "gsrs.module.substance.exporters.SdfExporterFactory",
- "gsrs.module.substance.exporters.DefaultSubstanceSpreadsheetExporterFactory",
- "gsrs.module.substance.exporters.JsonExporterFactory",
- #"ix.ginas.exporters.FDANameExporterFactory",
- #"ix.ginas.exporters.FDACodeExporterFactory",
-# "ix.ginas.exporters.SPLValidatorXMLExporterFactory",
- # "ix.ginas.exporters.SRSLegacyDictionaryExporterFactory"
-
+# This format no longer works
+XXXX_ix.ginas.export.factories.substances_XXXX = [
+ #"gsrs.module.substance.ExtraColumnsSpreadsheetExporterFactory",
+ "gsrs.module.substance.exporters.SdfExporterFactory",
+ "gsrs.module.substance.exporters.DefaultSubstanceSpreadsheetExporterFactory",
+ "gsrs.module.substance.exporters.JsonExporterFactory",
+ #"ix.ginas.exporters.FDANameExporterFactory",
+ #"ix.ginas.exporters.FDACodeExporterFactory",
+ # "ix.ginas.exporters.SPLValidatorXMLExporterFactory",
+ # "ix.ginas.exporters.SRSLegacyDictionaryExporterFactory"
]
+
+
+ix.ginas.export.exporterfactories.substances.list.DefaultSubstanceSpreadsheetExporterFactory =
+ {
+ "exporterFactoryClass" = "gsrs.module.substance.exporters.DefaultSubstanceSpreadsheetExporterFactory",
+ "order" = 1000,
+ "parameters":{
+ }
+ }
+ix.ginas.export.exporterfactories.substances.list.JsonExporterFactory =
+ {
+ "exporterFactoryClass" = "gsrs.module.substance.exporters.JsonExporterFactory",
+ "order" = 1100,
+ "parameters":{
+ }
+ }
+ix.ginas.export.exporterfactories.substances.list.SdfExporterFactory =
+ {
+ "exporterFactoryClass" = "gsrs.module.substance.exporters.SdfExporterFactory",
+ "order" = 1600,
+ "parameters":{
+ "approvalIDName": "UNII"
+ }
+ }
+
+
substance.definitional-elements.implementations =[
{
"implementationClass" : "gsrs.module.substance.definitional.ChemicalSubstanceDefinitionalElementImpl"
@@ -356,188 +433,240 @@ gsrs.resolvers.implementations =[
}
]
-gsrs.entityProcessors=[
-{
-"entityClassName" = "ix.ginas.models.v1.Substance",
-"processor" = "gsrs.module.substance.processors.SubstanceProcessor"
-},
-#{
-#"entityClassName" = "ix.ginas.models.v1.Substance",
-#"processor" = "gsrs.module.substance.processors.ChemicalStructurePropertiesProcessor"
-#},
-{
-"entityClassName" = "ix.ginas.models.v1.Substance",
-"processor" = "gsrs.module.substance.processors.PublicTagFlagger"
-},
-{
-"entityClassName" = "ix.ginas.models.v1.Reference",
-"processor" = "gsrs.module.substance.processors.ReferenceProcessor"
-},
-{
-"entityClassName" = "ix.ginas.models.v1.Substance",
-"processor" = "gsrs.module.substance.processors.RelationshipProcessor"
-},
+gsrs.entityProcessors.list.SubstanceProcessor =
+ {
+ "entityClassName" = "ix.ginas.models.v1.Substance",
+ "processor" = "gsrs.module.substance.processors.SubstanceProcessor",
+ "order" = 1000
+ }
+# gsrs.entityProcessors.list.ChemicalStructurePropertiesProcessor =
+# {
+# "entityClassName" = "ix.ginas.models.v1.Substance",
+# "processor" = "gsrs.module.substance.processors.ChemicalStructurePropertiesProcessor",
+# "order" = 1100
+# }
+gsrs.entityProcessors.list.PublicTagFlagger =
+ {
+ "entityClassName" = "ix.ginas.models.v1.Substance",
+ "processor" = "gsrs.module.substance.processors.PublicTagFlagger"
+ "order" = 1200
+ }
+gsrs.entityProcessors.list.ReferenceProcessor =
+ {
+ "entityClassName" = "ix.ginas.models.v1.Reference",
+ "processor" = "gsrs.module.substance.processors.ReferenceProcessor",
+ "order" = 1300
+ }
+gsrs.entityProcessors.list.RelationshipProcessor =
+ {
+ "entityClassName" = "ix.ginas.models.v1.Substance",
+ "processor" = "gsrs.module.substance.processors.RelationshipProcessor",
+ "order" = 1400
+ }
+# gsrs.entityProcessors.list.ApprovalIdProcessor =
+# {
+# "entityClassName" = "ix.ginas.models.v1.Substance",
+# "processor" = "gsrs.module.substance.processors.ApprovalIdProcessor",
+# "order" = 1500
+# },
+
+# __aw__ get error with this in products, so commented out for now.
+# gsrs.entityProcessors.list.GroupProcessor =
+# {
+# "entityClassName" = "ix.ginas.models.v1.Substance",
+# "processor" = "gsrs.module.substance.processors.GroupProcessor",
+# "order" = 1600
+# }
+
+gsrs.scheduled-tasks.list.ReindexTaskInitializer =
+ {
+ "scheduledTaskClass" : "gsrs.module.substance.tasks.ReindexTaskInitializer",
+ "order" = 1000,
+ "parameters" : {
+ "autorun": false
+ }
+ }
-#{
-# "entityClassName" = "ix.ginas.models.v1.Substance",
-# "processor" = "gsrs.module.substance.processors.ApprovalIdProcessor"
-#},
-{
- "entityClassName" = "ix.ginas.models.v1.Substance",
- "processor" = "gsrs.module.substance.processors.GroupProcessor"
-}
-]
+gsrs.scheduled-tasks.list.StructureRecalcTaskInitializer =
+ {
+ "scheduledTaskClass" : "gsrs.module.substance.tasks.StructureRecalcTaskInitializer",
+ "order" = 1100,
+ "parameters" : {
+ "autorun": false
+ }
+ }
+gsrs.scheduled-tasks.list.RebackupTaskInitializer =
+ {
+ "scheduledTaskClass" : "gsrs.module.substance.tasks.RebackupTaskInitializer",
+ "order" = 1200,
+ "parameters" : {
+ "autorun": false,
+ "description" : "Re-backup all Substance entities",
+ "repositoryClass" : "gsrs.module.substance.repository.SubstanceRepository"
+ }
+ }
+gsrs.scheduled-tasks.list.ChronicStackDumper =
+ {
+ "scheduledTaskClass" : "gsrs.module.substance.tasks.ChronicStackDumper",
+ "order" = 1300,
+ "parameters" : {
+ "autorun": false,
+ "dateFormat" : "yyyy.MMMM.dd hh:mm:ss a", #any valid Java 8 DateTimeFormatter
+ "cron":"0 0/3 * * * ?", #every 3 mins
+ "outputPath" : "logs/all-running-stacktraces.log"
+ }
+ }
+gsrs.scheduled-tasks.list.DataRecorder =
+ {
+ "scheduledTaskClass" : "gsrs.module.substance.tasks.DataRecorder",
+ "order" = 1400,
+ "parameters" : {
+ "autorun": false,
+ "dateFormat" : "yyyy.MMMM.dd hh:mm:ss a", #any valid Java 8 DateTimeFormatter
+ "cron":"0/10 * * * * ?", #every 10 seconds
+ "outputPath" : "logs/datarecorder.log"
+ }
+ }
-gsrs.scheduled-tasks.list=[
- {
- "scheduledTaskClass" : "gsrs.module.substance.tasks.ReindexTaskInitializer",
- "parameters" : {
- "autorun": false
- }
- },
- {
- "scheduledTaskClass" : "gsrs.module.substance.tasks.StructureRecalcTaskInitializer",
- "parameters" : {
- "autorun": false
- }
- },
- {
- "scheduledTaskClass" : "gsrs.module.substance.tasks.RebackupTaskInitializer",
- "parameters" : {
- "autorun": false,
- "description" : "Re-backup all Substance entities",
- "repositoryClass" : "gsrs.module.substance.repository.SubstanceRepository"
- }
- },
-
- {
- "scheduledTaskClass" : "gsrs.module.substance.tasks.ChronicStackDumper",
- "parameters" : {
- "autorun": false,
- "dateFormat" : "yyyy.MMMM.dd hh:mm:ss a", #any valid Java 8 DateTimeFormatter
- "cron":"0 0/3 * * * ?", #every 3 mins
- "outputPath" : "logs/all-running-stacktraces.log"
- }
- },
- {
- "scheduledTaskClass" : "gsrs.module.substance.tasks.DataRecorder"
- "parameters" : {
- "autorun": false,
- "dateFormat" : "yyyy.MMMM.dd hh:mm:ss a", #any valid Java 8 DateTimeFormatter
- "cron":"0/10 * * * * ?", #every 10 seconds
- "outputPath" : "logs/datarecorder.log"
+gsrs.scheduled-tasks.list.ImportMetadataReindexTask =
+ {
+ "scheduledTaskClass" : "gsrs.dataexchange.tasks.ImportMetadataReindexTask",
+ "order" = 1500,
+ "parameters": {
+ "autorun": false
+ }
+ }
+gsrs.scheduled-tasks.list.SubstanceRefTaskInitializer =
+ {
+ #fixes
+ "scheduledTaskClass" : "gsrs.module.substance.tasks.SubstanceRefTaskInitializer",
+ "order" = 1600,
+ "parameters" : {
+ "autorun": false,
+ "refUuidCodeSystem" :"UUID Code",
+ "reportFilePath" :"logs/substance_reference_report.txt",
+ "refApprovalIdCodeSystem" : "FDA UNII"
}
}
-]
# What does this do?
gsrs.indexers.includeDefaultIndexers = false
-gsrs.indexers.list=[
-{
-"indexer" = "gsrs.module.substance.indexers.DeprecatedIndexValueMaker",
-"class" = "ix.ginas.models.v1.Substance",
-},
+# start at 3000
+gsrs.indexers.list.DeprecatedIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.DeprecatedIndexValueMaker",
+ "class" = "ix.ginas.models.v1.Substance",
+ "order" = 3000
+ }
+
+# gsrs.indexers.list.ChemicalSubstanceStructureHashIndexValueMaker =
# This should be unnecessary right now. May be used later
-#{
+# {
# "indexer" = "gsrs.module.substance.indexers.ChemicalSubstanceStructureHashIndexValueMaker",
-#},
-{
-"indexer" = "gsrs.module.substance.indexers.InchiKeyIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.SubstanceFacetStatusIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.SubstanceDefinitionalHashIndexer",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.RecordAccessIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.MolecularWeightPropertyIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.MoietyTypeIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.ATCIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.BracketTermIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.SDGIndexValueMaker",
-},
-{
-"indexer" = "gsrs.module.substance.indexers.SubstanceBasicsIndexValueMaker",
-}
-]
+# "order" = 3100
+# },
+gsrs.indexers.list.InchiKeyIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.InchiKeyIndexValueMaker",
+ "order" = 3200
+ }
+gsrs.indexers.list.SubstanceFacetStatusIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.SubstanceFacetStatusIndexValueMaker",
+ "order" = 3300
+ }
+gsrs.indexers.list.SubstanceDefinitionalHashIndexer =
+ {
+ "indexer" = "gsrs.module.substance.indexers.SubstanceDefinitionalHashIndexer",
+ "order" = 3400
+ }
+gsrs.indexers.list.RecordAccessIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.RecordAccessIndexValueMaker",
+ "order" = 3500
+ }
+gsrs.indexers.list.MolecularWeightPropertyIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.MolecularWeightPropertyIndexValueMaker",
+ "order" = 3600
+ }
+gsrs.indexers.list.MoietyTypeIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.MoietyTypeIndexValueMaker",
+ "order" = 3700
+ }
+gsrs.indexers.list.MixtureStructureHashIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.MixtureStructureHashIndexValueMaker",
+ "order" = 3800
+ }
+gsrs.indexers.list.ATCIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.ATCIndexValueMaker",
+ "order" = 3900
+ }
+gsrs.indexers.list.BracketTermIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.BracketTermIndexValueMaker",
+ "order" = 4000
+ }
+gsrs.indexers.list.SDGIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.SDGIndexValueMaker",
+ "order" = 4100
+ }
+gsrs.indexers.list.SubstanceBasicsIndexValueMaker =
+ {
+ "indexer" = "gsrs.module.substance.indexers.SubstanceBasicsIndexValueMaker",
+ "order" = 4200
+ }
-# Example report. Change the SQL and path to suit your needs
-#gsrs.scheduled-tasks.list+=
-# {
-# "scheduledTaskClass" : "gsrs.module.substance.tasks.SQLReportScheduledTaskInitializer",
-# "parameters" : {
-# "autorun": true,
-# "sql": "select s.uuid, dtype, s.current_version, s.created, c.code, c.code_system from ix_ginas_substance s, ix_ginas_code c where s.uuid = c.owner_uuid and c.type= 'PRIMARY'",
-# "outputPath": "test_code_report_%DATE%_%TIME%.txt",
-# "name": "Simple Code Report",
-# "cron":"0 0/1 * * * ?", #every 1 mins
-### Datasource qualifier can be specified if needed. This is typically of the form:
-### "DataSource". For example, "defaultDataSource" or "productsDataSource"/
-### "dataSourceQualifier":"defaultDataSource",
-# }
-# }
-
-# Example SPL report. Change the SPL settings to suit your needs
-#gsrs.scheduled-tasks.list+=
-# {
-# "scheduledTaskClass" : "gsrs.module.substance.tasks.SplExportInitializer",
-# "parameters" : {
-# "autorun": true,
-# "username":"admin",
-## You can set up an explicit export directory, but don't need to
-## "outputPath": "tmpspl",
-# "name": "SPL export",
-# "cron":"0 0/10 * * * ?" #every 1 mins
-# }
-# }
-
-
-gsrs.validators.substances += {
- "validatorClass" = "ix.ginas.utils.validation.validators.SetReferenceAccess",
- "newObjClass" = "ix.ginas.models.v1.Substance",
- "configClass" = "SubstanceValidatorConfig",
-
- "suggestedPublic": ["ACD", "ALANWOOD", "ALGAEBASE", "AMERICAN BOTANICAL COUNCIL", "ANNONBASE",
-"ATC INN", "ATCC", "AUSTRALIAN PLANT NAME INDEX", "BAN", "BIOPHARMA", "BIOS", "BIOSYSTEMATIC DATABASE of WORLD DIPTERA",
-"BLATTODEA SPECIES", "BOOK", "BRASSICACEAE", "BRITISH PHARMACOPOEIA", "CAS", "CATALOGUE OF LIFE CHINA", "CENTER FOR DISEASE CONTROL", "CFR",
+gsrs.validators.substances.list.SetReferenceAccess =
+#removed from suggestedPublic but not yet added to alwaysPrivate: CTP and DMF
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.SetReferenceAccess",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "configClass" = "SubstanceValidatorConfig",
+ "order": 3300,
+ "suggestedPublic": [
+ "ACD", "ALANWOOD", "ALGAEBASE", "AMERICAN BOTANICAL COUNCIL", "ANNONBASE",
+ "ATC INN", "ATCC", "AUSTRALIAN PLANT NAME INDEX", "BAN", "BIOPHARMA", "BIOS", "BIOSYSTEMATIC DATABASE of WORLD DIPTERA",
+ "BLATTODEA SPECIES", "BOOK", "BRASSICACEAE", "BRITISH PHARMACOPOEIA", "CAS", "CATALOGUE OF LIFE CHINA", "CENTER FOR DISEASE CONTROL", "CFR",
"CHEBI", "CHEMBANK", "CHEMID", "CHEMSPIDER", "CHENOBASE", "CHINESE HERBAL MEDICINE", "CLINICAL PHARMACOLOGY", "CLINICAL_TRIALS.GOV", "CLINICALTRIALS", "CODEX Alimentarius", "COMBINED CHEMICAL DICTIONARY", "CONIFER DATABASE", "CTD_TOXICOGENOMICS", "CTP", "CVM GREEN BOOK", "DAILYMED", "DMF", "DOSE", "DOTHIDEOMYCETES", "DROSERACEAE DATABASE", "DRUG PRODUCT LABEL", "DRUGS@FDA", "EAFUS", "EC FLAVOURING SUBSTANCES", "ECHA (EC/EINECS)", "EMA LIST", "EMA REVIEW", "EP", "EPA", "EU CLINICAL TRIALS", "EUROPEAN PHARMACOPEIA", "EVMPD", "FACTS AND COMPARISIONS", "FADA BIVALVIA", "FDA APPROVED DRUG LABEL", "FDA GUIDANCE", "FEDERAL REGISTER", "FISHBASE", "FOOD LOVERS COMPANION", "GERANIUM TAXONOMIC INFORMATION SYSTEM", "GLOBAL BIODIVERSITY INFORMATION FACILITY", "GLOBAL COMPOSITAE CHECKLIST", "GLOMEROMYCOTA", "GREEN BOOK", "GRIN", "HANDBOOK OF FLAVOR INGREDIENTS", "HANDBOOK OF FLAVORS & FRAGRANCES", "HANDBOOK OF INORGANIC CHEMICALS", "HANDBOOK OF PHARMACEUTICAL ADDITIVES", "HANDBOOK OF PHARMACEUTICAL EXCIPIENTS", "HAWLEY CONDENSED CHEMICAL DICTIONARY", "HEALTH CANADA", "HERBAL MEDICINES", "HERBS OF COMMERCE", "HOMEOPATHIC PHARMACOPOEIA US", "HPE-KIBBE", "ICSAS", "ICTV", "ILDIS", "INCB", "INTELEOS", "INTERNATIONAL ORGANIZATION FOR PLANT INFORMATION", "INTERNATIONAL PLANT NAMES INDEX", "INVESTIGATOR BROCHURE", "ISO", "IT IS", "IUPHAR", "JA", "JAN", "JAPAN CHEMICAL SUBSTANCE DICTIONARY", "JAPANESE PHARMACOPOEIA", "JECFA", "JECFA: JOINT FAO/WHO COMMITTEE FOOD ADD", "KEGG", "KEW GARDENS (WCPS)", "KEW GARDENS FUNGI", "KNOVEL CONTENT", "LANDES MUSEUM BIOLOGIEZENTRUM", "LANGUAL", "LECYTHIDACEAE PAGES", "LEPINDEX", "LEUNG NATURAL INGREDIENTS", "LEUNGS ENCYLOPEDIA OF COMMON NATURAL INGREDIENTS 3RD ED.", "LEXI-COMP", "LIAS", "MANUFACTURER PRODUCT ", "MARTINDALE", "MATERIA MEDICA FOR CHINESE MEDICINE", "MDDR", "MEETING ABSTRACT", "MELASTOMATACEAE.NET", "MERCK INDEX", "MICROMEDEX", "MIRBASE", "MSDS", "MYCOBANK", "NCATS List", "NCBI", "NCI DRUG DICTIONARY", "NCI THESAURUS", "NCI_NDFRT", "NDA PUBLIC REVIEW", "NDF-RT", "NEW ZEALAND ORGANISMS REGISTER", "NIAID CHEMDB", "NIST WEBBOOK", "NLM", "NOMEN.EUMYCETOZOA.COM", "OMOP", "ORANGE BOOK", "ORPHAN DRUG", "ORTHOPTERA SPECIES FILE", "PARHOST", "PATENT", "PATTYS TOXICOLOGY", "PERSONAL CARE PRODUCTS COUNCIL", "PHARMACOPOEIA OF THE PEOPLE'S REPUBLIC OF CHINA", "PHARMAPROJECTS", "PLANT LIST", "PLANTS FOR A FUTURE", "PLOTKIN VACCINES", "PRODUCT PACKAGE INSERT", "RJB GERANIUM", "SAX DANGEROUS PROPERTIES", "SCALENET", "SIGMA-ALDRICH", "SITTIG HANDBOOK OF PESTICIDES", "SLOAN-KETT", "SOLANACEAE SOURCE", "SPECIALTY CHEMICALS", "SPIDCAT", "STN (SCIFINDER)", "SWEDISH SUBSTANCE LIST", "SWISS MEDIC", "SYSTEMA DIPTERORUM", "TIGR REPTILES", "TOBACCO KNOWLEDGE BASE", "TOX21", "TROPICOS", "UCSF-FDA TRANSPORTAL", "UNIPROT", "URMO", "USP", "USP DIETARY SUPPLEMENTS COMPENDIUM", "USP FOOD CHEMICALS CODEX", "USP HERBAL MEDICINES COMPENDIUM", "USP PHARMACOPOEIAL FORUM", "USP-MC", "USPNF", "VATC",
-"WEBSITE", "WHO DRUG DICTIONARY", "WHO INTERNATIONAL PHARMACOPOEIA",
-"WIKI", "WORLD BIODIVERSITY DATABASE", "WORLD PLANTS", "WORLD UMBELLIFER DATABASE", "WEB PAGE"],
-
- "alwaysPrivate" : ["ANDA", "BLA", "EU-NCA (CBG-MEB)", "IND", "INTEGRITY SERVICES", "NDA"],
- "referenceCitationPatterns" : [".*[^A-Z]IND[^A-Z]*[0-9][0-9][0-9]*.*"]
-
- }
-
+ "WEBSITE", "WHO DRUG DICTIONARY", "WHO INTERNATIONAL PHARMACOPOEIA",
+ "WIKI", "WORLD BIODIVERSITY DATABASE", "WORLD PLANTS", "WORLD UMBELLIFER DATABASE", "WEB PAGE"],
+ "alwaysPrivate" : ["ANDA", "BLA", "EU-NCA (CBG-MEB)", "IND", "INTEGRITY SERVICES", "NDA"],
+ "referenceCitationPatterns" : [".*[^A-Z]IND[^A-Z]*[0-9][0-9][0-9]*.*"]
+ }
-gsrs.validators.substances +=
-{
+gsrs.validators.substances.list.CodesValidator =
+ {
"validatorClass" = "ix.ginas.utils.validation.validators.CodesValidator",
- "newObjClass" = "ix.ginas.models.v1.Substance",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 3400,
"configClass" = "SubstanceValidatorConfig"
+ }
-}
+# __aw__ see if can remove?
+gsrs.validators.substances.list.ChemicalUniquenessValidator =
+ {
+ "validatorClass" = "ix.ginas.utils.validation.validators.ChemicalUniquenessValidator",
+ "newObjClass" = "ix.ginas.models.v1.Substance",
+ "order": 3500,
+ "configClass" = "SubstanceValidatorConfig",
+ "parameters"= {}
+ }
-#gsrs.validators.substances +=
-#{
-# "validatorClass" = "ix.ginas.utils.validation.validators.CodeUniquenessValidator",
-# "newObjClass" = "ix.ginas.models.v1.Substance",
-# "configClass" = "SubstanceValidatorConfig",
-# "parameters"= {"singletonCodeSystems" =["CAS"]}
-#}
+# commented out do we want it but disabled?
+# gsrs.validators.substances.list.CodeUniquenessValidator =
+# {
+# "validatorClass" = "ix.ginas.utils.validation.validators.CodeUniquenessValidator",
+# "newObjClass" = "ix.ginas.models.v1.Substance",
+# "order": 3600,
+# "configClass" = "SubstanceValidatorConfig",
+# "parameters"= {"singletonCodeSystems" =["CAS"]}
+# }
## Disable MOLWITCH
gsrs.substances.molwitch.enabled=false
diff --git a/gsrs-module-applications-spring-boot-starter/pom.xml b/gsrs-module-applications-spring-boot-starter/pom.xml
index 92f4787..a2d52ba 100644
--- a/gsrs-module-applications-spring-boot-starter/pom.xml
+++ b/gsrs-module-applications-spring-boot-starter/pom.xml
@@ -6,7 +6,7 @@
gsrs-module-applications
gov.nih.ncats
- 3.1.1-SNAPSHOT
+ 3.1.2-SNAPSHOT
4.0.0
diff --git a/pom.xml b/pom.xml
index 7dc0015..69aea7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
gov.nih.ncats
gsrs-module-applications
- 3.1.1-SNAPSHOT
+ 3.1.2-SNAPSHOT
GSRS Application Module
GSRS Application Module for Spring Boot
@@ -33,11 +33,11 @@
1.8
Hoxton.SR1
4.10.0
- 3.1.1
- 3.1.1-SNAPSHOT
+ 3.1.2-SNAPSHOT
+ 3.1.2-SNAPSHOT
2.17.1
- 3.1.1.1
+ 3.1.2-SNAPSHOT