/** * Gets key columns. * * @return Key columns. */ protected JdbcTypeField[] keyColumns() { return typeMeta.getKeyFields(); }
/** * Prepare internal store specific builders for provided types metadata. * * @param cacheName Cache name to prepare builders for. * @param types Collection of types. * @throws CacheException If failed to prepare internal builders for types. */ @Override protected void prepareBuilders(@Nullable String cacheName, Collection<JdbcType> types) throws CacheException { Map<String, PojoPropertiesCache> pojoProps = U.newHashMap(types.size() * 2); for (JdbcType type : types) { String keyTypeName = type.getKeyType(); TypeKind keyKind = kindForName(keyTypeName); if (keyKind == TypeKind.POJO) { if (pojoProps.containsKey(keyTypeName)) throw new CacheException("Found duplicate key type [cache=" + U.maskName(cacheName) + ", keyType=" + keyTypeName + "]"); pojoProps.put(keyTypeName, new PojoPropertiesCache(keyTypeName, type.getKeyFields())); } String valTypeName = type.getValueType(); TypeKind valKind = kindForName(valTypeName); if (valKind == TypeKind.POJO) pojoProps.put(valTypeName, new PojoPropertiesCache(valTypeName, type.getValueFields())); } if (!pojoProps.isEmpty()) { Map<String, Map<String, PojoPropertiesCache>> newPojosProps = new HashMap<>(pojosProps); newPojosProps.put(cacheName, pojoProps); pojosProps = newPojosProps; } }
checkTypeConfiguration(cacheName, keyKind, keyType, type.getKeyFields());
/** * Copy constructor. * * @param type Type to copy. */ public JdbcType(JdbcType type) { cacheName = type.getCacheName(); dbSchema = type.getDatabaseSchema(); dbTbl = type.getDatabaseTable(); keyType = type.getKeyType(); keyFields = type.getKeyFields(); valType = type.getValueType(); valFlds = type.getValueFields(); }
/** * Create data transfer object for given cache type metadata. * * @param jdbcType JDBC type. */ public VisorCacheJdbcType(JdbcType jdbcType) { keyType = jdbcType.getKeyType(); valType = jdbcType.getValueType(); dbSchema = jdbcType.getDatabaseSchema(); dbTbl = jdbcType.getDatabaseTable(); JdbcTypeField[] kFields = jdbcType.getKeyFields(); if (kFields != null) { keyFields = new ArrayList<>(kFields.length); for (JdbcTypeField fld : kFields) keyFields.add(new VisorCacheJdbcTypeField( fld.getDatabaseFieldName(), fld.getDatabaseFieldType(), fld.getDatabaseFieldName(), U.compact(fld.getJavaFieldType().getName()))); } JdbcTypeField[] vFields = jdbcType.getValueFields(); if (vFields != null) { valFields = new ArrayList<>(vFields.length); for (JdbcTypeField fld : vFields) valFields.add(new VisorCacheJdbcTypeField( fld.getDatabaseFieldName(), fld.getDatabaseFieldType(), fld.getDatabaseFieldName(), U.compact(fld.getJavaFieldType().getName()))); } }
JdbcTypeField[] keyFields = typeMeta.getKeyFields();
/** * Gets key columns. * * @return Key columns. */ protected JdbcTypeField[] keyColumns() { return typeMeta.getKeyFields(); }
/** * Prepare internal store specific builders for provided types metadata. * * @param cacheName Cache name to prepare builders for. * @param types Collection of types. * @throws CacheException If failed to prepare internal builders for types. */ @Override protected void prepareBuilders(@Nullable String cacheName, Collection<JdbcType> types) throws CacheException { Map<String, PojoPropertiesCache> pojoProps = U.newHashMap(types.size() * 2); for (JdbcType type : types) { String keyTypeName = type.getKeyType(); TypeKind keyKind = kindForName(keyTypeName); if (keyKind == TypeKind.POJO) { if (pojoProps.containsKey(keyTypeName)) throw new CacheException("Found duplicate key type [cache=" + U.maskName(cacheName) + ", keyType=" + keyTypeName + "]"); pojoProps.put(keyTypeName, new PojoPropertiesCache(keyTypeName, type.getKeyFields())); } String valTypeName = type.getValueType(); TypeKind valKind = kindForName(valTypeName); if (valKind == TypeKind.POJO) pojoProps.put(valTypeName, new PojoPropertiesCache(valTypeName, type.getValueFields())); } if (!pojoProps.isEmpty()) { Map<String, Map<String, PojoPropertiesCache>> newPojosProps = new HashMap<>(pojosProps); newPojosProps.put(cacheName, pojoProps); pojosProps = newPojosProps; } }
checkTypeConfiguration(cacheName, keyKind, keyType, type.getKeyFields());
/** * Copy constructor. * * @param type Type to copy. */ public JdbcType(JdbcType type) { cacheName = type.getCacheName(); dbSchema = type.getDatabaseSchema(); dbTbl = type.getDatabaseTable(); keyType = type.getKeyType(); keyFields = type.getKeyFields(); valType = type.getValueType(); valFlds = type.getValueFields(); }
/** * Create data transfer object for given cache type metadata. * * @param jdbcType JDBC type. */ public VisorCacheJdbcType(JdbcType jdbcType) { keyType = jdbcType.getKeyType(); valType = jdbcType.getValueType(); dbSchema = jdbcType.getDatabaseSchema(); dbTbl = jdbcType.getDatabaseTable(); JdbcTypeField[] kFields = jdbcType.getKeyFields(); if (kFields != null) { keyFields = new ArrayList<>(kFields.length); for (JdbcTypeField fld : kFields) keyFields.add(new VisorCacheJdbcTypeField( fld.getDatabaseFieldName(), fld.getDatabaseFieldType(), fld.getDatabaseFieldName(), U.compact(fld.getJavaFieldType().getName()))); } JdbcTypeField[] vFields = jdbcType.getValueFields(); if (vFields != null) { valFields = new ArrayList<>(vFields.length); for (JdbcTypeField fld : vFields) valFields.add(new VisorCacheJdbcTypeField( fld.getDatabaseFieldName(), fld.getDatabaseFieldType(), fld.getDatabaseFieldName(), U.compact(fld.getJavaFieldType().getName()))); } }
JdbcTypeField[] keyFields = typeMeta.getKeyFields();