Fix encoding su creazione migration per viste, funzioni, trigger, procedure

This commit is contained in:
2024-03-11 16:15:43 +01:00
parent 995455e12c
commit 1d59b05dc8
3 changed files with 9 additions and 7 deletions

View File

@@ -331,6 +331,7 @@
<file url="file://$PROJECT_DIR$/ems-contabil/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-core" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-core/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240311154604.java" charset="windows-1252" />
<file url="file://$PROJECT_DIR$/ems-core/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-document" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-document/src/main/java" charset="UTF-8" />

View File

@@ -32,9 +32,6 @@ public class SystemMigrationController {
systemMigrationService.createMigrationFileFromSqlObjects(querySyntaxFromExistingObjects);
return ServiceRestResponse.createPositiveResponse();
}

View File

@@ -15,6 +15,8 @@ import org.springframework.stereotype.Service;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -97,7 +99,9 @@ public class SystemMigrationService {
typeName = typeName.substring(0, 1).toUpperCase() + typeName.substring(1);
String definition = sqlObject.getDefinition().trim();
definition = definition.replace("\n", "\\n\" + \n\t\t\t\t\"");
definition = definition
.replace("\r\n", "\n")
.replace("\n", "\\n\" + \n\t\t\t\t\"");
classBuilder.append("\t\tcreateOrUpdate")
@@ -127,7 +131,6 @@ public class SystemMigrationService {
final String migrationsJavaPath = baseProjectPath + "java\\it\\integry\\ems\\migration\\model\\";
final String migrationsJavaFile = migrationsJavaPath + migrationClassName + ".java";
writeContentToFile(migrationsJavaFile, classBuilder.toString(), true);
}
@@ -139,9 +142,10 @@ public class SystemMigrationService {
if (overwrite && f.exists()) f.delete();
FileOutputStream outputStream = new FileOutputStream(filePath);
byte[] strToBytes = content.getBytes();
outputStream.write(strToBytes);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, StandardCharsets.UTF_8);
outputStreamWriter.write(content);
outputStreamWriter.close();
outputStream.close();
}
}