1515 */
1616package org.utplsql.sqldev.model.preference
1717
18+ import java.io.File
1819import oracle.javatools.data.HashStructure
1920import oracle.javatools.data.HashStructureAdapter
2021import oracle.javatools.data.PropertyStorage
2122import org.eclipse.xtext.xbase.lib.util.ToStringBuilder
2223
2324class PreferenceModel extends HashStructureAdapter {
25+ public static final String DEFAULT_OUTPUT_DIRECTORY = '''«System.getProperty("user.home")»«File.separator»utplsql«File.separator»generated'''
2426 static final String DATA_KEY = "utplsql"
2527
2628 private new(HashStructure hash) {
@@ -42,7 +44,14 @@ class PreferenceModel extends HashStructureAdapter {
4244 static final String KEY_TEST_UNIT_SUFFIX = "testUnitSuffix"
4345 static final String KEY_NUMBER_OF_TESTS_PER_UNIT = "numberOfTestsPerUnit"
4446 static final String KEY_CHECK_GENERATE_UTPLSQL_TEST = "checkGenerateUtplsqlTest"
45-
47+ static final String KEY_GENERATE_COMMENTS = "generateComments"
48+ static final String KEY_DISABLE_TESTS = "disableTests"
49+ static final String KEY_SUITE_PATH="suitePath"
50+ static final String KEY_INDENT_SPACES="indentSpaces"
51+ static final String KEY_GENERATE_FILES="generateFiles"
52+ static final String KEY_OUTPUT_DIRECTORY = "outputDirectory"
53+ static final String KEY_ROOT_FOLDER_IN_ODDGEN_VIEW = "rootFolderInOddgenView"
54+
4655 def isUnsharedWorksheet() {
4756 return getHashStructure.getBoolean(PreferenceModel.KEY_UNSHARED_WORKSHEET, true)
4857 }
@@ -131,6 +140,64 @@ class PreferenceModel extends HashStructureAdapter {
131140 getHashStructure.putBoolean(PreferenceModel.KEY_CHECK_GENERATE_UTPLSQL_TEST, checkGenerateUtplsqlTest)
132141 }
133142
143+ def isGenerateComments() {
144+ return getHashStructure.getBoolean(PreferenceModel.KEY_GENERATE_COMMENTS, true)
145+ }
146+
147+ def setGenerateComments(boolean generateComments) {
148+ getHashStructure.putBoolean(PreferenceModel.KEY_GENERATE_COMMENTS, generateComments)
149+ }
150+
151+ def isDisableTests() {
152+ return getHashStructure.getBoolean(PreferenceModel.KEY_DISABLE_TESTS, false)
153+ }
154+
155+ def setDisableTests(boolean disableTests) {
156+ getHashStructure.putBoolean(PreferenceModel.KEY_DISABLE_TESTS, disableTests)
157+ }
158+
159+ def getSuitePath() {
160+ return getHashStructure.getString(PreferenceModel.KEY_SUITE_PATH, "alltests")
161+ }
162+
163+ def setSuitePath(String suitePath) {
164+ getHashStructure.putString(PreferenceModel.KEY_SUITE_PATH, suitePath)
165+ }
166+
167+ def getIndentSpaces() {
168+ return getHashStructure.getInt(PreferenceModel.KEY_INDENT_SPACES, 3)
169+ }
170+
171+ def setIndentSpaces(int indentSpaces) {
172+ getHashStructure.putInt(PreferenceModel.KEY_INDENT_SPACES, indentSpaces)
173+ }
174+
175+ def isGenerateFiles() {
176+ return getHashStructure.getBoolean(PreferenceModel.KEY_GENERATE_FILES, true)
177+ }
178+
179+ def setGenerateFiles(boolean generateFiles) {
180+ getHashStructure.putBoolean(PreferenceModel.KEY_GENERATE_FILES, generateFiles)
181+ }
182+
183+ def getOutputDirectory() {
184+ return getHashStructure.getString(PreferenceModel.KEY_OUTPUT_DIRECTORY, DEFAULT_OUTPUT_DIRECTORY)
185+ }
186+
187+ def setOutputDirectory(String outputDirectory) {
188+ val dir = if (outputDirectory.empty) {DEFAULT_OUTPUT_DIRECTORY} else {outputDirectory}
189+ getHashStructure.putString(PreferenceModel.KEY_OUTPUT_DIRECTORY, dir)
190+ }
191+
192+ def getRootFolderInOddgenView() {
193+ return getHashStructure.getString(PreferenceModel.KEY_ROOT_FOLDER_IN_ODDGEN_VIEW, "utPLSQL")
194+ }
195+
196+ def setRootFolderInOddgenView(String rootFolder) {
197+ val folder = if (rootFolder.empty) {"utPLSQL"} else {rootFolder}
198+ getHashStructure.putString(PreferenceModel.KEY_ROOT_FOLDER_IN_ODDGEN_VIEW, folder)
199+ }
200+
134201 override toString() {
135202 new ToStringBuilder(this).addAllFields.toString
136203 }
0 commit comments