All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.javers.repository.sql.finders.CdoSnapshotMapper Maven / Gradle / Ivy

package org.javers.repository.sql.finders;

import org.javers.common.collections.Pair;
import org.javers.core.json.CdoSnapshotSerialized;
import java.time.LocalDateTime;
import org.polyjdbc.core.query.mapper.ObjectMapper;

import java.sql.ResultSet;
import java.sql.SQLException;

import static org.javers.repository.sql.schema.FixedSchemaFactory.*;

class CdoSnapshotMapper implements ObjectMapper> {

    @Override
    public Pair createObject(ResultSet resultSet) throws SQLException {
        return new Pair<>(new CdoSnapshotSerialized()
                .withCommitAuthor(resultSet.getString(COMMIT_AUTHOR))
                .withCommitDate(resultSet.getTimestamp(COMMIT_COMMIT_DATE))
                .withCommitId(resultSet.getBigDecimal(COMMIT_COMMIT_ID))
                .withVersion(resultSet.getLong(SNAPSHOT_VERSION))
                .withSnapshotState(resultSet.getString(SNAPSHOT_STATE))
                .withChangedProperties(resultSet.getString(SNAPSHOT_CHANGED))
                .withSnapshotType(resultSet.getString(SNAPSHOT_TYPE))
                .withGlobalIdFragment(resultSet.getString(GLOBAL_ID_FRAGMENT))
                .withGlobalIdLocalId(resultSet.getString(GLOBAL_ID_LOCAL_ID))
                .withGlobalIdTypeName(resultSet.getString(SNAPSHOT_MANAGED_TYPE))
                .withOwnerGlobalIdFragment(resultSet.getString("owner_" + GLOBAL_ID_FRAGMENT))
                .withOwnerGlobalIdLocalId(resultSet.getString("owner_" + GLOBAL_ID_LOCAL_ID))
                .withOwnerGlobalIdTypeName(resultSet.getString("owner_" + GLOBAL_ID_TYPE_NAME)),
                resultSet.getLong(COMMIT_PK));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy