Package org.apache.gora.persistency

Examples of org.apache.gora.persistency.Persistent


              put(i, new ListGenericArray(fields.get(i).schema()));
            }
          }
          break;
        case RECORD :
          Persistent field = ((Persistent)get(i));
          if(field != null) field.clear();
          break;
        case BOOLEAN: put(i, false); break;
        case INT    : put(i, 0); break;
        case DOUBLE : put(i, 0d); break;
        case FLOAT  : put(i, 0f); break;
View Full Code Here


      return old;
    } else return new ListGenericArray(size, schema);
  }
 
  public Persistent clone(Persistent persistent, Schema schema) {
    Persistent cloned = (PersistentBase)persistent.newInstance(new StateManagerImpl());
    List<Field> fields = schema.getFields();
    for(Field field: fields) {
      int pos = field.pos();
      switch(field.schema().getType()) {
        case MAP    :
View Full Code Here

    Class<?> clazz = null;
    try {
      clazz = ClassLoadingUtils.loadClass(fieldSchema.getFullName());
    } catch (ClassNotFoundException e) {
    }
    Persistent record = new BeanFactoryImpl(keyClass, clazz).newPersistent();
    for (Field recField : fieldSchema.getFields()) {
      Schema innerSchema = recField.schema();
      DocumentFieldType innerStoreType = mapping
          .getDocumentFieldType(innerSchema.getName());
      String innerDocField = mapping.getDocumentField(recField.name()) != null ? mapping
          .getDocumentField(recField.name()) : recField.name();
      String fieldPath = docf + "." + innerDocField;
      LOG.debug(
          "Load from DBObject (RECORD), field:{}, schemaType:{}, docField:{}, storeType:{}",
          new Object[] { recField.name(), innerSchema.getType(), fieldPath,
              innerStoreType });
      record.put(
          recField.pos(),
          fromDBObject(innerSchema, innerStoreType, recField, innerDocField,
              innerBson));
    }
    result = record;
View Full Code Here

   * @return
   */
  private Object getFieldValue(Schema fieldSchema, Type type, Object fieldValue ){
    switch(type) {
    case RECORD:
      Persistent persistent = (Persistent) fieldValue;
      Persistent newRecord = (Persistent) SpecificData.get().newRecord(persistent, persistent.getSchema());
      for (Field member: fieldSchema.getFields()) {
        if (member.pos() == 0 || !persistent.isDirty()) {
          continue;
        }
        Schema memberSchema = member.schema();
        Type memberType = memberSchema.getType();
        Object memberValue = persistent.get(member.pos());
        newRecord.put(member.pos(), getFieldValue(memberSchema, memberType, memberValue));
      }
      fieldValue = newRecord;
      break;
    case MAP:
      Map<?, ?> map = (Map<?, ?>) fieldValue;
View Full Code Here

  private PersistentDatumReader<WebPage> webPageDatumReader
    = new PersistentDatumReader<WebPage>();
 
  private void testClone(Persistent persistent) throws IOException {
    Persistent cloned = webPageDatumReader.clone(persistent, persistent.getSchema());
    assertClone(persistent, cloned);
  }
View Full Code Here

      return old;
    } else return new ListGenericArray(size, schema);
  }
 
  public Persistent clone(Persistent persistent, Schema schema) {
    Persistent cloned = persistent.newInstance(new StateManagerImpl());
    List<Field> fields = schema.getFields();
    for(Field field: fields) {
      int pos = field.pos();
      switch(field.schema().getType()) {
        case MAP    :
        case ARRAY  :
        case RECORD :
        case STRING : cloned.put(pos, cloneObject(
            field.schema(), persistent.get(pos), cloned.get(pos))); break;
        case NULL   : break;
        default     : cloned.put(pos, persistent.get(pos)); break;
      }
    }
   
    return cloned;
  }
View Full Code Here

              put(i, new ListGenericArray(fields.get(i).schema()));
            }
          }
          break;
        case RECORD :
          Persistent field = ((Persistent)get(i));
          if(field != null) field.clear();
          break;
        case BOOLEAN: put(i, false); break;
        case INT    : put(i, 0); break;
        case DOUBLE : put(i, 0d); break;
        case FLOAT  : put(i, 0f); break;
View Full Code Here

  private PersistentDatumReader<WebPage> webPageDatumReader
    = new PersistentDatumReader<WebPage>();
  private Configuration conf = new Configuration();
 
  private void testClone(Persistent persistent) throws IOException {
    Persistent cloned = webPageDatumReader.clone(persistent, persistent.getSchema());
    assertClone(persistent, cloned);
  }
View Full Code Here

        // check if field has a nested structure (array, map, or record)
        Schema fieldSchema = field.schema();
        Type type = fieldSchema.getType();
        switch(type) {
          case RECORD:
            Persistent persistent = (Persistent) fieldValue;
            Persistent newRecord = persistent.newInstance(new StateManagerImpl());
            for (Field member: fieldSchema.getFields()) {
              newRecord.put(member.pos(), persistent.get(member.pos()));
            }
            fieldValue = newRecord;
            break;
          case MAP:
            // needs to keep State.DELETED.
View Full Code Here

              put(i, new ListGenericArray(fields.get(i).schema()));
            }
          }
          break;
        case RECORD :
          Persistent field = ((Persistent)get(i));
          if(field != null) field.clear();
          break;
        case BOOLEAN: put(i, false); break;
        case INT    : put(i, 0); break;
        case DOUBLE : put(i, 0d); break;
        case FLOAT  : put(i, 0f); break;
View Full Code Here

TOP

Related Classes of org.apache.gora.persistency.Persistent

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.