Search in sources :

Example 6 with ISqlTemplate

use of org.jumpmind.db.sql.ISqlTemplate in project symmetric-ds by JumpMind.

the class AbstractDdlTypesTest method createTable.

protected void createTable() {
    ISqlTemplate sqlTemplate = platform.getSqlTemplate();
    sqlTemplate.update(buildDdl());
}
Also used : ISqlTemplate(org.jumpmind.db.sql.ISqlTemplate)

Example 7 with ISqlTemplate

use of org.jumpmind.db.sql.ISqlTemplate in project symmetric-ds by JumpMind.

the class GroupletService method getGrouplets.

public List<Grouplet> getGrouplets(boolean refreshCache) {
    long maxCacheTime = parameterService.getLong(ParameterConstants.CACHE_TIMEOUT_GROUPLETS_IN_MS);
    List<Grouplet> all = cache;
    if (all == null || System.currentTimeMillis() - lastCacheTime >= maxCacheTime || lastCacheTime == 0 || refreshCache) {
        ISqlTemplate sqlTemplate = platform.getSqlTemplate();
        final Map<String, Grouplet> groupletMap = new HashMap<String, Grouplet>();
        all = sqlTemplate.query(getSql("selectGroupletSql"), new ISqlRowMapper<Grouplet>() {

            public Grouplet mapRow(Row rs) {
                Grouplet grouplet = new Grouplet();
                grouplet.setGroupletId(rs.getString("grouplet_id"));
                grouplet.setDescription(rs.getString("description"));
                grouplet.setGroupletLinkPolicy(GroupletLinkPolicy.valueOf(rs.getString("grouplet_link_policy")));
                grouplet.setCreateTime(rs.getDateTime("create_time"));
                grouplet.setLastUpdateBy(rs.getString("last_update_by"));
                grouplet.setLastUpdateTime(rs.getDateTime("last_update_time"));
                groupletMap.put(grouplet.getGroupletId(), grouplet);
                return grouplet;
            }
        });
        sqlTemplate.query(getSql("selectGroupletLinkSql"), new ISqlRowMapper<GroupletLink>() {

            public GroupletLink mapRow(Row rs) {
                GroupletLink groupletLink = new GroupletLink();
                String groupletId = rs.getString("grouplet_id");
                Grouplet grouplet = groupletMap.get(groupletId);
                groupletLink.setExternalId(rs.getString("external_id"));
                groupletLink.setCreateTime(rs.getDateTime("create_time"));
                groupletLink.setLastUpdateBy(rs.getString("last_update_by"));
                groupletLink.setLastUpdateTime(rs.getDateTime("last_update_time"));
                if (grouplet != null) {
                    grouplet.getGroupletLinks().add(groupletLink);
                }
                return groupletLink;
            }
        });
        sqlTemplate.query(getSql("selectTriggerRouterGroupletSql"), new ISqlRowMapper<TriggerRouterGrouplet>() {

            public TriggerRouterGrouplet mapRow(Row rs) {
                TriggerRouterGrouplet trGrouplet = new TriggerRouterGrouplet();
                String groupletId = rs.getString("grouplet_id");
                Grouplet grouplet = groupletMap.get(groupletId);
                trGrouplet.setAppliesWhen(AppliesWhen.valueOf(rs.getString("applies_when")));
                trGrouplet.setRouterId(rs.getString("router_id"));
                trGrouplet.setTriggerId(rs.getString("trigger_id"));
                trGrouplet.setCreateTime(rs.getDateTime("create_time"));
                trGrouplet.setLastUpdateBy(rs.getString("last_update_by"));
                trGrouplet.setLastUpdateTime(rs.getDateTime("last_update_time"));
                if (grouplet != null) {
                    grouplet.getTriggerRouterGrouplets().add(trGrouplet);
                }
                return trGrouplet;
            }
        });
        cache = all;
        lastCacheTime = System.currentTimeMillis();
    }
    return all;
}
Also used : HashMap(java.util.HashMap) TriggerRouterGrouplet(org.jumpmind.symmetric.model.TriggerRouterGrouplet) ISqlTemplate(org.jumpmind.db.sql.ISqlTemplate) TriggerRouterGrouplet(org.jumpmind.symmetric.model.TriggerRouterGrouplet) Grouplet(org.jumpmind.symmetric.model.Grouplet) GroupletLink(org.jumpmind.symmetric.model.GroupletLink) Row(org.jumpmind.db.sql.Row) ISqlRowMapper(org.jumpmind.db.sql.ISqlRowMapper)

Example 8 with ISqlTemplate

use of org.jumpmind.db.sql.ISqlTemplate in project symmetric-ds by JumpMind.

the class GroupletService method deleteTriggerRouterGroupletsFor.

public void deleteTriggerRouterGroupletsFor(TriggerRouter triggerRouter) {
    ISqlTemplate sqlTemplate = platform.getSqlTemplate();
    sqlTemplate.update(getSql("deleteTriggerRouterGroupletForSql"), new Object[] { triggerRouter.getTrigger().getTriggerId(), triggerRouter.getRouter().getRouterId() }, new int[] { Types.VARCHAR, Types.VARCHAR });
}
Also used : ISqlTemplate(org.jumpmind.db.sql.ISqlTemplate)

Example 9 with ISqlTemplate

use of org.jumpmind.db.sql.ISqlTemplate in project symmetric-ds by JumpMind.

the class GroupletService method deleteTriggerRouterGrouplet.

public void deleteTriggerRouterGrouplet(Grouplet grouplet, TriggerRouterGrouplet triggerRouterGrouplet) {
    ISqlTemplate sqlTemplate = platform.getSqlTemplate();
    sqlTemplate.update(getSql("deleteTriggerRouterGroupletSql"), new Object[] { grouplet.getGroupletId(), triggerRouterGrouplet.getAppliesWhen().name(), triggerRouterGrouplet.getTriggerId(), triggerRouterGrouplet.getRouterId() }, new int[] { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR });
}
Also used : ISqlTemplate(org.jumpmind.db.sql.ISqlTemplate)

Example 10 with ISqlTemplate

use of org.jumpmind.db.sql.ISqlTemplate in project symmetric-ds by JumpMind.

the class GroupletService method saveGroupletLink.

public void saveGroupletLink(Grouplet grouplet, GroupletLink link) {
    ISqlTemplate sqlTemplate = platform.getSqlTemplate();
    link.setLastUpdateTime(new Date());
    if (sqlTemplate.update(getSql("updateGroupletLinkSql"), new Object[] { link.getCreateTime(), link.getLastUpdateBy(), link.getLastUpdateTime(), grouplet.getGroupletId(), link.getExternalId() }, new int[] { Types.TIMESTAMP, Types.VARCHAR, Types.TIMESTAMP, Types.VARCHAR, Types.VARCHAR }) == 0) {
        link.setCreateTime(new Date());
        sqlTemplate.update(getSql("insertGroupletLinkSql"), new Object[] { link.getCreateTime(), link.getLastUpdateBy(), link.getLastUpdateTime(), grouplet.getGroupletId(), link.getExternalId() }, new int[] { Types.TIMESTAMP, Types.VARCHAR, Types.TIMESTAMP, Types.VARCHAR, Types.VARCHAR });
    }
}
Also used : ISqlTemplate(org.jumpmind.db.sql.ISqlTemplate) Date(java.util.Date)

Aggregations

ISqlTemplate (org.jumpmind.db.sql.ISqlTemplate)35 Test (org.junit.Test)8 Row (org.jumpmind.db.sql.Row)7 Date (java.util.Date)6 IDatabasePlatform (org.jumpmind.db.platform.IDatabasePlatform)5 ISqlTransaction (org.jumpmind.db.sql.ISqlTransaction)5 DataGap (org.jumpmind.symmetric.model.DataGap)5 Table (org.jumpmind.db.model.Table)4 Column (org.jumpmind.db.model.Column)3 SqlException (org.jumpmind.db.sql.SqlException)3 DbExport (org.jumpmind.symmetric.io.data.DbExport)3 AbstractServiceTest (org.jumpmind.symmetric.service.impl.AbstractServiceTest)3 SQLException (java.sql.SQLException)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 Map (java.util.Map)2 Database (org.jumpmind.db.model.Database)2 DmlStatement (org.jumpmind.db.sql.DmlStatement)2 ISqlRowMapper (org.jumpmind.db.sql.ISqlRowMapper)2 SymmetricException (org.jumpmind.symmetric.SymmetricException)2