Package commonj.sdo

Examples of commonj.sdo.Property


    public Property getParentReference(String parentName) {
        if (this.parentReference == null) {

            Iterator i = dataObject.getType().getProperties().iterator();
            while (i.hasNext()) {
                Property ref = (Property) i.next();
                if ((!ref.getType().isDataType()) && (ref.getType().getName().equals(parentName))) {
                    this.parentReference = ref;
                }
            }
        }
        return this.parentReference;
View Full Code Here


        while (i.hasNext()) {
            System.out.println();
            DataObject obj = (DataObject) i.next();
            Iterator props = obj.getType().getProperties().iterator();
            while (props.hasNext()) {
                Property p = (Property) props.next();
                if (p.isMany()) {
                    System.out.print("[ " + p.getName() + " ] ");
                    Iterator children = obj.getList(p).iterator();
                    while (children.hasNext()) {
                        DataObject child = (DataObject) children.next();
                        System.out.print("[ " + child.get("ID") + " ]");
                    }
                    System.out.println();
                } else if (!p.getType().isDataType()) {
                    DataObject child = obj.getDataObject(p);
                    if (child != null) {
                        System.out.println("[ " + p.getName() + " ] " + "[ " + child.get("ID") + " ]");
                    }
                } else {
                    System.out.println("[ " + p.getName() + " ] " + obj.get(p));
                }
            }
        }
    }
View Full Code Here

        }

        Iterator i = types.iterator();
        while (i.hasNext()) {
            Type type = (Type) i.next();
            Property property = SDOUtil.createProperty(rootType, type.getName(), type);
            SDOUtil.setContainment(property, true);
            SDOUtil.setMany(property, true);
        }

        // Create the DataGraph
View Full Code Here

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

        while (i.hasNext()) {
            Property p = (Property) i.next();

            Iterator objects = secondary.getList(p.getName()).iterator();
            while (objects.hasNext()) {
                DataObject object = (DataObject) objects.next();
                createObjectWithSubtree(primary, p, object);
            }
        }
View Full Code Here

        if (!registry.contains(object.getType().getName(), Collections.singletonList(pk))) {
            DataObject newObject = root.createDataObject(p.getName());
            Iterator attrs = object.getType().getProperties().iterator();
            while (attrs.hasNext()) {
                Property attr = (Property) attrs.next();
                if (attr.getType().isDataType()) {
                    newObject.set(attr.getName(), object.get(attr));
                }
            }
            registry.put(object.getType().getName(), Collections.singletonList(pk), newObject);
            Iterator refs = object.getType().getProperties().iterator();
            while (refs.hasNext()) {
                Property ref = (Property) refs.next();
                if (!ref.getType().isDataType()) {
                    List refObjects;
                    if (!ref.isMany()) {
                        refObjects = Collections.singletonList(object.get(ref));
                    } else {
                        refObjects = (List) object.get(ref);
                    }
                    Iterator iter = refObjects.iterator();
                    while (iter.hasNext()) {
                        DataObject refObject = (DataObject) iter.next();
                        createObjectWithSubtree(root, refObject.getContainmentProperty(), refObject);
                        refObject = registry.get(refObject.getType().getName(),
                                Collections.singletonList(getPrimaryKey(refObject)));
                        if (ref.isMany()) {
                            newObject.getList(newObject.getType().getProperty(ref.getName())).add(refObject);
                        } else {
                            newObject.set(newObject.getType().getProperty(ref.getName()), refObject);
                        }
                    }
                }
            }
        }
View Full Code Here

    }

    private void addGraphToRegistry(DataObject graph1) {
        Iterator i = graph1.getType().getProperties().iterator();
        while (i.hasNext()) {
            Property p = (Property) i.next();
            Iterator objects = graph1.getList(p).iterator();
            while (objects.hasNext()) {
                DataObject object = (DataObject) objects.next();
                Object pk = object.get(getPrimaryKeyName(object));
                logger.finest("Adding object with pk " + pk + " to registry");
View Full Code Here

            }
            if ((parentTable == null) || (childTable == null)) {
                continue;
            }

            Property p = parentTable.getType().getProperty(r.getName());
            setOrAdd(parentTable, childTable, p);

        }
    }
View Full Code Here

                if (parentTable == null) {
                    continue;
                }

                Property p = parentTable.getType().getProperty(r.getName());
                setOrAdd(parentTable, table, p);
            }

        }
    }
View Full Code Here

        Iterator keyPairs = r.getKeyPair().iterator();
        while (keyPairs.hasNext()) {
            KeyPair pair = (KeyPair) keyPairs.next();
            String childProperty = wrapper.getColumnPropertyName(r.getPrimaryKeyTable(), pair.getForeignKeyColumn());

            Property p = childTable.getType().getProperty(childProperty);
            fkValue.add(childTable.get(p));
        }

        if (this.logger.isDebugEnabled()) {
            this.logger.debug("Trying to find parent of " + r.getForeignKeyTable() + " with FK " + fkValue);
View Full Code Here

            while (names.hasNext()) {
                String tableName = (String) names.next();

                if (root.getProperty(tableName) == null) {
                    Type tableType = SDOUtil.createType(typeHelper, getDefaultURI(), tableName, false);
                    Property property = SDOUtil.createProperty(root, tableName, tableType);
                    SDOUtil.setMany(property, true);
                    SDOUtil.setContainment(property, true);
                }
            }

            // TODO tablePropertyMap is temporary until Tuscany-203 is fixed
            Map tablePropertyMap = new HashMap();

            for (int i = 1; i <= resultMetadata.getResultSetSize(); i++) {

                Property ref = root.getProperty(resultMetadata.getTablePropertyName(i));

                if (ref == null) {
                    throw new RuntimeException("Could not find table " + resultMetadata.getTablePropertyName(i)
                            + " in the SDO model");
                }
               
                // TODO Temporary code to check to see if a property has already been added.
                // Replace when Tuscany-203 is fixed
                List addedProperties = (List) tablePropertyMap.get(ref.getName());
                if (addedProperties == null) {
                    addedProperties = new ArrayList();
                    tablePropertyMap.put(ref.getName(), addedProperties);
                }


                String columnName = resultMetadata.getColumnPropertyName(i);

                // TODO temporary check until Tuscany-203 is fixed
                if (!addedProperties.contains(columnName)) {
                    addedProperties.add(columnName);
                    Type atype = resultMetadata.getDataType(i);

                    SDOUtil.createProperty(ref.getType(), columnName, atype);

                }

            }
        }

        MappingWrapper wrapper = getConfigWrapper();
        Iterator i = getRelationships().iterator();
        while (i.hasNext()) {
            Relationship r = (Relationship) i.next();

            String parentName = wrapper.getTableTypeName(r.getPrimaryKeyTable());
            String childName = wrapper.getTableTypeName(r.getForeignKeyTable());

            if (parentName == null) {
                throw new RuntimeException("The parent table (" + r.getPrimaryKeyTable()
                        + ") in relationship " + r.getName()
                        + " was not found in the mapping information.");
            } else if (childName == null) {
                throw new RuntimeException("The child table (" + r.getForeignKeyTable()
                        + ") in relationship " + r.getName()
                        + " was not found in the mapping information.");
            }

            Property parentProperty = root.getProperty(parentName);
            Property childProperty = root.getProperty(childName);

            if (parentProperty == null) {
                throw new RuntimeException("The parent table (" + parentName + ") in relationship "
                        + r.getName() + " was not found.");
            } else if (childProperty == null) {
                throw new RuntimeException("The child table (" + childName + ") in relationship "
                        + r.getName() + " was not found.");
            }

            Type parent = parentProperty.getType();
            Type child = childProperty.getType();

            Property parentProp = SDOUtil.createProperty(parent, r.getName(), child);
            Property childProp = SDOUtil.createProperty(child, r.getName() + "_opposite", parent);
            SDOUtil.setOpposite(parentProp, childProp);
            SDOUtil.setOpposite(childProp, parentProp);
            SDOUtil.setMany(parentProp, r.isMany());
        }
View Full Code Here

TOP

Related Classes of commonj.sdo.Property

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.