Package commonj.sdo

Examples of commonj.sdo.Property


    }
  }
 
  public static Object get(DataObject dataObject, String path)
  {
    Property property = dataObject.getType().getProperty(path);
    if (property != null) {
      return dataObject.get(property);
    } else {
      return Accessor.create((EObject)dataObject, path).getAndRecyle();
    }
View Full Code Here


        {
          FeatureMap.Entry entry = (FeatureMap.Entry)features.get(j);
          EStructuralFeature entryFeature = entry.getEStructuralFeature();
          if (openFeatureSet.add(entryFeature))
          {
            Property property = (Property)entryFeature;
            if (property.getName().equals(featureName)) return entryFeature;

            List aliasNames = property.getAliasNames();
            for (int aliasCount = aliasNames.size(); aliasCount > 0; )
            {
              if (aliasNames.get(--aliasCount).equals(featureName)) return entryFeature;
            }
          }
View Full Code Here

    }
  }

  public static Property getProperty(DataObject dataObject, String propertyName)
  {
    Property property = dataObject.getType().getProperty(propertyName);
    if (property == null)
    {
      property = (Property)DataObjectUtil.getOpenFeature((EObject)dataObject, propertyName);
      //throw new IllegalArgumentException("Type '" + dataObject.getType().getName() + "' does not have a property named '" + propertyName + "'");
    }
View Full Code Here

  public static Property getProperty(DataObject dataObject, int propertyIndex)
  {
    List typeProperties = dataObject.getType().getProperties();
   
    Property property = propertyIndex < typeProperties.size() ?
        (Property)typeProperties.get(propertyIndex) :
        (Property)dataObject.getInstanceProperties().get(propertyIndex);
   
    //FB maybe should catch bad index exception and throw IllegalArgumentException?
    return property;
View Full Code Here

          .iterator();
      while (names.hasNext()) {
        String tableName = (String) names.next();
 
        Type tableType = SDOUtil.createType(types, getURI(), tableName, false);                   
        Property property = SDOUtil.createProperty(rootType, tableName, tableType);
        SDOUtil.setMany(property,true);   
        SDOUtil.setContainment(property, true);
      }
   
      // TODO tablePropertyMap is temporary until Tuscany-203 is fixed
      HashMap tablePropertyMap = new HashMap();
     
      for (int i = 1; i <= resultMetadata.getColumnNames().size(); i++) {

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

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

          DebugUtil.debugln(getClass(), debug, "Adding column "
              + columnName + " to "
              + resultMetadata.getTablePropertyName(i))
        }

      }
    }

    if (metadata.hasMappingModel()) {
      MappingWrapper wrapper = new MappingWrapper(metadata.getMapping());
      Iterator i = metadata.getRelationships().iterator();
      while (i.hasNext()) {
        Relationship r = (Relationship) i.next();

        Type parent = rootType.getProperty(
            wrapper.getTablePropertyName(r.getPrimaryKeyTable())).getType();
        Type child = rootType.getProperty(
            wrapper.getTablePropertyName(r.getForeignKeyTable())).getType();
        if (parent == null) {
          throw new RuntimeException("The parent table ("
              + r.getPrimaryKeyTable() + ") in relationship "
              + r.getName()
              + " was not found in the mapping information.");
        } else if (child == null) {
          throw new RuntimeException("The child table ("
              + r.getForeignKeyTable() + ") in relationship "
              + r.getName()
              + " was not found in the mapping information.");
        }

      //  ReferenceImpl ref = refMaker.createReference(r, parent, child); 
       
        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

    DataObject copy = DataFactory.INSTANCE.create(original.getType());
   
    //Fill in values
    Iterator i = original.getType().getProperties().iterator();
    while (i.hasNext()) {
      Property feature = (Property) i.next();
      copy.set(feature, original.get(feature));
    }
    return copy;
 
View Full Code Here

   
    ChangeSummary summary = changedObject.getDataGraph().getChangeSummary();
    Iterator i = getChangedFields(mapping, summary, changedObject).iterator();

    while (i.hasNext()) {
      Property attr = (Property) i.next();
      Column c = t.getColumnByPropertyName(attr.getName());
      if ((c != null) && (c.isCollision() || c.isPrimaryKey())) {
        // get rid of comma if OCC or PK is last field
        if (!i.hasNext()) {
          statement
              .delete(statement.length() - 2, statement.length());
        }
      } else {
        parameters.add(attr);
        statement.append(c == null ? attr.getName() : c.getName());
        statement.append(" = ?");
        if (i.hasNext())
          statement.append(", ");
      }
    }

    statement.append(" where ");

    Iterator names = t.getPrimaryKeyNames().iterator();
    Iterator properties = t.getPrimaryKeyProperties().iterator();
    while (names.hasNext() && properties.hasNext()) {
      String name = (String) names.next();
      String property = (String) properties.next();
      statement.append(name);
      statement.append(" = ?");
      if (names.hasNext() && properties.hasNext())
        statement.append(" and ");
      parameters.add(type.getProperty(property));
    }

    if (t.getCollisionColumn() != null) {
      statement.append(" and ");
      statement.append(t.getCollisionColumn().getName());
      statement.append(" = ?");
      parameters.add(type.getProperty(t.getCollisionColumnPropertyName()));
    }

   
    UpdateCommandImpl updateCommand;
    if ( t.getCollisionColumn() != null )
      updateCommand = new OptimisticWriteCommandImpl(statement.toString());
    else
      updateCommand = new UpdateCommandImpl(statement.toString());
   
    Iterator params = parameters.iterator();
    for (int idx = 1; params.hasNext(); idx++ ) {
      Property p = (Property)params.next();
      Parameter param = new ParameterImpl();
      param.setName(p.getName());
      param.setType(p.getType());
      param.setConverter(getConverter(t, p.getName()));
      param.setIndex(idx);
      updateCommand.addParameter(param);
    }
    DebugUtil.debugln(getClass(), debug, statement.toString());
    return updateCommand;
View Full Code Here

  private List getAttributeProperties(DataObject obj) {
    ArrayList fields = new ArrayList();
    Iterator i = obj.getType().getProperties().iterator();
    while ( i.hasNext() ) {
      Property p = (Property) i.next();
      if ( p.getType().isDataType())
        fields.add(p);
    }
    return fields;
  }
View Full Code Here

    while (i.hasNext()) {
      ChangeSummary.Setting setting = (ChangeSummary.Setting) i.next();
      if (setting.getProperty().getType().isDataType()) {
        changes.add(setting.getProperty());
      } else  {
        Property ref = setting.getProperty();
        if ( !ref.isMany() ) {                       
          RelationshipWrapper r = new RelationshipWrapper(mapping.getRelationshipByReference(ref));
         
          Iterator keys = r.getForeignKeys().iterator();
          while ( keys.hasNext()) {
            String key = (String) keys.next();
            Property p = obj.getType().getProperty(key);
            changes.add(p);
          }
        }
         
      }
View Full Code Here

    ArrayList parameters = new ArrayList();
    ArrayList pkParams = new ArrayList();
   
    Iterator i = getAttributeProperties(changedObject).iterator();
    while (i.hasNext()) {
      Property attr = (Property) i.next();
      String field = attr.getName();

      Parameter p = getParameter(wrapper, type.getProperty(field));
      if (pkNames.contains(field)) {
        pkParams.add(p);
      } else {
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.