Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 85f54f5

Browse files
use "delete existing files" preference, log errors
1 parent deb8b29 commit 85f54f5

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestGenerator.xtend

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import java.util.ArrayList
2121
import java.util.HashMap
2222
import java.util.LinkedHashMap
2323
import java.util.List
24+
import java.util.logging.Logger
2425
import oracle.ide.config.Preferences
2526
import org.oddgen.sqldev.generators.OddgenGenerator2
2627
import org.oddgen.sqldev.generators.model.Node
@@ -32,12 +33,14 @@ import org.utplsql.sqldev.model.preference.PreferenceModel
3233
import org.utplsql.sqldev.resources.UtplsqlResources
3334

3435
class TestGenerator implements OddgenGenerator2 {
36+
static final Logger logger = Logger.getLogger(TestGenerator.name);
3537

3638
public static val YES = "Yes"
3739
public static val NO = "No"
3840

3941
public static var GENERATE_FILES = UtplsqlResources.getString("PREF_GENERATE_FILES_LABEL")
4042
public static var OUTPUT_DIRECTORY = UtplsqlResources.getString("PREF_OUTPUT_DIRECTORY_LABEL")
43+
public static var DELETE_EXISTING_FILES = UtplsqlResources.getString("PREF_DELETE_EXISTING_FILES_LABEL")
4144
public static var TEST_PACKAGE_PREFIX = UtplsqlResources.getString("PREF_TEST_PACKAGE_PREFIX_LABEL")
4245
public static var TEST_PACKAGE_SUFFIX = UtplsqlResources.getString("PREF_TEST_PACKAGE_SUFFIX_LABEL")
4346
public static var TEST_UNIT_PREFIX = UtplsqlResources.getString("PREF_TEST_UNIT_PREFIX_LABEL")
@@ -56,8 +59,6 @@ class TestGenerator implements OddgenGenerator2 {
5659
val context = new GenContext()
5760
context.objectType = node.toObjectType
5861
context.objectName = node.toObjectName
59-
context.generateFiles = node.params.get(GENERATE_FILES) == YES
60-
context.outputDirectory = node.params.get(OUTPUT_DIRECTORY)
6162
context.testPackagePrefix = node.params.get(TEST_PACKAGE_PREFIX).toLowerCase
6263
context.testPackageSuffix = node.params.get(TEST_PACKAGE_SUFFIX).toLowerCase
6364
context.testUnitPrefix = node.params.get(TEST_UNIT_PREFIX).toLowerCase
@@ -75,7 +76,21 @@ class TestGenerator implements OddgenGenerator2 {
7576
}
7677

7778
private def void saveConsoleOutput(String s) {
78-
consoleOutput.add(s)
79+
if (s !== null) {
80+
for (line : s.split("[\\n\\r]+")) {
81+
consoleOutput.add(line)
82+
}
83+
}
84+
}
85+
86+
private def void logConsoleOutput() {
87+
for (line : consoleOutput) {
88+
if (line.contains("error") || line.startsWith("Cannot")) {
89+
logger.severe(line)
90+
} else {
91+
logger.fine(line)
92+
}
93+
}
7994
}
8095

8196
private def String deleteFile(File file) {
@@ -145,6 +160,7 @@ class TestGenerator implements OddgenGenerator2 {
145160
val params = new LinkedHashMap<String, String>()
146161
params.put(GENERATE_FILES, if (preferences.generateFiles) {YES} else {NO})
147162
params.put(OUTPUT_DIRECTORY, preferences.outputDirectory)
163+
params.put(DELETE_EXISTING_FILES, if (preferences.deleteExistingFiles) {YES} else {NO})
148164
params.put(TEST_PACKAGE_PREFIX, preferences.testPackagePrefix)
149165
params.put(TEST_PACKAGE_SUFFIX, preferences.testPackageSuffix)
150166
params.put(TEST_UNIT_PREFIX, preferences.testUnitPrefix)
@@ -197,22 +213,27 @@ class TestGenerator implements OddgenGenerator2 {
197213
lov.put(GENERATE_COMMENTS, #[YES, NO])
198214
lov.put(DISABLE_TESTS, #[YES, NO])
199215
lov.put(GENERATE_FILES, #[YES, NO])
216+
lov.put(DELETE_EXISTING_FILES, #[YES, NO])
200217
return lov
201218
}
202219

203220
override getParamStates(Connection conn, LinkedHashMap<String, String> params, List<Node> nodes) {
204221
val paramStates = new HashMap<String, Boolean>
205222
paramStates.put(OUTPUT_DIRECTORY, params.get(GENERATE_FILES) == YES)
223+
paramStates.put(DELETE_EXISTING_FILES, params.get(GENERATE_FILES) == YES)
206224
return paramStates
207225
}
208226

209227
override generateProlog(Connection conn, List<Node> nodes) '''
210228
«val generateFiles = nodes.get(0).params.get(GENERATE_FILES) == YES»
211229
«val outputDirectory = nodes.get(0).params.get(OUTPUT_DIRECTORY
230+
«val deleteExistingfiles = nodes.get(0).params.get(DELETE_EXISTING_FILES) == YES»
212231
«IF generateFiles»
213232
«resetConsoleOutput»
214233
«outputDirectory.mkdirs.saveConsoleOutput»
215-
«deleteFiles(outputDirectory).toString.saveConsoleOutput»
234+
«IF deleteExistingfiles»
235+
«deleteFiles(outputDirectory).toString.saveConsoleOutput»
236+
«ENDIF»
216237
--
217238
-- install generated utPLSQL test packages
218239
--
@@ -232,10 +253,11 @@ class TestGenerator implements OddgenGenerator2 {
232253

233254
«ENDIF»
234255
«ENDFOR»
235-
«IF generateFiles && consoleOutput.size > 0»
256+
«logConsoleOutput»
257+
«IF generateFiles && consoleOutput.findFirst[it.contains("error")] !== null»
236258

237259
--
238-
-- console output produced during the generation of this script
260+
-- console output produced during the generation of this script (errors found)
239261
--
240262
/*
241263

0 commit comments

Comments
 (0)