abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ _0123456789 // JAVA classes for DB version: /* Dictionaries */ /* Business objects */ // Data types // . : - , // ----------------- - package ru.clearing.platform.dictionary; /** * * * Dictionary DB table: **/ public class Dictionary extends AbstractDictionary { private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; } // -- mapstore -- package ru.spcex.clearing.imdg.dictionary; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.platform.dictionary.Dictionary; import ru.spcex.clearing.imdg.base.DictionaryTMapStore; import ru.spcex.clearing.imdg.IMDGDistributedNames; @Component public class DictionaryMapStore extends DictionaryTMapStore<Dictionary> { public DictionaryMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } @Override public String getMapName() { return IMDGDistributedNames.Map_Dictionary; } @Override public String getTableName() { return ""; } @Override public Dictionary getDictionaryObject() { return new Dictionary(); } } !! Нестандартное поле !! // FIXME Нестандартный словарь! Требуется писать код вручную. // ------------------ - package ; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; /** * * * DB table: **/ public class extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; } //mapstore // -- mapstore -- package ru.spcex.clearing.imdg.object; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ; import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.platform.utils.time.TimeUtil; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; @Component public class MapStore extends TemplateMapStore<> { public MapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } @Override public String getMapName() { return IMDGDistributedNames.Map_; } @Override public String getTableName() { return ""; } @Override public String[] getFields() { return new String[]{ }; } @Override public objectReader(ResultSet resultSet) throws SQLException { object = new (); return object; } @Override public Object[] objectToField( object) { Object[] args = new Object[]{ }; return args; } } // todo добавить класс History package ; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; import java.io.Serial; /** * Изменение состояния объекта * * DB table: _HISTORY **/ public class History extends BusinessEvent<> { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; private object; @Override public getObject() { return object; } @Override public void setObject( object) { this.object = object; } } // -- History mapstore для журналирования -- package ru.spcex.clearing.imdg.businessevent; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ; import History; import ru.spcex.clearing.imdg.base.TemplateEventMapStore; import ru.spcex.platform.utils.time.TimeUtil; @Component public class HistoryMapStore extends TemplateEventMapStore<History> { public HistoryMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } @Override public String getMapName() { return IMDGDistributedNames.Map_History; } @Override public String getTableName() { return "_HISTORY"; } @Override public String[] getFields() { return new String[]{"ID","EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", _ }; } @Override public Object[] objectToField(History historyLog) { object=historyLog.getObject(); Object[] args = new Object[]{ historyLog.getId(), TimeUtil.toDateFromInstant(historyLog.getEventTime()), historyLog.getUserId(), historyLog.getEventType(), }; return args; } } , " " object.set(getInstantFromTimestamp(resultSet, " ")) object.set(getLocalDateFromSqlDate(resultSet, " ")) object.set(getLocalTimeFromSqlTime(resultSet, " ")) object.set(resultSet.getObject(" ", .class)) ; , TimeUtil.toDateFromInstant(object.get()) TimeUtil.toDateFromLocalDate(object.get()) TimeUtil.toDateFromLocalTime(object.get()) object.get() // (in parent) private ; // DB field: private ; // DB field: // (linked to ) public get() { return ; } public void set( value) { this.=value; } public get() { return ; } public void set( value) { this.=value; } upper _