Examples of EmbeddableType


Examples of com.caucho.amber.type.EmbeddableType

   * Creates a field-based schema.
   */
  public SchemaExpr createField(QueryParser parser, String name)
    throws QueryParseException
  {
    EmbeddableType type = _expr.getTargetType();

    AmberField field = type.getField(name);

    if (field == null)
      throw parser.error(L.l("{0}: '{1}' is an unknown field.",
                             type.getBeanClass().getName(),
                             name));

    AmberExpr fieldExpr = _expr.createField(parser, name);

    if (fieldExpr instanceof EmbeddedExpr)
      return new EmbeddedSchemaExpr((EmbeddedExpr) fieldExpr, name);

    throw parser.error(L.l("{0}: '{1}' must be a collection or one-to-one relationship.",
                           type.getBeanClass().getName(),
                           name));
  }
View Full Code Here

Examples of com.caucho.amber.type.EmbeddableType

    Annotation embeddableAnn = _annotationCfg.getAnnotation();
    EmbeddableConfig embeddableConfig = _annotationCfg.getEmbeddableConfig();

    String typeName = type.getName();

    EmbeddableType embeddableType = _embeddableMap.get(typeName);

    if (embeddableType != null)
      return embeddableType;

    try {
      embeddableType = _persistenceUnit.createEmbeddable(typeName, type);
      _embeddableMap.put(typeName, embeddableType);

      boolean isField = isField(type, embeddableConfig);

      if (isField)
        embeddableType.setFieldAccess(true);

      // XXX: jpa/0u21
      Annotation ann = type.getAnnotation(javax.persistence.Embeddable.class);

      if (ann == null) {
        isField = true;
        embeddableType.setIdClass(true);
        _persistenceUnit.getAmberContainer().addEmbeddable(typeName,
                                                           embeddableType);
      }

      embeddableType.setInstanceClassName(type.getName() +
                                          "__ResinExt");
      embeddableType.setEnhanced(true);

      if (isField)
        introspectFields(_persistenceUnit, embeddableType, null,
                         type, embeddableConfig, true);
      else
        introspectMethods(_persistenceUnit, embeddableType, null,
                          type, embeddableConfig);

    } catch (ConfigException e) {
      if (embeddableType != null)
        embeddableType.setConfigException(e);

      throw e;
    } catch (RuntimeException e) {
      if (embeddableType != null)
        embeddableType.setConfigException(e);

      throw e;
    }

    return embeddableType;
View Full Code Here

Examples of com.caucho.amber.type.EmbeddableType

        out.print(key.getJavaTypeName() + " a" + i);
      }
    }
    else {
      EmbeddableType embeddable = (EmbeddableType) getEmbeddedIdField().getType();

      ArrayList<AmberField> fields = embeddable.getFields();
      for (int i = 0; i < fields.size(); i++) {
        if (i != 0)
          out.print(", ");

        AmberField field = fields.get(i);

        out.print(field.getJavaTypeName() + " a" + i);
      }
    }

    out.println(")");
    out.println("{");
    out.pushDepth();

    out.println();
    out.println(getForeignTypeName() + " key = new " + getForeignTypeName() + "();");

    if (getOwnerType().getPersistenceUnit().isJPA() && ! isEmbeddedId()) {
      String args = "";

      ArrayList<IdField> keys = getKeys();

      for (int i = 0; i < keys.size(); i++) {
        KeyPropertyField key = (KeyPropertyField) keys.get(i);

        String name = key.getName();

        char ch = Character.toUpperCase(name.charAt(0));
        if (name.length() == 1)
          name = "get" + ch;
        else
          name = "get" + ch + key.getName().substring(1);

        Method method = BeanType.getGetter(_tKeyClass, name);

        if (key.isKeyField() || (method != null)) {
          out.println(key.generateSetKeyProperty("key", "a" + i) + ";");
        }
        else {
          // Arg. constructor jpa/0u21
          if (i != 0)
            args += ", ";

          args += " a" + i;

          out.println("if (a" + i + " == null)");
          out.println("  return new " + getForeignTypeName() + "();");

          if (i + 1 == keys.size())
            out.print("key = new " + getForeignTypeName() + "(" + args + ");");
        }
      }

    }
    else {
      ArrayList fields;

      if (getEmbeddedIdField() == null) {
        // ejb/06x2
        fields = getKeys();
      }
      else {
        EmbeddableType embeddable
          = (EmbeddableType) getEmbeddedIdField().getType();

        fields = embeddable.getFields();
      }

      for (int i = 0; i < fields.size(); i++) {
        AmberField field = (AmberField) fields.get(i);
View Full Code Here

Examples of com.caucho.amber.type.EmbeddableType

    // ejb/06ie
    if (persistenceUnit.isJPA() && ! isEmbeddedId()) {

      // jpa/0u21

      EmbeddableType embeddable
        = persistenceUnit.getEmbeddable(_tKeyClass.getName());

      // jpa/0u21 ArrayList<IdField> keys = getKeys();
      ArrayList<AmberField> keys = embeddable.getFields();

      for (int i = 0; i < keys.size(); i++) {
        PropertyField key = (PropertyField) keys.get(i);

        String getter = "__caucho_get_field(" + i + ")";
View Full Code Here

Examples of javax.persistence.metamodel.EmbeddableType

        EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata,
                SingularEntityEmbeddable.class);
        MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                entityMetadata.getPersistenceUnit());

        EmbeddableType embeddableType = metaModel.embeddable(EmbeddableEntity.class);

        Map<String, Field> embeddableMap = MetadataUtils.createColumnsFieldMap(entityMetadata, embeddableType);
        Assert.assertNotNull(embeddableMap);
        Assert.assertEquals(1, embeddableMap.size());
View Full Code Here

Examples of javax.persistence.metamodel.EmbeddableType

        // Populate id attribute.
        SingularAttribute idAttribute = m.getIdAttribute();
        if (metaModel.isEmbeddable(idAttribute.getBindableJavaType()))
        {
            Field field = (Field) idAttribute.getJavaMember();
            EmbeddableType embeddableType = metaModel.embeddable(idAttribute.getBindableJavaType());
            String _id = get_Id(field, PropertyAccessorHelper.getObject(entity, field), embeddableType,
                    m.getTableName());
            jsonObject.addProperty("_id", _id);
            Object embeddedObject = PropertyAccessorHelper.getObject(entity, (Field) idAttribute.getJavaMember());
            Set<Attribute> embeddableAttributes = embeddableType.getAttributes();

            jsonObject.add(((AbstractAttribute) idAttribute).getJPAColumnName(),
                    getJsonObject(field.getType().getDeclaredFields(), embeddableType, embeddedObject));
        }
        else
View Full Code Here

Examples of javax.persistence.metamodel.EmbeddableType

*/
public class MongoDBUtils
{
    public static void populateCompoundKey(DBObject dbObj, EntityMetadata m, MetamodelImpl metaModel, Object id)
    {
        EmbeddableType compoundKey = metaModel.embeddable(m.getIdAttribute().getBindableJavaType());
        // Iterator<Attribute> iter = compoundKey.getAttributes().iterator();
        BasicDBObject compoundKeyObj = new BasicDBObject();

        compoundKeyObj = getCompoundKeyColumns(m, id, compoundKey);

View Full Code Here

Examples of javax.persistence.metamodel.EmbeddableType

                String columnName = ((FilterClause) clause).getProperty();

                int indexOfDot = columnName.indexOf(".");
                if (indexOfDot >= 0)
                {
                    EmbeddableType embeddableType = metaModel.embeddable(m.getIdAttribute().getBindableJavaType());
                    String embeddedeFieldName = columnName.substring(0, indexOfDot);
                    if (embeddedeFieldName.equals(((AbstractAttribute) m.getIdAttribute()).getName()))
                    {
                        interpreter.setQueryOnCompositeKey(true);
                        interpreter.setKeyName(embeddedeFieldName);
                        String colName = columnName.substring(indexOfDot + 1);
                        Attribute attribute = embeddableType.getAttribute(colName);
                        interpreter.setIdQuery(true);
                        interpreter.setKeyValues(
                                colName,
                                PropertyAccessorHelper.fromSourceToTargetClass(attribute.getJavaType(),
                                        value.getClass(), value));
View Full Code Here

Examples of javax.persistence.metamodel.EmbeddableType

    }

    private void readEmbeddable(Object key, List<String> columnsToSelect, EntityMetadata entityMetadata,
            MetamodelImpl metamodel, Table schemaTable, RecordValue value, Attribute attribute)
    {
        EmbeddableType embeddableId = metamodel.embeddable(((AbstractAttribute) attribute).getBindableJavaType());
        Set<Attribute> embeddedAttributes = embeddableId.getAttributes();

        for (Attribute embeddedAttrib : embeddedAttributes)
        {
            String columnName = ((AbstractAttribute) embeddedAttrib).getJPAColumnName();
            Object embeddedColumn = PropertyAccessorHelper.getObject(key, (Field) embeddedAttrib.getJavaMember());
View Full Code Here

Examples of javax.persistence.metamodel.EmbeddableType

        PrimaryKey key = schemaTable.createPrimaryKey();

        if (metamodel.isEmbeddable(entityMetadata.getIdAttribute().getBindableJavaType()))
        {
            EmbeddableType embeddableId = metamodel.embeddable(entityMetadata.getIdAttribute().getBindableJavaType());
            Set<Attribute> embeddedAttributes = embeddableId.getAttributes();

            for (Attribute embeddedAttrib : embeddedAttributes)
            {
                String columnName = ((AbstractAttribute) embeddedAttrib).getJPAColumnName();
                Object embeddedColumn = PropertyAccessorHelper.getObject(pKey, (Field) embeddedAttrib.getJavaMember());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.