Package commonj.sdo

Examples of commonj.sdo.ChangeSummary$Setting


   * @param quote
   */
  private void testDynamicNestedDOBody(DataObject quote) {
    // Begin logging changes
    //
    ChangeSummary changeSummary = quote.getChangeSummary();
    assertNotNull(changeSummary);
    assertFalse(changeSummary.isLogging());
    changeSummary.beginLogging();
   

    // Modify the data graph in various fun and interesting ways
    //
    quote.setString("symbol", "fbnt");
    quote.setString("companyName", "FlyByNightTechnology");
    quote.setBigDecimal("price", new BigDecimal("1000.0"));
    quote.setBigDecimal("open1", new BigDecimal("1000.0"));
    quote.setBigDecimal("high", new BigDecimal("1000.0"));
    quote.setBigDecimal("low", new BigDecimal("1000.0"));
    quote.setDouble("volume", 1000);
    quote.setDouble("change1", 1000);

    DataObject child = quote.createDataObject("quotes");
    child.setBigDecimal("price", new BigDecimal("2000.0"));

    changeSummary.endLogging();
    assertEquals(2, changeSummary.getChangedDataObjects().size())// 2 DataObjects
    assertTrue(changeSummary.getChangedDataObjects().contains(quote));
    assertTrue(changeSummary.getChangedDataObjects().contains(child));
    assertFalse(changeSummary.isCreated(quote));
    assertTrue(changeSummary.isCreated(child));
   
    ChangeSummary.Setting ov = changeSummary.getOldValue(quote, quote.getType().getProperty("symbol"));
    assertNull(ov.getValue());
   

  }
View Full Code Here


        else{
        statement.append(table.getTableName());
        }
        statement.append(" set ");

        ChangeSummary summary = changedObject.getDataGraph().getChangeSummary();
        HashSet changedFields = getChangedFields(mapping, summary, changedObject, tableWrapper);
        Iterator i = changedFields.iterator();
     
        int idx = 1;
        while (i.hasNext()) {
            Property property = (Property) i.next();
            Column c = tableWrapper.getColumnByPropertyName(property.getName());         
           
            if ((c == null) || !c.isCollision() || !c.isPrimaryKey()) {
                String columnName = c == null ? property.getName() : c.getColumnName();
                appendFieldSet(statement, idx > 1, columnName);
                parameters.add(createParameter(tableWrapper, property, idx++));
            }
        }
       
        Column c = tableWrapper.getManagedColumn();
        if (c != null) {
            appendFieldSet(statement, idx > 1, c.getColumnName());
            String propertyName = c.getPropertyName() == null ? c.getColumnName() : c.getPropertyName();
            parameters.add(createManagedParameter(tableWrapper,
                    changedObject.getInstanceProperty(propertyName), idx++));
        }
       
        statement.append(" where ");

        Iterator pkColumnNames = tableWrapper.getPrimaryKeyNames().iterator();
        Iterator pkPropertyNames = tableWrapper.getPrimaryKeyProperties().iterator();
        while (pkColumnNames.hasNext() && pkPropertyNames.hasNext()) {
            String columnName = (String) pkColumnNames.next();
            String propertyName = (String) pkPropertyNames.next();
            statement.append(columnName);
            statement.append(" = ?");
            if (pkColumnNames.hasNext() && pkPropertyNames.hasNext()) {
                statement.append(" and ");
            }
            parameters.add(createParameter(tableWrapper, type.getProperty(propertyName), idx++));
        }

        if (tableWrapper.getCollisionColumn() == null) {
            Iterator iter = changedFields.iterator();
            while (iter.hasNext()) {
                statement.append(" and ");
                Property changedProperty = (Property) iter.next();
                Column column = tableWrapper.getColumnByPropertyName(changedProperty.getName());
                statement.append(column == null ? changedProperty.getName() : column.getColumnName());
                                
                Object value;
                Setting setting = summary.getOldValue(changedObject, changedProperty);
                // Setting is null if this is a relationship change
                if (setting == null) {
                    value = changedObject.get(changedProperty);
                } else {
                    value = setting.getValue();
View Full Code Here

        DataGraph g = SDOUtil.createDataGraph();

        // Create the root object
        g.createRootObject(rootType);

        ChangeSummary summary = g.getChangeSummary();
        summary.beginLogging();

        return g.getRootObject();
    }
View Full Code Here

    }

    public DataObject merge(DataObject primary, DataObject secondary) {
        addGraphToRegistry(primary);

        ChangeSummary summary = primary.getDataGraph().getChangeSummary();
        summary.endLogging();
        Iterator i = secondary.getType().getProperties().iterator();

        while (i.hasNext()) {
            Property p = (Property) i.next();
View Full Code Here

        // Create the root object      
        g.createRootObject(gbmd.getRootType());

        SDOUtil.registerDataGraphTypes(g, gbmd.getDefinedTypes());
       
        ChangeSummary summary = g.getChangeSummary();

        ResultSetProcessor rsp = new ResultSetProcessor(g.getRootObject(), gbmd);
        rsp.processResults(getStartRow(), getEndRow());

        summary.beginLogging();

        return g.getRootObject();
    }
View Full Code Here

    public ChangeSummarizer() {
        // Empty Constructor
    }

    public Changes loadChanges(DataObject root) {
        ChangeSummary changeSummary = root.getDataGraph().getChangeSummary();
        if (changeSummary.isLogging()) {
            ((ChangeSummaryImpl) changeSummary).summarize();
        }

        List changedObjects = changeSummary.getChangedDataObjects();

        if (this.logger.isDebugEnabled()) {
            this.logger.debug("List of changed objects contains " + changedObjects.size() + " object(s)");
        }
View Full Code Here

            // If we are at the CS root - we do not clear the changeSummary
            if (isCSRoot) {
                clearCS = false;
            } else {
                if (aDataObject.getContainer() != null) {
                    ChangeSummary containerCS = aDataObject.getContainer().getChangeSummary();

                    // If there is no CS field set above this object then clear any ChangeSummary pointer at this level
                    if (containerCS == null) {
                        clearCS = true;
                    }
View Full Code Here

                sequence = new SDOSequence(this);
            }

            Property csmProperty = ((SDOType)type).getChangeSummaryProperty();
            if (csmProperty != null) {
                ChangeSummary aChangeSummary = new SDOChangeSummary(this, aHelperContext);
                aChangeSummary.endLogging();
                _setChangeSummary(aChangeSummary);
            }
        }
    }
View Full Code Here

            // If we are at the CS root - we do not clear the changeSummary
            if (isCSRoot) {
                clearCS = false;
            } else {
                if (aDataObject.getContainer() != null) {
                    ChangeSummary containerCS = aDataObject.getContainer().getChangeSummary();

                    // If there is no CS field set above this object then clear any ChangeSummary pointer at this level
                    if (containerCS == null) {
                        clearCS = true;
                    }
View Full Code Here

            // If we are at the CS root - we do not clear the changeSummary
            if (isCSRoot) {
                clearCS = false;
            } else {
                if (aDataObject.getContainer() != null) {
                    ChangeSummary containerCS = aDataObject.getContainer().getChangeSummary();

                    // If there is no CS field set above this object then clear any ChangeSummary pointer at this level
                    if (containerCS == null) {
                        clearCS = true;
                    }
View Full Code Here

TOP

Related Classes of commonj.sdo.ChangeSummary$Setting

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.