public void fetchNonLoadedFields(ObjectProvider op) { op.replaceNonLoadedFields(acmd.getAllMemberPositions(), fm); } public FetchPlan getFetchPlanForLoading()
public void fetchFields(ObjectProvider op) { op.replaceFields(cmd.getAllMemberPositions(), fetchFM); } }, null, ignoreCache, false);
public void fetchNonLoadedFields(ObjectProvider op) { op.replaceNonLoadedFields(acmd.getAllMemberPositions(), fm); } public FetchPlan getFetchPlanForLoading()
public void fetchFields(ObjectProvider op) { op.replaceFields(acmd.getAllMemberPositions(), fm); } public void fetchNonLoadedFields(ObjectProvider op)
public void fetchFields(ObjectProvider op) { op.replaceFields(acmd.getAllMemberPositions(), fm); } public void fetchNonLoadedFields(ObjectProvider op)
public void fetchNonLoadedFields(ObjectProvider op) { op.replaceNonLoadedFields(cmd.getAllMemberPositions(), fetchFM); }
public static List<AbstractMemberMetaData> getAllMemberMetaData(AbstractClassMetaData cmd) { return getMemberMetaData(cmd.getAllMemberPositions(), cmd); }
public void fetchFields(ObjectProvider op) { op.replaceFields(acmd.getAllMemberPositions(), new FetchFieldManager(op, row, schemaTable)); } public void fetchNonLoadedFields(ObjectProvider op)
public void fetchNonLoadedFields(ObjectProvider op) { op.replaceNonLoadedFields(acmd.getAllMemberPositions(), new FetchFieldManager(op, row, schemaTable)); } public FetchPlan getFetchPlanForLoading()
public void fetchNonLoadedFields(ObjectProvider op) { op.replaceNonLoadedFields(cmd.getAllMemberPositions(), new FetchFieldManager(storeMgr, op, attrs)); }
@Override public void fetchNonLoadedFields(ObjectProvider sm) { try { sm.replaceNonLoadedFields(acmd.getAllMemberPositions(), new ForceFetchFieldManager(sm, storeManager, mconn, sobject, query)); } catch (Exception e) { throw new NucleusException(e.getMessage(), e); } }
@Override public void fetchNonLoadedFields(ObjectProvider sm) { try { sm.replaceNonLoadedFields(acmd.getAllMemberPositions(), new ForceFetchFieldManager(sm, storeManager, mconn, sobject, query)); } catch (Exception e) { throw new NucleusException(e.getMessage(), e); } }
private void updateEmbedded(Object value) { if (value == null) { // create an instance with empty fields, this will null-out all embedded fields // TODO Populate the owner object in this call ObjectProvider embeddedSM = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, effectiveClassMetaData, null, -1); int[] allMemberPositions = embeddedSM.getClassMetaData().getAllMemberPositions(); for (int i : allMemberPositions) { embeddedSM.makeDirty(i); } //get the dummy value value = embeddedSM.getObject(); } ObjectProvider embeddedSM = ec.findObjectProvider(value); boolean insert = false; if (embeddedSM == null) { embeddedSM = getEmbeddedObjectProvider(value); insert = true; } EmbeddedMetaData embeddedMetaData = mmd.getEmbeddedMetaData(); List<AbstractMemberMetaData> embeddedMmds = new ArrayList<AbstractMemberMetaData>(Arrays.asList(embeddedMetaData.getMemberMetaData())); updateMerge(embeddedSM, attributes, embeddedMmds, embeddedMetaData, insert); }
public JSONObject findObject(JSONObject id) { AbstractClassMetaData acmd = ec.getMetaDataManager().getMetaDataForClass(getType(id), ec.getClassLoaderResolver()); JsonAPIObjectProvider op = new JsonAPIObjectProvider(ec, acmd, id); ctx.getStoreManager().getPersistenceHandler().fetchObject(op, acmd.getAllMemberPositions()); return (JSONObject) op.getObject(); }
/** * Utility method to process the passed persistable object. * We know that this object has no ObjectProvider when it comes in here. * @param fieldNumber Absolute field number * @param pc The persistable object */ protected void processPersistable(int fieldNumber, Object pc) { ExecutionContext ec = op.getExecutionContext(); ObjectProvider theSM = null; // No ObjectProvider but object returned to us by NeoDatis so we know it is persistent // Connect a ObjectProvider in P_CLEAN state with all fields loaded AbstractClassMetaData acmd = ec.getMetaDataManager().getMetaDataForClass(pc.getClass(), ec.getClassLoaderResolver()); Object id = NeoDatisUtils.getIdentityForObject(pc, acmd, ec, odb); theSM = ec.getNucleusContext().getObjectProviderFactory().newForPersistentClean(ec, id, pc); // Recurse to all fields of this object since just assigned its ObjectProvider theSM.provideFields(theSM.getClassMetaData().getAllMemberPositions(), new AssignObjectProviderFieldManager(theSM, odb)); }
public void insertObject(ObjectProvider op) { // Check if read-only so update not permitted assertReadOnlyForUpdateOfObject(op); AbstractClassMetaData cmd = op.getClassMetaData(); if (!storeMgr.managesClass(cmd.getFullClassName())) { // Make sure schema exists, using this connection storeMgr.manageClasses(op.getExecutionContext().getClassLoaderResolver(), new String[] {cmd.getFullClassName()}); } Table table = storeMgr.getStoreDataForClass(cmd.getFullClassName()).getTable(); Map<String,String> options = new HashMap<String,String>(); options.put(ConnectionFactoryImpl.STORE_JSON_URL, "/"); ManagedConnection mconn = storeMgr.getConnectionManager().getConnection(op.getExecutionContext(), options); URLConnection conn = (URLConnection) mconn.getConnection(); createBucket(conn, getHeaderForBucket()); options.put(ConnectionFactoryImpl.STORE_JSON_URL, getURLPath(op)); options.put("Content-Type", "application/json"); mconn = storeMgr.getConnectionManager().getConnection(op.getExecutionContext(), options); conn = (URLConnection) mconn.getConnection(); JSONObject jsonobj = new JSONObject(); op.provideFields(op.getClassMetaData().getAllMemberPositions(), new StoreFieldManager(op, jsonobj, true, table)); write("PUT", conn.getURL().getPath(), conn, jsonobj.toString(), getHeaders("PUT",options)); }
private void populateFieldNames(AbstractClassMetaData acmd, OMFContext omf) throws ConnectionException { ForceStoreManager storeManager = (ForceStoreManager) omfContext.getStoreManager(); // Grab transactional connection factory TableImpl table = storeManager.getTable(acmd); // now that we've stored all the Salesforce fields, find the {@code @Entity} definition and register the // Java field name on the ColumnImpl. We'll need this info later int[] fieldNumbers = acmd.getAllMemberPositions(); if (fieldNumbers != null && fieldNumbers.length > 0) { for (int column : fieldNumbers) { addColumn(table, acmd.getMetaDataForManagedMemberAtAbsolutePosition(column), omf); } } DiscriminatorMetaData dmd = acmd.getDiscriminatorMetaData(); if (dmd != null && dmd.getColumnName() != null) { ColumnImpl col = table.getColumnByForceApiName(dmd.getColumnName()); if (col != null) { String javaFieldName = dmd.getColumnName(); table.registerJavaColumn(javaFieldName, col); } } }
private void populateFieldNames(AbstractClassMetaData acmd, OMFContext omf) throws ConnectionException { ForceStoreManager storeManager = (ForceStoreManager) omfContext.getStoreManager(); // Grab transactional connection factory TableImpl table = storeManager.getTable(acmd); // now that we've stored all the Salesforce fields, find the {@code @Entity} definition and register the // Java field name on the ColumnImpl. We'll need this info later int[] fieldNumbers = acmd.getAllMemberPositions(); if (fieldNumbers != null && fieldNumbers.length > 0) { for (int column : fieldNumbers) { addColumn(table, acmd.getMetaDataForManagedMemberAtAbsolutePosition(column), omf); } } DiscriminatorMetaData dmd = acmd.getDiscriminatorMetaData(); if (dmd != null && dmd.getColumnName() != null) { ColumnImpl col = table.getColumnByForceApiName(dmd.getColumnName()); if (col != null) { String javaFieldName = dmd.getColumnName(); table.registerJavaColumn(javaFieldName, col); } } }
public Object fetchObjectField(int fieldNumber) { ClassLoaderResolver clr = ec.getClassLoaderResolver(); AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber); RelationType relationType = mmd.getRelationType(clr); // Special cases if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null)) { // Embedded field if (RelationType.isRelationSingleValued(relationType)) { // TODO Null detection List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>(); embMmds.add(mmd); AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr); ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber); FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, sheet, rowNumber, embMmds, table); embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM); return embOP.getObject(); } else if (RelationType.isRelationMultiValued(relationType)) { throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with Excel"); } } return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType); }
@Override public Object fetchObjectField(int fieldNumber) { ClassLoaderResolver clr = ec.getClassLoaderResolver(); AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber); RelationType relationType = mmd.getRelationType(clr); // Special cases if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null)) { // Embedded field if (RelationType.isRelationSingleValued(relationType)) { // TODO Null detection List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>(); embMmds.add(mmd); AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr); ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber); FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, row, embMmds, table); embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM); return embOP.getObject(); } else if (RelationType.isRelationMultiValued(relationType)) { throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with ODF"); } } return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType); }