Skip to content

Commit 5ad9999

Browse files
committed
Merge pull request #30 from arno82/toad-package-handling
Added combinePackage and removed unnecessary FileNameConstructor
2 parents d19e5d5 + 8317bae commit 5ad9999

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

src/main/java/com/googlecode/scheme2ddl/FileNameConstructor.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public class FileNameConstructor implements InitializingBean {
3535
private String templateForSysDBA = "SCHEMA/types_plural/object_name.ext";
3636
private String preparedTemplate;
3737
private Map<String, String> extensionMap;
38+
private boolean combinePackage;
3839

3940

4041
private boolean needToReplaceWindowsReservedFileNames = false;
@@ -90,6 +91,11 @@ public String map2FileName(UserObject userObject) {
9091
filename = filename.replace(nonOracleChar + kw_schema_UPPER, userObject.getSchema().toUpperCase());
9192

9293
String typeName = abbreviate(userObject.getType()).replace(" ", "_");
94+
95+
String typeName_backup = typeName;
96+
if (combinePackage && typeName.equals("PACKAGE_BODY")) {
97+
typeName = "PACKAGE";
98+
}
9399

94100
//process kw_types_plural before kw_type
95101
filename = filename.replace(nonOracleChar + kw_types_plural_lower, pluralaze(typeName).toLowerCase());
@@ -98,6 +104,9 @@ public String map2FileName(UserObject userObject) {
98104
filename = filename.replace(nonOracleChar + kw_type_lower, typeName.toLowerCase());
99105
filename = filename.replace(nonOracleChar + kw_type_UPPER, typeName.toUpperCase());
100106

107+
if (combinePackage) {
108+
typeName = typeName_backup;
109+
}
101110

102111
String userObjectName = userObject.getName();
103112

@@ -155,6 +164,10 @@ public void afterPropertiesSet() {
155164
public void setExtensionMap(Map<String, String> extensionMap) {
156165
this.extensionMap = extensionMap;
157166
}
167+
168+
public void setCombinePackage(boolean combinePackage) {
169+
this.combinePackage = combinePackage;
170+
}
158171

159172
public void setNeedToReplaceWindowsReservedFileNames(boolean needToReplaceWindowsReservedFileNames) {
160173
this.needToReplaceWindowsReservedFileNames = needToReplaceWindowsReservedFileNames;

src/main/java/com/googlecode/scheme2ddl/TypeNamesUtil.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ public class TypeNamesUtil {
1515
* @return type name for using in DBMS_METADATA package
1616
*/
1717
public static String map2TypeForDBMS(String type) {
18-
FileNameConstructor fileNameConstructor;
1918
if (type.contains("DATABASE LINK"))
2019
return "DB_LINK";
2120
if (type.equals("JOB"))

src/main/resources/scheme2ddl.config.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@
7979
<!-- File extension map rules.
8080
Use predefined 'TOAD' or 'PL/SQL Developer' mapping or create custom mapping -->
8181
<property name="extensionMap" ref="sql_by_default"/>
82+
<!-- combine package spec and body files into one packages directory.
83+
Only use this for TOAD extensionMap, otherwise spec sql files overwrite body sql files.-->
84+
<property name="combinePackage" value="false"/>
8285
</bean>
8386

8487
<util:map id="sql_by_default">

0 commit comments

Comments
 (0)