Skip to content

Commit e97eadd

Browse files
committed
Merge pull request #8 from psiroky/jcr2vfs-findbugs-fixes
jcr2vfs: fix few dozens of errors/warnings reported by FindBugs
2 parents fe0fdb1 + 94ace31 commit e97eadd

16 files changed

Lines changed: 50 additions & 123 deletions

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/Jcr2VfsMigrater.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public boolean parseArgs( String[] args ) {
7070
}
7171

7272
public void migrateAll() {
73-
System.out.format( "Migration started. Reading from inputJcrRepository ({%s}).\n",
73+
System.out.format( "Migration started. Reading from inputJcrRepository ({%s}).%n",
7474
migrationConfig.getInputJcrRepository().getAbsolutePath() );
7575

7676
try {
@@ -99,13 +99,13 @@ public void migrateAll() {
9999
}
100100

101101
if ( Jcr2VfsMigrationApp.hasWarnings ) {
102-
System.out.format( "Migration ended with warnings. Written into outputVfsRepository ({%s}).\n",
102+
System.out.format( "Migration ended with warnings. Written into outputVfsRepository ({%s}).%n",
103103
migrationConfig.getOutputVfsRepository().getAbsolutePath() );
104104
} else if ( Jcr2VfsMigrationApp.hasErrors ) {
105-
System.out.format( "Migration ended with errors. Written into outputVfsRepository ({%s}).\n",
105+
System.out.format( "Migration ended with errors. Written into outputVfsRepository ({%s}).%n",
106106
migrationConfig.getOutputVfsRepository().getAbsolutePath() );
107107
} else {
108-
System.out.format( "Migration ended. Written into outputVfsRepository ({%s}).\n",
108+
System.out.format( "Migration ended. Written into outputVfsRepository ({%s}).%n",
109109
migrationConfig.getOutputVfsRepository().getAbsolutePath() );
110110
}
111111
}

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/config/MigrationConfig.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class MigrationConfig {
3636

3737
private static String DEFAULT_MIGRATION_FILE_SYSTEM = "guvnor-jcr2vfs-migration";
3838

39-
public static String formatstr = "runMigration [options...]";
39+
public static final String formatstr = "runMigration [options...]";
4040

4141
private File inputJcrRepository;
4242
private File outputVfsRepository;
@@ -130,7 +130,11 @@ private boolean parseArgOutputVfsRepository( CommandLine commandLine,
130130
System.out.println( "The outputVfsRepository (" + outputVfsRepository + ") has issues: " + e );
131131
return false;
132132
}
133-
outputVfsRepository.mkdirs();
133+
try {
134+
FileUtils.forceMkdir(outputVfsRepository);
135+
} catch (IOException e) {
136+
throw new RuntimeException("Can't create the output VFS directory!", e);
137+
}
134138

135139
return true;
136140
}

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/AssetMigrater.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public void migrateAll() {
144144
for (AssetPageRow row : response.getPageRowList()) {
145145
AssetItem assetItemJCR = rulesRepository.loadAssetByUUID(row.getUuid());
146146
assetName =assetItemJCR.getName();
147-
System.out.format(" Asset [%s] with format [%s] is being migrated... \n",
147+
System.out.format(" Asset [%s] with format [%s] is being migrated... %n",
148148
assetItemJCR.getName(), assetItemJCR.getFormat());
149149
//TODO: Git wont check in a version if the file is not changed in this version. Eg, the version 3 of "testFunction.function"
150150
//We need to find a way to force a git check in. Otherwise migrated version history is not consistent with the version history in old Guvnor.
@@ -156,8 +156,7 @@ public void migrateAll() {
156156
//control, its just the current content on jcr node) is equal to the latest version that had been checked in.
157157
//Eg, when we import mortgage example, we just dump the mortgage package to a jcr node, no version check in.
158158
migrate(jcrModule, assetItemJCR, null);
159-
System.out.format(" Done.\n",
160-
assetItemJCR.getName(), assetItemJCR.getFormat());
159+
System.out.format(" Done.%n");
161160
}
162161
} catch (SerializationException e) {
163162
System.out.println("SerializationException migrating asset: " + assetName +" from module: "+jcrModule.getName());
@@ -232,7 +231,7 @@ private Path migrate(Module jcrModule, AssetItem jcrAssetItem, Path previousVers
232231
//Ignore
233232
} else { //another format is migrated as a attachmentAsset
234233
Jcr2VfsMigrationApp.hasWarnings = true;
235-
System.out.format(" WARNING: asset [%s] with format[%s] is not a known format by migration tool. It will be migrated as attachmentAsset \n", jcrAssetItem.getName(), jcrAssetItem.getFormat());
234+
System.out.format(" WARNING: asset [%s] with format[%s] is not a known format by migration tool. It will be migrated as attachmentAsset %n", jcrAssetItem.getName(), jcrAssetItem.getFormat());
236235
return attachementAssetMigrater.migrate(jcrModule, jcrAssetItem, previousVersionPath);
237236
}
238237

@@ -267,7 +266,7 @@ public int compare(TableDataRow r1,
267266
logger.debug(" Asset ({}) with format ({}) migrated: version [{}], comment[{}], lastModified[{}]",
268267
historicalAssetJCR.getName(), historicalAssetJCR.getFormat(), historicalAssetJCR.getVersionNumber(), historicalAssetJCR.getCheckinComment(), historicalAssetJCR.getLastModified().getTime());
269268
}
270-
} catch (Exception e){
269+
} catch (RuntimeException e){
271270
System.out.println("Exception migrating assetHistory at version: "+currentVersionAssetName +" from module: "+jcrModule.getName());
272271
}
273272
}

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/ModuleMigrater.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void migrateAll() {
3333
Module[] jcrModules = jcrRepositoryModuleService.listModules();
3434
for ( Module jcrModule : jcrModules ) {
3535
migrate( jcrModule );
36-
System.out.format( " Module [%s] migrated. \n", jcrModule.getName() );
36+
System.out.format( " Module [%s] migrated. %n", jcrModule.getName() );
3737
}
3838

3939
Module globalModule = jcrRepositoryModuleService.loadGlobalModule();
@@ -47,14 +47,17 @@ private void migrate( Module jcrModule ) {
4747
//Set up project structure:
4848
jcrModule.setName(migrationPathManager.normalizePackageName(jcrModule.getName()));
4949

50-
String [] nameSplit = jcrModule.getName().split("\\.");
51-
String groupId=nameSplit[0];
52-
String artifactId=nameSplit[nameSplit.length-1];
50+
String[] nameSplit = jcrModule.getName().split("\\.");
5351

54-
for(int i =1 ;i< nameSplit.length-1;i++){
55-
groupId +="."+ nameSplit[i];
52+
StringBuilder groupIdBuilder = new StringBuilder();
53+
groupIdBuilder.append(nameSplit[0]);
54+
for (int i = 1; i < nameSplit.length - 1; i++) {
55+
groupIdBuilder.append(".");
56+
groupIdBuilder.append(nameSplit[i]);
5657
}
5758

59+
String groupId = groupIdBuilder.toString();
60+
String artifactId = nameSplit[nameSplit.length - 1];
5861
GAV gav = new GAV(groupId,
5962
artifactId,
6063
"0.0.1");

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/PackageImportHelper.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.FileNotFoundException;
55
import java.io.IOException;
66
import java.io.StringWriter;
7+
import java.nio.charset.Charset;
78
import javax.inject.Inject;
89
import javax.xml.parsers.DocumentBuilder;
910
import javax.xml.parsers.DocumentBuilderFactory;
@@ -16,6 +17,7 @@
1617
import javax.xml.transform.dom.DOMSource;
1718
import javax.xml.transform.stream.StreamResult;
1819

20+
import com.google.common.base.Charsets;
1921
import org.apache.commons.httpclient.util.URIUtil;
2022
import org.drools.workbench.models.commons.backend.imports.ImportsParser;
2123
import org.drools.workbench.models.commons.backend.packages.PackageNameParser;
@@ -63,7 +65,7 @@ public String assertPackageNameXML( final String xml,
6365
try {
6466
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
6567

66-
Document doc = dombuilder.parse( new ByteArrayInputStream( xml.getBytes() ) );
68+
Document doc = dombuilder.parse( new ByteArrayInputStream( xml.getBytes( Charsets.UTF_8 ) ) );
6769

6870
if ( doc.getElementsByTagName( "packageName" ).getLength() != 0 ) {
6971
return xml;
@@ -146,7 +148,7 @@ public String assertPackageImportXML( final String xml,
146148

147149
try {
148150
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
149-
Document doc = dombuilder.parse( new ByteArrayInputStream( xml.getBytes() ) );
151+
Document doc = dombuilder.parse( new ByteArrayInputStream( xml.getBytes( Charsets.UTF_8 ) ) );
150152

151153
if ( doc.getElementsByTagName( "imports" ).getLength() != 0 ) {
152154
return xml;

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/asset/AttachementAssetMigrater.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,10 @@ public class AttachementAssetMigrater extends BaseAssetMigrater {
2222

2323
protected static final Logger logger = LoggerFactory.getLogger( AttachementAssetMigrater.class );
2424

25-
@Inject
26-
protected RepositoryAssetService jcrRepositoryAssetService;
27-
2825
@Inject
2926
@Named("ioStrategy")
3027
private IOService ioService;
3128

32-
@Inject
33-
protected MigrationPathManager migrationPathManager;
34-
3529
public Path migrate( Module jcrModule,
3630
AssetItem jcrAssetItem,
3731
Path previousVersionPath) {

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/asset/BaseAssetMigrater.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,20 +98,22 @@ public String getExtendedRuleFromCategoryRules(Module jcrModule, AssetItem jcrAs
9898
}
9999
// Now iterate by the asset categories, and construct the extendRuleExpression if the category is in catRuleHashMap
100100
List<org.drools.repository.CategoryItem> assetCategories = jcrAssetItem.getCategories();
101-
String extendCategories = "";
101+
StringBuilder extendCategoriesBuilder = new StringBuilder();
102102
int i = 0;
103103
for (CategoryItem categoryItem : assetCategories) {
104104
ruleName = (String) catRuleHashMap.get(categoryItem.getName());
105105
if (ruleName != null) {
106-
if (i != 0) extendCategories += ", ";
106+
if (i != 0) extendCategoriesBuilder.append(", ");
107107
// prepared for multiple hierarchy,
108108
// but in the old platform the multiple hierarchy was not supported
109-
extendCategories += ruleDelimiter + ruleName + ruleDelimiter;
109+
extendCategoriesBuilder.append(ruleDelimiter);
110+
extendCategoriesBuilder.append(ruleName);
111+
extendCategoriesBuilder.append(ruleDelimiter);
110112
i++;
111113
}
112114
}
113115
// extendCategories has Delimiter+ rule1Name + Delimiter + added by the packageCategoryRules definition
114-
return extendCategories;
116+
return extendCategoriesBuilder.toString();
115117
}
116118

117119
/**
@@ -136,11 +138,12 @@ public String getExtendExpression(Module jcrModule, AssetItem jcrAssetItem, Stri
136138
} else {
137139
contentSplit[0] += "," + extendedRules;
138140
}
139-
String str="";
140-
for (String s:contentSplit){
141-
str+=s+"\n";
141+
StringBuilder contentWithExtendsBuilder = new StringBuilder();
142+
for (String s : contentSplit) {
143+
contentWithExtendsBuilder.append(s);
144+
contentWithExtendsBuilder.append("\n");
142145
}
143-
return str;
146+
return contentWithExtendsBuilder.toString();
144147
}
145148
return content;
146149
}

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/asset/FactModelsMigrater.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,6 @@ public class FactModelsMigrater extends BaseAssetMigrater {
3838

3939
protected static final Logger logger = LoggerFactory.getLogger(FactModelsMigrater.class);
4040

41-
@Inject
42-
protected RepositoryAssetService jcrRepositoryAssetService;
43-
44-
@Inject
45-
protected MigrationPathManager migrationPathManager;
46-
4741
@Inject
4842
@Named("ioStrategy")
4943
private IOService ioService;
@@ -149,12 +143,6 @@ private AnnotationDefinitionTO getPositionAnnotationDefinition() {
149143
//from the full JCR Module name (assuming they're formatted "projectName.subModule1.subModule2" etc
150144
private String getPackageName(Module jcrModule) {
151145
String packageName = jcrModule.getName();
152-
int dotIndex = packageName.indexOf( "." );
153-
// if(dotIndex==-1) {
154-
//packageName="";
155-
// } else {
156-
// packageName = packageName.substring( dotIndex +1 );
157-
// }
158146
return packageName;
159147
}
160148

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/asset/GlobalMigrater.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,13 @@ public class GlobalMigrater extends BaseAssetMigrater {
3030
protected static final Logger logger = LoggerFactory.getLogger( GlobalMigrater.class );
3131
private static final String GLOBAL_KEYWORD = "global ";
3232

33-
@Inject
34-
protected RepositoryAssetService jcrRepositoryAssetService;
35-
3633
@Inject
3734
private Paths paths;
3835

3936
@Inject
4037
@Named("ioStrategy")
4138
private IOService ioService;
4239

43-
@Inject
44-
protected MigrationPathManager migrationPathManager;
45-
4640
@Inject
4741
private PackageHeaderInfo packageHeaderInfo;
4842

drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/migrater/asset/GuidedDecisionTableMigrater.java

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,9 @@ public class GuidedDecisionTableMigrater extends BaseAssetMigrater {
3333

3434
protected static final Logger logger = LoggerFactory.getLogger( GuidedDecisionTableMigrater.class );
3535

36-
@Inject
37-
protected RepositoryAssetService jcrRepositoryAssetService;
38-
3936
@Inject
4037
protected GuidedRuleEditorService guidedRuleEditorService;
4138

42-
@Inject
43-
protected MigrationPathManager migrationPathManager;
44-
4539
@Inject
4640
@Named("ioStrategy")
4741
private IOService ioService;
@@ -72,10 +66,6 @@ public Path migrate( Module jcrModule,
7266

7367
String content = jcrAssetItem.getContent();
7468

75-
/* while(content.indexOf("<auditLog>") > -1) {
76-
content = content.replaceAll(content.substring(content.indexOf("<auditLog>"), content.indexOf("</auditLog>")+11), "");
77-
}
78-
*/
7969
content = content.replaceAll( "org.drools.guvnor.client.modeldriven.dt52.Pattern52",
8070
"Pattern52" );
8171

@@ -92,7 +82,7 @@ public Path migrate( Module jcrModule,
9282

9383
}
9484
final String requiredPackageName = pkName;
95-
if ( requiredPackageName != null || !"".equals( requiredPackageName ) ) {
85+
if ( requiredPackageName != null && !"".equals( requiredPackageName ) ) {
9686
model.setPackageName( requiredPackageName );
9787
}
9888
model.setParentName(getExtendedRuleFromCategoryRules(jcrModule,jcrAssetItem,""));
@@ -107,22 +97,13 @@ public Path migrate( Module jcrModule,
10797

10898
String sourceContent = GuidedDTXMLPersistence.getInstance().marshal( model );
10999

110-
/* GuidedDTContentHandler h = new GuidedDTContentHandler();
111-
String sourceContent = h.getRawDRL(jcrAssetItem);*/
112-
113-
//String sourceContent = jcrAssetItem.getContent();
114-
115-
//String sourceContentWithPackage = packageImportHelper.assertPackageNameXML(sourceContent, path);
116-
//sourceContentWithPackage = packageImportHelper.assertPackageImportXML(sourceContentWithPackage, path);
117-
118100
ioService.write( nioPath,
119101
sourceContent,
120102
migrateMetaData(jcrModule, jcrAssetItem),
121103
new CommentedOption( jcrAssetItem.getLastContributor(),
122104
null,
123105
jcrAssetItem.getCheckinComment(),
124106
jcrAssetItem.getLastModified().getTime() ) );
125-
126107
return path;
127108
}
128109
}

0 commit comments

Comments
 (0)