Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Pawel Szymczyk
committed
Jan 18, 2015
1 parent
de88803
commit 757cddd
Showing
7 changed files
with
105 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
javers-persistence-sql/src/main/java/org/javers/repository/sql/domain/CommitRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package org.javers.repository.sql.domain; | ||
|
||
import org.javers.core.commit.CommitMetadata; | ||
import org.javers.core.json.JsonConverter; | ||
import org.javers.repository.sql.poly.JaversPolyJDBC; | ||
import org.javers.repository.sql.schema.FixedSchemaFactory; | ||
import org.polyjdbc.core.query.InsertQuery; | ||
|
||
public class CommitRepository { | ||
|
||
private JaversPolyJDBC javersPolyjdbc; | ||
private JsonConverter jsonConverter; | ||
|
||
public CommitRepository(JaversPolyJDBC javersPolyjdbc, JsonConverter jsonConverter) { | ||
this.javersPolyjdbc = javersPolyjdbc; | ||
this.jsonConverter = jsonConverter; | ||
} | ||
|
||
public Long save(CommitMetadata commitMetadata) { | ||
InsertQuery query = javersPolyjdbc.query().insert().into(FixedSchemaFactory.COMMIT_TABLE_NAME) | ||
.value(FixedSchemaFactory.COMMIT_TABLE_AUTHOR, commitMetadata.getAuthor()) | ||
.value(FixedSchemaFactory.COMMIT_TABLE_COMMIT_DATE, jsonConverter.toJson(commitMetadata.getCommitDate())) | ||
.value(FixedSchemaFactory.COMMIT_TABLE_COMMIT_ID, commitMetadata.getId().toString()); | ||
|
||
javersPolyjdbc.queryRunner().insert(query); | ||
|
||
return 1L; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 60 additions & 0 deletions
60
...sistence-sql/src/test/groovy/org/javers/repository/sql/domain/CommitRepositoryTest.groovy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
package org.javers.repository.sql.domain | ||
|
||
import org.javers.core.Javers | ||
import org.javers.core.JaversBuilder | ||
import org.javers.core.commit.Commit | ||
import org.javers.core.commit.CommitId | ||
import org.javers.core.commit.CommitMetadata | ||
import org.javers.core.json.JsonConverterBuilder | ||
import org.javers.core.model.DummyUser | ||
import org.javers.repository.sql.ConnectionProvider | ||
import org.javers.repository.sql.DialectName | ||
import org.javers.repository.sql.SqlRepositoryTestBuilder | ||
import org.joda.time.LocalDateTime | ||
import spock.lang.Specification | ||
|
||
import java.sql.Connection | ||
import java.sql.DriverManager | ||
|
||
|
||
class CommitRepositoryTest extends Specification { | ||
|
||
def "should save commit"() { | ||
|
||
given: | ||
def jsonConverter = JsonConverterBuilder.jsonConverter().build() | ||
|
||
def connection = DriverManager.getConnection( | ||
"jdbc:postgresql://localhost:5432/pawel.szymczyk", "pawel.szymczyk", ""); | ||
connection.setAutoCommit(false); | ||
|
||
def builder = SqlRepositoryTestBuilder.sqlRepository().withConnectionProvider(new ConnectionProvider() { | ||
@Override | ||
Connection getConnection() { | ||
connection | ||
} | ||
}).withDialect(DialectName.POSTGRES).withJSONConverter(jsonConverter) | ||
|
||
builder.build() | ||
|
||
def commitRepository = builder.getComponent(CommitRepository) | ||
|
||
when: | ||
def id = commitRepository.save(new CommitMetadata("author", LocalDateTime.now(), new CommitId(1L,0))) | ||
connection.commit() | ||
|
||
then: | ||
true | ||
|
||
// then: | ||
// globalIdRepository.get(id).id == "kazik" | ||
// globalIdRepository.get(id).class == DummyUser | ||
// | ||
// when: | ||
// def nextId = globalIdRepository.save(globalId) | ||
// | ||
// then: | ||
// nextId == id | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters