/** */ @NotNull private CacheConfiguration<Integer, Salary> cacheCfg(String tabName, String cacheName) { CacheConfiguration<Integer, Salary> ccfg = new CacheConfiguration<>(cacheName); QueryEntity queryEntity = new QueryEntity(Integer.class.getName(), Salary.class.getName()); queryEntity.setTableName(tabName); queryEntity.addQueryField("id", Integer.class.getName(), null); queryEntity.addQueryField("amount", BigDecimal.class.getName(), null); Map<String, Integer> precision = new HashMap<>(); Map<String, Integer> scale = new HashMap<>(); precision.put("amount",PRECISION); scale.put("amount", SCALE); queryEntity.setFieldsPrecision(precision); queryEntity.setFieldsScale(scale); ccfg.setQueryEntities(Collections.singletonList(queryEntity)); return ccfg; }
/** @throws Exception If failed.*/ private void createCachesForDecimalPrecisionTests() throws Exception { Map<String, Integer> decDecPrecision = new HashMap<>(); decDecPrecision.put(KEY_FIELD_NAME, 4); decDecPrecision.put(VAL_FIELD_NAME, 4); jcache(grid(0), cacheConfiguration(new QueryEntity(BigDecimal.class.getName(), BigDecimal.class.getName()) .setFieldsPrecision(decDecPrecision)), DEC_CACHE_NAME_FOR_PREC); Map<String, Integer> orgEmployeePrecision = new HashMap<>(); orgEmployeePrecision.put("id", 4); orgEmployeePrecision.put("salary", 4); jcache(grid(0), cacheConfiguration(new QueryEntity(DecOrganization.class.getName(), Employee.class.getName()) .setKeyFields(Collections.singleton("id")) .addQueryField("id", "java.math.BigDecimal", "id") .addQueryField("salary", "java.math.BigDecimal", "salary") .setFieldsPrecision(orgEmployeePrecision)), OBJ_CACHE_NAME_FOR_PREC); Map<String, Integer> decEmployeePrecision = new HashMap<>(); decEmployeePrecision.put(KEY_FIELD_NAME, 4); decEmployeePrecision.put("salary", 4); jcache(grid(0), cacheConfiguration(new QueryEntity(BigDecimal.class.getName(), Employee.class.getName()) .addQueryField("salary", "java.math.BigDecimal", "salary") .setFieldsPrecision(decEmployeePrecision)), DEC_EMPL_CACHE_NAME_FOR_PREC); }
res.setFieldsPrecision(fieldsPrecision);
/** @throws Exception If failed.*/ private void createCachesForStringTests() throws Exception { Map<String, Integer> strStrPrecision = new HashMap<>(); strStrPrecision.put(KEY_FIELD_NAME, 5); strStrPrecision.put(VAL_FIELD_NAME, 5); jcache(grid(0), cacheConfiguration(new QueryEntity(String.class.getName(), String.class.getName()) .setFieldsPrecision(strStrPrecision)), STR_CACHE_NAME); Map<String, Integer> orgAddressPrecision = new HashMap<>(); orgAddressPrecision.put("name", 5); orgAddressPrecision.put("address", 5); jcache(grid(0), cacheConfiguration(new QueryEntity(Organization.class.getName(), Address.class.getName()) .setKeyFields(Collections.singleton("name")) .addQueryField("name", "java.lang.String", "name") .addQueryField("address", "java.lang.String", "address") .setFieldsPrecision(orgAddressPrecision)), OBJ_CACHE_NAME); Map<String, Integer> strOrgPrecision = new HashMap<>(); strOrgPrecision.put(KEY_FIELD_NAME, 5); jcache(grid(0), cacheConfiguration(new QueryEntity(String.class.getName(), Organization.class.getName()) .setFieldsPrecision(strOrgPrecision)), STR_ORG_CACHE_NAME); jcache(grid(0), cacheConfiguration(new QueryEntity(String.class.getName(), Organization.class.getName()) .addQueryField("name", "java.lang.String", "name") .addQueryField("address", "java.lang.String", "address") .setFieldsPrecision(strOrgPrecision)), STR_ORG_WITH_FIELDS_CACHE_NAME); }
.setFieldsPrecision(decDecPrecision)), DEC_CACHE_NAME_FOR_SCALE); .addQueryField("salary", "java.math.BigDecimal", "salary") .setFieldsScale(orgEmployeeScale) .setFieldsPrecision(orgEmployeePrecision)), OBJ_CACHE_NAME_FOR_SCALE); .setFieldsPrecision(decEmployeePrecision) .setFieldsScale(decEmployeeScale)), DEC_EMPL_CACHE_NAME_FOR_SCALE);
res.setFieldsPrecision(precision);
entity.setFieldsPrecision(desc.fieldsPrecision());
.addQueryField("id", Integer.class.getName(), null) .addQueryField("name", String.class.getName(), null) .setFieldsPrecision(orgPrecision) .setIndexes(Arrays.asList( new QueryIndex("id"),
.collect(Collectors.toMap(QueryField::getName, QueryField::getDefaultValue)) .setFieldsPrecision(qryFields.stream() .filter(f -> f.getPrecision() != -1) .collect(Collectors.toMap(QueryField::getName, QueryField::getPrecision))
normalEntity.setNotNullFields(entity.getNotNullFields()); normalEntity.setDefaultFieldValues(entity.getDefaultFieldValues()); normalEntity.setFieldsPrecision(entity.getFieldsPrecision()); normalEntity.setFieldsScale(entity.getFieldsScale());
.setValueType("TestType") .addQueryField("strField", "java.lang.String", "strField") .setFieldsPrecision(ImmutableMap.of("strField", 999));
.addQueryField("my_key", "java.lang.String", "my_key") .addQueryField("strField", "java.lang.String", "strField") .setFieldsPrecision(ImmutableMap.of("strField", 999, "my_key", 777));
res.setFieldsPrecision(fieldsPrecision);
res.setFieldsPrecision(precision);
entity.setFieldsPrecision(desc.fieldsPrecision());
.collect(Collectors.toMap(QueryField::getName, QueryField::getDefaultValue)) .setFieldsPrecision(qryFields.stream() .filter(f -> f.getPrecision() != -1) .collect(Collectors.toMap(QueryField::getName, QueryField::getPrecision))
normalEntity.setNotNullFields(entity.getNotNullFields()); normalEntity.setDefaultFieldValues(entity.getDefaultFieldValues()); normalEntity.setFieldsPrecision(entity.getFieldsPrecision()); normalEntity.setFieldsScale(entity.getFieldsScale());