Package com.webobjects.eocontrol

Examples of com.webobjects.eocontrol.EOEditingContext


     */
     public static <T extends EOEnterpriseObject> T editableInstanceOfObject(T eo,
         boolean createNestedContext) {
      
       if(eo == null) throw new IllegalArgumentException("EO can't be null");
       EOEditingContext ec = eo.editingContext();
      
       if(ec == null) throw new IllegalArgumentException("EO must live in an EC");
      
        boolean isNewObject = ERXEOControlUtilities.isNewObject(eo);

        T localObject = eo;
       
        // Either we have an already saved object or a new one and create a nested context.
        // Otherwise (new object and a peer) we should probably raise, but simple return the EO
        if((isNewObject && createNestedContext) || !isNewObject) {
        // create either peer or nested context
         EOEditingContext newEc = ERXEC.newEditingContext(createNestedContext
             ? ec : ec.parentObjectStore());
         ec.lock();
         try {
           newEc.lock();
           try {
             if(ec instanceof EOSharedEditingContext
                    || ec.sharedEditingContext() == null) {
                  newEc.setSharedEditingContext(null);
                }
                localObject = (T) EOUtilities.localInstanceOfObject(newEc, eo);
             localObject.willRead();
           } finally {
             newEc.unlock();
           }
         } finally {
           ec.unlock();
         }
       }
View Full Code Here


    public NSDictionary snapshotsGroupedByEntity(NSArray objects) {
        if (objects == nullreturn NSDictionary.EmptyDictionary;
   
        NSMutableDictionary result = new NSMutableDictionary();
        EOEditingContext ec = new EOEditingContext();
        ec.lock();
       
        Enumeration e = objects.objectEnumerator();
        while (e.hasMoreElements()) {
            EOKeyGlobalID globalID = (EOKeyGlobalID) e.nextElement();
            String entityName = globalID.entityName();

            if (shouldSynchronizeEntity(entityName)) {
                EODatabaseContext dbContext = ERCNNotificationCoordinator.databaseContextForEntityNamed(entityName, ec);
                NSMutableArray snapshotsForEntity = (NSMutableArray)result.objectForKey(entityName);
                if (snapshotsForEntity == null) {
                    snapshotsForEntity = new NSMutableArray();
                    result.setObjectForKey(snapshotsForEntity, entityName);
                }
                NSDictionary snapshot = dbContext.snapshotForGlobalID(globalID);
                if (snapshot != null) {
                    snapshotsForEntity.addObject(snapshot);
                    _entryCount++;
                }
            }
        }
        ec.unlock();
        return result.immutableClone();
    }
View Full Code Here

      if (userGlobalID == null) {
        System.out.println("Authentication failed.");
        System.exit(1);
      }
     
      EOEditingContext ec = ERXEC.newEditingContext();
      NSArray<Movie> movies = Movie.fetchAllMovies(ec);
      for (Movie movie : movies) {
        System.out.println(movie.title());
      }
     
View Full Code Here

    }
    return numericPKs;
  }
 
  public Object createObjectOfEntityWithID(EOClassDescription entity, Object id, ERXRestContext context) {
    EOEditingContext editingContext = context.editingContext();
    if (editingContext == null) {
      throw new IllegalArgumentException("There was no editing context attached to this rest context.");
    }
    editingContext.lock();
    try {
      EOEnterpriseObject eo = entity.createInstanceWithEditingContext(editingContext, null);
      editingContext.insertObject(eo);
      return eo;
    }
    finally {
      editingContext.unlock();
    }
  }
View Full Code Here

        EOQualifier aPathQualifier = new EOKeyValueQualifier("parent", EOQualifier.QualifierOperatorEqual, args.length > 0 ? args[0] : System.getProperty("user.home"));
        EOQualifier aNameQualifier = new EOKeyValueQualifier("name", (EOQualifier.QualifierOperatorCaseInsensitiveLike), "*M*");
        EOQualifier aNotQualifier = new EONotQualifier(aNameQualifier);
        EOQualifier aQualifier = new EOAndQualifier(new NSArray(new Object[] { aPathQualifier, aNotQualifier }));
        EOFetchSpecification aFetchSpecification = new EOFetchSpecification("FSDirectory", aQualifier, null);
        EOEditingContext anEditingContext = new EOEditingContext();
        NSArray someObjects = anEditingContext.objectsWithFetchSpecification(aFetchSpecification);

        System.out.println("Fetch result for '" + aQualifier + "': " + someObjects.valueForKey("name"));

        if (someObjects != null) {
            EOEnterpriseObject anObject = (EOEnterpriseObject) someObjects.lastObject();
            NSArray someFiles = (NSArray) anObject.valueForKey("files");
            NSArray someDirectories = (NSArray) anObject.valueForKey("directories");

            System.out.println("anObject name: " + anObject.valueForKey("name"));
            System.out.println("someFiles.count: " + someFiles.count());
            System.out.println("someFiles.name: " + someFiles.valueForKey("name"));
            System.out.println("someFiles.content.length: " + someFiles.valueForKeyPath("content.length"));
            System.out.println("someDirectories.count: " + someDirectories.count());
            System.out.println("someDirectories.name: " + someDirectories.valueForKey("name"));
        }
        EOClassDescription aClassDescription = EOClassDescription.classDescriptionForEntityName("FSDirectory");
        EOEnterpriseObject anObject = aClassDescription.createInstanceWithEditingContext(anEditingContext, null);
        anObject.takeValueForKey((System.getProperty("user.home") + File.separator + "FSItemInsertTest"), "absolutePath");

        anEditingContext.insertObject(anObject);
        anEditingContext.saveChanges();

        anEditingContext.deleteObject(anObject);
        anEditingContext.saveChanges();
    }
View Full Code Here

    if (obj == null) {
      pkValue = null;
    }
    else {
      EOEnterpriseObject eo = (EOEnterpriseObject) obj;
      EOEditingContext editingContext = eo.editingContext();
      if (editingContext != null) {
        editingContext.lock();
        try {
          pkValue = ERXEOControlUtilities.primaryKeyObjectForObject(eo);
          if (pkValue == null) {
            EOGlobalID gid = editingContext.globalIDForObject(eo);
            if (gid instanceof EOTemporaryGlobalID) {
              pkValue = new NSData(((EOTemporaryGlobalID) gid)._rawBytes());
            }
          }
        }
        finally {
          editingContext.unlock();
        }
      }
      else {
        pkValue = ERXEOControlUtilities.primaryKeyObjectForObject(eo);
      }
View Full Code Here

            epi.setNextPage(context().page());
          } else if(nextPage instanceof EditPageInterface) {
              Object value = d2wContext().valueForKey("useNestedEditingContext");
              boolean createNestedContext = ERXValueUtilities.booleanValue(value);
              EOEnterpriseObject object = ERXEOControlUtilities.editableInstanceOfObject(object(), createNestedContext);
           EOEditingContext ec = object.editingContext();
            ec.lock();
            try {
              EOEnterpriseObject eo = ERXEOControlUtilities.createAndAddObjectToRelationship(ec, object, key(), (String)valueForBinding("destinationEntityName"), null);
              EditPageInterface epi = (EditPageInterface)nextPage;
              epi.setObject(eo);
              epi.setNextPage(context().page());
            } finally {
              ec.unlock();
            }
          }
        } else {
          ERXEOControlUtilities.createAndAddObjectToRelationship(object().editingContext(), object(), key(), (String)valueForBinding("destinationEntityName"), null);
        }
View Full Code Here

      throw new SecurityException("You do not have permission to edit this event.");
    }
  }

  public void setEvent(SPEvent event) {
    EOEditingContext editingContext = ERXEC.newEditingContext();
    _event = event.localInstanceIn(editingContext);
  }
View Full Code Here

    return _event.group().membershipForPerson(_noNoPerson);
  }

  public WOActionResults reassignSecretPals() {
    try {
      EOEditingContext editingContext = ERXEC.newEditingContext();
      _event.localInstanceIn(editingContext).reassignSecretPals();
      editingContext.saveChanges();
     
      session().notifications().addNotice("Secret pals have been assigned for this event.");
     
      SPEventPage eventPage = pageWithName(SPEventPage.class);
      eventPage.setEvent(_event);
View Full Code Here

    groupPage.setGroup(group);
    return groupPage;
  }

  public WOActionResults removeNoNoPal() {
    EOEditingContext editingContext = ERXEC.newEditingContext();
    _noNoPal.localInstanceIn(editingContext).delete();
    editingContext.saveChanges();
    return this;
  }
View Full Code Here

TOP

Related Classes of com.webobjects.eocontrol.EOEditingContext

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.