Skip to content

Commit

Permalink
Merge pull request #65 from smeup/master_1.4.0
Browse files Browse the repository at this point in the history
New release 1.4.0
  • Loading branch information
mattiabonardi committed May 14, 2024
2 parents d225239 + 0efe994 commit e8d9fb5
Show file tree
Hide file tree
Showing 69 changed files with 1,644 additions and 2,161 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- name: Set up Maven Central Repository
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 11
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
Expand Down
44 changes: 44 additions & 0 deletions .github/workflows/smeup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Deploy to nexus
on:
push:
branches: [master, develop]
env:
DISTRIBUTION: zulu
JAVA_VERSION: 11

jobs:
deploy-jardis-server:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set smeup nexus settings for snapshots
if: ${{ github.ref == 'refs/heads/develop' }}
uses: actions/setup-java@v3
with:
distribution: ${{ env.DISTRIBUTION }}
java-version: ${{ env.JAVA_VERSION }}
server-id: snapshots
cache: 'maven'
server-username: NEXUS_USER
server-password: NEXUS_PASSWORD

- name: Set smeup nexus settings for releases
if: ${{ github.ref == 'refs/heads/master' }}
uses: actions/setup-java@v3
with:
distribution: ${{ env.DISTRIBUTION }}
java-version: ${{ env.JAVA_VERSION }}
server-id: releases
cache: 'maven'
server-username: NEXUS_USER
server-password: NEXUS_PASSWORD

- name: Publish to smeup nexus
run: mvn deploy -DskipTests
env:
NEXUS_USER: ${{ secrets.NEXUS_USER }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}


2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ bin/
*.iml
/docker/mongodb/data/
/base/src/test/resources/dds/properties/out/
.gradle/
.vscode
10 changes: 9 additions & 1 deletion base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<parent>
<groupId>io.github.smeup.reload</groupId>
<artifactId>reload</artifactId>
<version>v1.3.2</version>
<version>1.4.0</version>
</parent>

<artifactId>base</artifactId>
Expand All @@ -42,6 +42,14 @@

<name>base</name>

<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>

<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
Expand Down
3 changes: 2 additions & 1 deletion base/src/main/kotlin/com/smeup/dbnative/DBManagerBaseImpl.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import com.smeup.dbnative.log.Logger
import com.smeup.dbnative.metadata.MetadataRegister
import com.smeup.dbnative.metadata.file.FSMetadataRegisterImpl
import com.smeup.dbnative.model.FileMetadata
import java.util.*

abstract class DBManagerBaseImpl : DBMManager {
var logger: Logger? = null
Expand Down Expand Up @@ -54,7 +55,7 @@ abstract class DBManagerBaseImpl : DBMManager {
}

override fun existFile(name: String): Boolean {
return getMetadataRegister().contains(name.toUpperCase())
return getMetadataRegister().contains(name.uppercase(Locale.getDefault()))
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,19 @@ object FSMetadataRegisterImpl: MetadataRegister{
}

override fun registerMetadata(metadata: FileMetadata, overwrite: Boolean) {
PropertiesSerializer.metadataToProperties(propertiesDirPath, metadata, true)
MetadataSerializer.metadataToJson(propertiesDirPath, metadata, true)
}

override fun getMetadata(filename: String): FileMetadata {
return PropertiesSerializer.propertiesToMetadata(propertiesDirPath, filename)
return MetadataSerializer.jsonToMetadata(propertiesDirPath, filename)
}

override fun contains(fileName: String): Boolean {
return File("${propertiesDirPath}${File.separatorChar}${fileName}.properties").exists()
return File("${propertiesDirPath}${File.separatorChar}${fileName}.json").exists()
}

override fun remove(fileName: String) {
var propertiesFile = File("${propertiesDirPath}${File.separatorChar}${fileName}.properties")
var propertiesFile = File("${propertiesDirPath}${File.separatorChar}${fileName}.json")
if (propertiesFile.exists()) propertiesFile.delete()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* Copyright 2020 The Reload project Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

package com.smeup.dbnative.metadata.file

import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.smeup.dbnative.model.FileMetadata
import java.io.File
import java.nio.charset.Charset


object MetadataSerializer {

fun jsonToMetadata(directory: String, fileName: String): FileMetadata{
// Read JSON data from file
val inputFile = File(directory, fileName.uppercase() + ".json")
val json: String = inputFile.readText()

// Deserialize
val gson = Gson()
val fileMetadata: FileMetadata = gson.fromJson(json, FileMetadata::class.java)

// if fileName field is undefined, set it with metadata file name
if (fileMetadata.tableName.isEmpty()) {
fileMetadata.tableName = fileName
}
return fileMetadata
}

fun metadataToJson(directory: String, fileMetadata: FileMetadata, overwrite: Boolean){
// Convert FileMetadata object to JSON
val gson: Gson = GsonBuilder().setPrettyPrinting().create()
val json: String = gson.toJson(fileMetadata)

// Write JSON to file
val propertiesFilePath = "${directory}${File.separatorChar}${fileMetadata.name.uppercase()}.json"
val outputFile = File(propertiesFilePath)
if (overwrite && outputFile.exists()) {
outputFile.delete()
}
outputFile.writeText(json)
}
}

This file was deleted.

2 changes: 1 addition & 1 deletion base/src/main/kotlin/com/smeup/dbnative/model/Field.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@

package com.smeup.dbnative.model

data class Field(val name: String, val text:String = "")
data class Field(val name: String, val text:String = "", val numeric:Boolean = false)
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ fun FileMetadata.fieldsToProperties(): MutableList<Pair<String, String>>{
properties.add(
Pair(
"field.${field.name}",
"${field.text}"
"${field.text}",
)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,30 +17,37 @@

package com.smeup.dbnative

import com.smeup.dbnative.metadata.file.PropertiesSerializer
import com.smeup.dbnative.metadata.file.MetadataSerializer
import com.smeup.dbnative.model.Field
import com.smeup.dbnative.model.FileMetadata
import org.junit.Test
import java.io.File

class DBFileFactoryTest {

@Test
fun loadAndSaveTest() {
// Delete tmp file
var tmpFile = File("src/test/resources/dds/properties/out/BRARTI0F.properties")
if (tmpFile.exists()) tmpFile.delete()
tmpFile.parentFile.mkdirs()

// Read metadata1 from properties
var metadata1 = PropertiesSerializer.propertiesToMetadata("src/test/resources/dds/properties/", "BRARTI0F")
println(metadata1)
val fileMetadata = FileMetadata(
"TEST",
"ExampleTable",
listOf(
Field("field1", "some text", false),
Field("field2", numeric = true)
),
listOf("key1", "key2")
)

// Delete tmp file
val tmpDir = System.getProperty("java.io.tmpdir")

// Save metadata1 to tmp properties file
PropertiesSerializer.metadataToProperties("src/test/resources/dds/properties/out", metadata1, true)
MetadataSerializer.metadataToJson(tmpDir, fileMetadata, true)

// Read metadata2 from tmp properties file
var metadata2 = PropertiesSerializer.propertiesToMetadata("src/test/resources/dds/properties/out/", "BRARTI0F")
// Read metadata1 from properties
var metadata = MetadataSerializer.jsonToMetadata(tmpDir, "TEST")

// Compare metadatas class
assert(metadata2.equals(metadata1))
assert(metadata.name.equals("TEST"))
}
}
Loading

0 comments on commit e8d9fb5

Please sign in to comment.