use of com.axelor.db.mapper.Mapper in project axelor-open-suite by axelor.
the class DataBackupRestoreService method importObjectWithByteArray.
public Object importObjectWithByteArray(Object bean, Map<String, Object> values) throws IOException {
assert bean instanceof Model;
final Path path = (Path) values.get("__path__");
Mapper mapper = Mapper.of(bean.getClass());
for (String fieldName : values.keySet()) {
if (fieldName.startsWith("byte_")) {
String fileName = (String) values.get(fieldName);
if (Strings.isNullOrEmpty((fileName))) {
return bean;
}
try {
final File image = path.resolve(fileName).toFile();
byte[] bytes = new byte[(int) image.length()];
bytes = java.nio.file.Files.readAllBytes(image.toPath());
mapper.set(bean, fieldName.substring(5), bytes);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return bean;
}
use of com.axelor.db.mapper.Mapper in project axelor-open-suite by axelor.
the class ObjectDataConfigExportManagementRepository method save.
@Override
public ObjectDataConfigExport save(ObjectDataConfigExport entity) {
try {
Class<? extends Model> klass = (Class<? extends Model>) Class.forName(entity.getModelSelect());
JpaRepository<? extends Model> repo = JpaRepository.of(klass);
Object obj = repo.all().filter("self.id = ?", entity.getModelSelectId()).fetchOne();
if (obj != null) {
Mapper mapper = Mapper.of(obj.getClass());
if (mapper.getNameField() != null && mapper.getNameField().get(obj) != null) {
entity.setRecordName(mapper.getNameField().get(obj).toString());
} else {
entity.setRecordName(mapper.get(obj, "id").toString());
}
}
} catch (ClassNotFoundException e) {
TraceBackService.trace(e);
}
return super.save(entity);
}
use of com.axelor.db.mapper.Mapper in project axelor-open-suite by axelor.
the class WkfCommonServiceImpl method addProperties.
@Override
public Model addProperties(Map<String, String> propertyMap, Model model, ModelElementInstance element) {
Mapper mapper = Mapper.of(EntityHelper.getEntityClass(model));
for (String property : propertyMap.keySet()) {
Object value = element.getAttributeValueNs(BpmnParser.CAMUNDA_BPMN_EXTENSIONS_NS, propertyMap.get(property));
if (value != null && value.equals("undefined")) {
value = null;
}
Property field = mapper.getProperty(property);
if (field.isReference()) {
try {
value = JpaRepository.of((Class<? extends Model>) field.getTarget()).all().filter("self.name = ?1", value).fetchOne();
} catch (Exception e) {
e.printStackTrace();
}
}
mapper.set(model, property, value);
}
return model;
}
use of com.axelor.db.mapper.Mapper in project axelor-open-suite by axelor.
the class ProductCompanyServiceImpl method get.
@Override
@CallMethod
public Object get(Product originalProduct, String fieldName, Company company) throws AxelorException {
Mapper mapper = Mapper.of(Product.class);
Product product = findAppropriateProductCompany(originalProduct, fieldName, company);
return mapper.get(product, fieldName);
}
use of com.axelor.db.mapper.Mapper in project axelor-open-suite by axelor.
the class ProductCompanyServiceImpl method set.
@Override
@CallMethod
public void set(Product originalProduct, String fieldName, Object fieldValue, Company company) throws AxelorException {
Mapper mapper = Mapper.of(Product.class);
Product product = findAppropriateProductCompany(originalProduct, fieldName, company);
mapper.set(product, fieldName, fieldValue);
}
Aggregations