@Init private void init() { this.createExtension = new ModelCreateExtension(createHandler, createInterceptors); this.updateExtension = new ModelUpdateExtension(updateHandler, updateInterceptors, replaceInterceptors); this.queryExtension = new ModelQueryExtension(queryHandler, queryInterceptors); this.deleteExtension = new ModelDeleteExtension(deleteHandler, deleteInterceptors); this.relationQueryExtension = new RelationQueryExtension(relationQueryInterceptors); }
@Override public UpdateOneResult partialUpdateOne(Object id, Map<String, Object> properties) { ModelExecutionContext context = new DefaultModelExecutionContext(this.context); ex.processUpdateProperties(context, id, properties); if(null != ex.handler) { ex.handler.processUpdateProperties(context, id, properties); } int affected; if(!em.isRemoteRest()) { affected = doUpdate(context, id, properties, true); }else { RestResource restResource = restResourceFactory.createResource(dao.getOrmContext(), em); if(restResource.update(id, properties)) { affected = 1; }else { affected = 0; } } Object entity = ex.postUpdateProperties(context, id, affected); return new UpdateOneResult(affected, entity); }
if(ex.handleUpdatePropertyNotFound(context, name, entry.getValue(), removes)) { continue; if(ex.handleReplacePropertyNotFound(context, name, entry.getValue(), removes)) { continue; if(ex.handleUpdatePropertyReadonly(context, name, entry.getValue(), removes)) { continue; if(ex.handleReplacePropertyReadonly(context, name, entry.getValue(), removes)) { continue;
ex.processReplaceRecord(context, id, record); if(null != ex.handler) { ex.handler.processReplaceRecord(context, id, record); if(!ex.processReplaceNONEProperties(context, id, record, removes)) { for(FieldMapping fm : em.getFieldMappings()) { if(!fm.isUpdate()) { Object entity = ex.postReplaceRecord(context, id, affected);