コード例 #1
0
ファイル: _EOActivites.java プロジェクト: cocktail-office/DT3
  public NSArray tosIntervention(EOQualifier qualifier, NSArray sortOrderings, boolean fetch) {
    NSArray results;
    if (fetch) {
      EOQualifier fullQualifier;
      EOQualifier inverseQualifier =
          new EOKeyValueQualifier(
              org.cocktail.dt.server.metier.EOIntervention.TO_ACTIVITES_KEY,
              EOQualifier.QualifierOperatorEqual,
              this);

      if (qualifier == null) {
        fullQualifier = inverseQualifier;
      } else {
        NSMutableArray qualifiers = new NSMutableArray();
        qualifiers.addObject(qualifier);
        qualifiers.addObject(inverseQualifier);
        fullQualifier = new EOAndQualifier(qualifiers);
      }

      results =
          org.cocktail.dt.server.metier.EOIntervention.fetchAll(
              editingContext(), fullQualifier, sortOrderings);
    } else {
      results = tosIntervention();
      if (qualifier != null) {
        results = (NSArray) EOQualifier.filteredArrayWithQualifier(results, qualifier);
      }
      if (sortOrderings != null) {
        results = (NSArray) EOSortOrdering.sortedArrayUsingKeyOrderArray(results, sortOrderings);
      }
    }
    return results;
  }
コード例 #2
0
    public NSArray statementsToDropPrimaryKeyConstraintsOnEntityGroups(
        NSArray entityGroups,
        EOSchemaSynchronizationModelChanges changes,
        EOSchemaGenerationOptions options) {
      if (entityGroups == null) return NSArray.EmptyArray;
      if (changes == null) changes = newChanges();

      NSMutableArray expressions = new NSMutableArray();
      for (Enumeration enumerator = entityGroups.objectEnumerator();
          enumerator.hasMoreElements(); ) {
        NSArray entities = (NSArray) enumerator.nextElement();
        EOEntity _last =
            (EOEntity)
                entities.lastObject(); // only need entity to get the table name for the group
        String nameInObjectStore =
            _nameInObjectStoreForEntityGroupWithChangeDictionary(
                entities, changes.changesForTableNamed(_last.externalName()));
        if ((nameInObjectStore != null) && (!"".equals(nameInObjectStore))) {
          expressions.addObject(
              this._expressionForString(
                  "delete from _SYS_RELATIONSHIP where source_table = '"
                      + nameInObjectStore
                      + "' or dest_table = '"
                      + nameInObjectStore
                      + "'"));
        }
      }
      return expressions.immutableClone();
    }
コード例 #3
0
  public NSArray repartValidations(EOQualifier qualifier, NSArray sortOrderings, boolean fetch) {
    NSArray results;
    if (fetch) {
      EOQualifier fullQualifier;
      EOQualifier inverseQualifier =
          new EOKeyValueQualifier(
              fr.univlr.cri.conges.eos.modele.conges.EORepartValidation.OCCUPATION_KEY,
              EOQualifier.QualifierOperatorEqual,
              this);

      if (qualifier == null) {
        fullQualifier = inverseQualifier;
      } else {
        NSMutableArray qualifiers = new NSMutableArray();
        qualifiers.addObject(qualifier);
        qualifiers.addObject(inverseQualifier);
        fullQualifier = new EOAndQualifier(qualifiers);
      }

      results =
          fr.univlr.cri.conges.eos.modele.conges.EORepartValidation.fetchRepartValidations(
              editingContext(), fullQualifier, sortOrderings);
    } else {
      results = repartValidations();
      if (qualifier != null) {
        results = (NSArray) EOQualifier.filteredArrayWithQualifier(results, qualifier);
      }
      if (sortOrderings != null) {
        results = (NSArray) EOSortOrdering.sortedArrayUsingKeyOrderArray(results, sortOrderings);
      }
    }
    return results;
  }
コード例 #4
0
ファイル: PersListing.java プロジェクト: baywind/rujel
 public void cancel() {
   ec.revert();
   // NSDictionary snapshot = ec.committedSnapshotForObject(onEdit);
   if (ec.insertedObjects().contains(item)) {
     NSMutableArray fullList = (NSMutableArray) session().valueForKey("personList");
     fullList.removeObject(item);
   }
   //		onEdit = null;
 }
コード例 #5
0
ファイル: DB2PlugIn.java プロジェクト: BhavinGitHub/wonder
  /**
   * Overrides the parent implementation to provide a more efficient mechanism for generating
   * primary keys, while generating the primary key support on the fly.
   *
   * @param count the batch size
   * @param entity the entity requesting primary keys
   * @param channel open JDBCChannel
   * @return NSArray of NSDictionary where each dictionary corresponds to a unique primary key value
   */
  public NSArray newPrimaryKeys(int count, EOEntity entity, JDBCChannel channel) {
    if (isPrimaryKeyGenerationNotSupported(entity)) {
      return null;
    }

    EOAttribute attribute = (EOAttribute) entity.primaryKeyAttributes().lastObject();
    String attrName = attribute.name();
    boolean isIntType = "i".equals(attribute.valueType());

    NSMutableArray results = new NSMutableArray(count);
    String sequenceName = sequenceNameForEntity(entity);
    DB2Expression expression = new DB2Expression(entity);

    boolean succeeded = false;
    for (int tries = 0; !succeeded && tries < 2; tries++) {
      while (results.count() < count) {
        try {
          StringBuffer sql = new StringBuffer();
          sql.append("SELECT ");
          sql.append("next value for " + sequenceName + " AS KEY");
          sql.append(" from sysibm.sysdummy1");
          expression.setStatement(sql.toString());
          channel.evaluateExpression(expression);
          try {
            NSDictionary row;
            while ((row = channel.fetchRow()) != null) {
              Enumeration pksEnum = row.allValues().objectEnumerator();
              while (pksEnum.hasMoreElements()) {
                Number pkObj = (Number) pksEnum.nextElement();
                Number pk;
                if (isIntType) {
                  pk = Integer.valueOf(pkObj.intValue());
                } else {
                  pk = Long.valueOf(pkObj.longValue());
                }
                results.addObject(new NSDictionary(pk, attrName));
              }
            }
          } finally {
            channel.cancelFetch();
          }
          succeeded = true;
        } catch (JDBCAdaptorException ex) {
          throw ex;
        }
      }
    }

    if (results.count() != count) {
      throw new IllegalStateException(
          "Unable to generate primary keys from the sequence for " + entity + ".");
    }

    return results;
  }
コード例 #6
0
  // ----------------------------------------------------------
  private NSArray<Submission> extractSubmissions(NSArray<UserSubmissionPair> userSubs) {
    NSMutableArray<Submission> submissions = new NSMutableArray<Submission>();

    for (UserSubmissionPair pair : userSubs) {
      if (pair.userHasSubmission()) {
        submissions.addObject(pair.submission());
      }
    }

    return submissions;
  }
コード例 #7
0
ファイル: SCNMatrix4.java プロジェクト: ZeerDonker/robovm
 @MarshalsPointer
 public static long toNative(List<SCNMatrix4> l, long flags) {
   if (l == null) {
     return 0L;
   }
   NSMutableArray<NSValue> array = new NSMutableArray<>();
   for (SCNMatrix4 i : l) {
     array.add(NSValue.valueOf(i));
   }
   return NSObject.Marshaler.toNative(array, flags);
 }
コード例 #8
0
 @MarshalsPointer
 public static long toNative(List<CMVideoCodecType> l, long flags) {
   if (l == null) {
     return 0L;
   }
   NSMutableArray<NSString> array = new NSMutableArray<>();
   for (CMVideoCodecType i : l) {
     array.add(new NSString(i.asFourCharCode()));
   }
   return NSObject.Marshaler.toNative(array, flags);
 }
コード例 #9
0
ファイル: CVPixelFormatType.java プロジェクト: wynney/robovm
 @MarshalsPointer
 public static long toNative(List<CVPixelFormatType> l, long flags) {
   if (l == null) {
     return 0L;
   }
   NSMutableArray<NSNumber> array = new NSMutableArray<>();
   for (CVPixelFormatType i : l) {
     array.add(NSNumber.valueOf(i.value()));
   }
   return NSObject.Marshaler.toNative(array, flags);
 }
コード例 #10
0
 public NSArray primaryKeySupportStatementsForEntityGroups(NSArray entityGroups) {
   String primaryKeyTableName = ((JDBCAdaptor) this.adaptor()).plugIn().primaryKeyTableName();
   NSMutableArray primaryKeyExpressions = new NSMutableArray();
   primaryKeyExpressions.addObject(
       this._expressionForString(
           "CREATE TABLE " + primaryKeyTableName + " (NAME char(40), PK long)"));
   primaryKeyExpressions.addObject(
       this._expressionForString(
           "ALTER TABLE " + primaryKeyTableName + " ADD PRIMARY KEY (NAME)"));
   primaryKeyExpressions.addObject(
       this._expressionForString("CREATE UNIQUE INDEX " + primaryKeyTableName + " NAME"));
   return primaryKeyExpressions.immutableClone();
 }
コード例 #11
0
ファイル: PersListing.java プロジェクト: baywind/rujel
 public WOActionResults delete() {
   NSMutableArray personList = (NSMutableArray) session().valueForKey("personList");
   if (personList != null && personList.count() > 0) {
     for (int i = 0; i < personList.count(); i++) {
       PersonLink pers = (PersonLink) personList.objectAtIndex(i);
       if (item == EOUtilities.localInstanceOfObject(ec, pers.person())) {
         personList.removeObjectAtIndex(i);
         break;
       }
     }
   }
   return context().page();
   //		onEdit = null;
 }
コード例 #12
0
ファイル: CustomerIssues.java プロジェクト: avoy/Tracker
  public NSArray customerIssues() {
    NSMutableArray allChildren = new NSMutableArray();
    NSMutableArray qual = new NSMutableArray();
    Item customer;
    Item child;

    if (customerIssues == null) {

      if (bugId() != null) {
        qual.addObject(EOQualifier.qualifierWithQualifierFormat("bugId=" + bugId(), null));
        EOFetchSpecification spec =
            new EOFetchSpecification("Item", new EOAndQualifier(qual), null);

        // Perform actual fetch
        customerIssues =
            (NSArray) session().defaultEditingContext().objectsWithFetchSpecification(spec);

      } else {

        Enumeration enumer = ((NSArray) customerIssueDisplayGroup.allObjects()).objectEnumerator();
        // For each Customer
        while (enumer.hasMoreElements()) {
          customer = (Item) enumer.nextElement();
          NSArray children = (NSArray) customer.valueForKey("allChildren");

          // Add all of their issues (if they haven't been added already
          Enumeration enumer2 = children.objectEnumerator();
          while (enumer2.hasMoreElements()) {
            child = (Item) enumer2.nextElement();
            if (!allChildren.contains(child)) {
              allChildren.addObject(child);
            }
          }
        }
        Object orderings[] = {
          EOSortOrdering.sortOrderingWithKey("version", EOSortOrdering.CompareAscending),
          EOSortOrdering.sortOrderingWithKey("targetMilestone", EOSortOrdering.CompareAscending),
          EOSortOrdering.sortOrderingWithKey(
              "priority", EOSortOrdering.CompareCaseInsensitiveAscending),
          EOSortOrdering.sortOrderingWithKey(
              "bugSeverity", EOSortOrdering.CompareCaseInsensitiveAscending),
        };

        // Sort the issues
        customerIssues =
            EOSortOrdering.sortedArrayUsingKeyOrderArray(allChildren, new NSArray(orderings));
      }
    }
    return customerIssues;
  }
コード例 #13
0
  // ----------------------------------------------------------
  protected void beforeAppendToResponse(WOResponse response, WOContext context) {
    log.debug("appendToResponse()");

    subStats = new HashMap<AssignmentOffering, Submission.CumulativeStats>();
    offerings.setObjectArray(assignmentOfferings(courseOfferings()));
    if (log.isDebugEnabled()) {
      log.debug("assignment offerings:");
      for (AssignmentOffering ao : offerings.allObjects()) {
        log.debug("\t" + ao);
      }
    }

    NSMutableArray<Submission> staffSubs = new NSMutableArray<Submission>();
    NSArray<User> admins = User.administrators(localContext());

    for (AssignmentOffering ao : offerings.displayedObjects()) {
      // Stuff the index variable into the public key so the group/stats
      // methods will work for us
      assignmentOffering = ao;
      NSArray<UserSubmissionPair> subs =
          Submission.submissionsForGrading(
              localContext(),
              ao,
              true, // omitPartners
              omitStaff,
              studentStats());
      userGroup().setObjectArray(subs);

      @SuppressWarnings("unchecked")
      NSArray<User> staff =
          ERXArrayUtilities.arrayByAddingObjectsFromArrayWithoutDuplicates(
              ao.courseOffering().staff(), admins);
      staffSubs.addAll(
          extractSubmissions(
              Submission.submissionsForGrading(
                  localContext(),
                  ao,
                  true, // omitPartners
                  staff,
                  null)));
    }

    staffSubmissionGroup.setObjectArray(staffSubs);

    selectedUserSubmissionForPickerDialog = null;
    allUserSubmissionsForNavigationForPickerDialog = null;

    super.beforeAppendToResponse(response, context);
  }
コード例 #14
0
ファイル: CustomerIssues.java プロジェクト: avoy/Tracker
 public NSArray itemsWithMultipleParents() {
   if (itemsWithMultipleParents == null) {
     NSMutableArray temp = new NSMutableArray();
     Enumeration enumer = customerIssues().objectEnumerator();
     while (enumer.hasMoreElements()) {
       Item taserIssue = (Item) enumer.nextElement();
       NSArray parents =
           (NSArray) taserIssue.topMostParents(); // will get some non-taser parents.
       if ((parents != null) && (parents.count() > 1)) {
         temp.addObject(taserIssue);
       }
     }
     itemsWithMultipleParents = new NSArray(temp);
   }
   return itemsWithMultipleParents;
 }
コード例 #15
0
ファイル: Plots.java プロジェクト: avoy/Tracker
  // High level all for top dictionary
  public NSMutableDictionary thePlotData() {
    NSMutableDictionary myPlot = new NSMutableDictionary();
    NSMutableArray subPlotDict = new NSMutableArray();

    Enumeration enumer = plots.objectEnumerator();
    while (enumer.hasMoreElements()) {
      SubPlot currSubPlot = (SubPlot) enumer.nextElement();
      subPlotDict.addObject(currSubPlot.toDictionary());
    }
    //    Title = "Defect Trends";
    if (title != null) {
      myPlot.setObjectForKey(title, "Title");
    }
    myPlot.setObjectForKey(subPlotDict, "Plots");
    return (myPlot);
  }
コード例 #16
0
ファイル: CustomerIssues.java プロジェクト: avoy/Tracker
  public NSArray topMostTaserParents() {
    Enumeration enumer = anItem.topMostParents().objectEnumerator();
    NSMutableArray temp = new NSMutableArray();
    // System.out.println("Item - " + anItem.valueForKey("bugId")  + " - " + anItem.shortDesc());

    while (enumer.hasMoreElements()) {
      Item tempEo = (Item) enumer.nextElement();
      // System.out.println("\t\tparentA - " + tempEo.bugId() + " - " + tempEo.shortDesc());

      if ((tempEo.type().equals("Prospect")) || (tempEo.type().equals("Customer"))) {
        temp.addObject(tempEo);

        // System.out.println("\t\tparentB - " + tempEo.bugId() + " - " + tempEo.shortDesc());
      }
    }
    return temp;
  }
コード例 #17
0
ファイル: PersListing.java プロジェクト: baywind/rujel
 public NSArray personList() {
   NSArray forcedList = (NSArray) valueForBinding("forcedList");
   NSMutableArray result =
       (forcedList == null)
           ? new NSMutableArray()
           : EOUtilities.localInstancesOfObjects(ec, forcedList).mutableClone();
   NSArray personList = (NSArray) session().valueForKey("personList");
   if (personList != null && personList.count() > 0) {
     Enumeration enu = personList.objectEnumerator();
     while (enu.hasMoreElements()) {
       EOEnterpriseObject pers = (EOEnterpriseObject) enu.nextElement();
       if (!result.contains(pers)
           && (entity().equals(pers.entityName()) || pers.entityName().equals(alterEntity())))
         result.addObject(pers);
     }
   }
   return result;
 }
コード例 #18
0
 public NSArray statementsToImplementPrimaryKeyConstraintsOnEntityGroups(
     NSArray entityGroups,
     EOSchemaSynchronizationModelChanges changes,
     EOSchemaGenerationOptions options) {
   NSArray primaryKeyExpressions =
       this.primaryKeyConstraintStatementsForEntityGroups(entityGroups);
   NSMutableArray createStatements = new NSMutableArray();
   NSMutableArray otherStatements = new NSMutableArray();
   for (Enumeration enumerator = primaryKeyExpressions.objectEnumerator();
       enumerator.hasMoreElements(); ) {
     EOSQLExpression expression = (EOSQLExpression) enumerator.nextElement();
     String statement = expression.statement();
     if (statement.startsWith("create")) {
       createStatements.addObject(expression);
     } else if (!statement.startsWith("delete from _SYS_RELATIONSHIP")) {
       otherStatements.addObject(expression);
     }
   }
   return createStatements.arrayByAddingObjectsFromArray(otherStatements);
 }
コード例 #19
0
ファイル: Plots.java プロジェクト: avoy/Tracker
 public SubPlot getSubPlot(String pTitle) {
   SubPlot currSubPlot = null;
   Enumeration enumer = plots.objectEnumerator();
   while (enumer.hasMoreElements()) {
     currSubPlot = (SubPlot) enumer.nextElement();
     if (currSubPlot.title().equals(pTitle)) {
       break;
     }
   }
   return currSubPlot;
 }
コード例 #20
0
ファイル: CustomerIssues.java プロジェクト: avoy/Tracker
  public void invalidateObjects(NSArray pObjects) {
    // System.out.println("ReleasePlan.invalidateObjects()");

    // Invalidate Objects
    if (pObjects != null) {
      // System.out.println("ReleasePlan.invalidateObjects() - 2");

      Enumeration enumer = pObjects.objectEnumerator();
      NSMutableArray temp = new NSMutableArray();
      while (enumer.hasMoreElements()) {
        Item i = (Item) enumer.nextElement();
        i.invalidateAllChildren();
        EOGlobalID id = (EOGlobalID) (session().defaultEditingContext().globalIDForObject(i));
        if (id != null) {
          temp.addObject(id);
        }
      }
      session().defaultEditingContext().invalidateObjectsWithGlobalIDs((NSArray) temp);
    }
  }
コード例 #21
0
ファイル: PersListing.java プロジェクト: baywind/rujel
 public void search() {
   try {
     found = Person.Utility.search(ec, entity(), searchString);
     if ((found == null || found.count() == 0) && alterEntity() != null)
       found = Person.Utility.search(ec, alterEntity(), searchString);
   } catch (Exception e) {
     searchMessage = e.getMessage();
     canCreate = false;
     return;
   }
   if (found.count() < 1) {
     searchMessage = (String) session().valueForKeyPath("strings.Strings.messages.nothingFound");
     canCreate = Various.boolForObject(session().valueForKeyPath("readAccess.create." + entity()));
     return;
   }
   NSMutableArray fullList = (NSMutableArray) session().valueForKey("personList");
   NSMutableArray tmp = found.mutableClone();
   tmp.removeObjectsInArray(fullList);
   fullList.addObjectsFromArray(tmp);
   if (fullList.count() > 1) EOSortOrdering.sortArrayUsingKeyOrderArray(fullList, Person.sorter);
   searchMessage = null;
 }
コード例 #22
0
ファイル: _Category.java プロジェクト: warrencohn/marketplace
  public NSArray<edu.umich.marketplace.eof.Advert> adverts(
      EOQualifier qualifier, NSArray<EOSortOrdering> sortOrderings, boolean fetch) {
    NSArray<edu.umich.marketplace.eof.Advert> results;
    if (fetch) {
      EOQualifier fullQualifier;
      EOQualifier inverseQualifier =
          new EOKeyValueQualifier(
              edu.umich.marketplace.eof.Advert.CATEGORY_KEY,
              EOQualifier.QualifierOperatorEqual,
              this);

      if (qualifier == null) {
        fullQualifier = inverseQualifier;
      } else {
        NSMutableArray qualifiers = new NSMutableArray();
        qualifiers.addObject(qualifier);
        qualifiers.addObject(inverseQualifier);
        fullQualifier = new EOAndQualifier(qualifiers);
      }

      results =
          edu.umich.marketplace.eof.Advert.fetchAdverts(
              editingContext(), fullQualifier, sortOrderings);
    } else {
      results = adverts();
      if (qualifier != null) {
        results =
            (NSArray<edu.umich.marketplace.eof.Advert>)
                EOQualifier.filteredArrayWithQualifier(results, qualifier);
      }
      if (sortOrderings != null) {
        results =
            (NSArray<edu.umich.marketplace.eof.Advert>)
                EOSortOrdering.sortedArrayUsingKeyOrderArray(results, sortOrderings);
      }
    }
    return results;
  }
コード例 #23
0
ファイル: CustomerIssues.java プロジェクト: avoy/Tracker
  public void initCustomerIssues() {
    EOFetchSpecification fs;
    NSDictionary bindings = null;
    Session s = (Session) session();
    NSMutableArray qual = new NSMutableArray();
    NSMutableArray qual1 = new NSMutableArray();
    EOQualifier qualifier;

    // 'Open items'
    // qual.addObject(EOQualifier.qualifierWithQualifierFormat("bugStatus !='CLOSED'", null));
    // qual.addObject(EOQualifier.qualifierWithQualifierFormat("bugStatus !='RESOLVED'", null));
    // qual.addObject(EOQualifier.qualifierWithQualifierFormat("bugStatus !='VERIFIED'", null));

    // Taser
    qual1.addObject(EOQualifier.qualifierWithQualifierFormat("type = 'Prospect'", null));
    qual1.addObject(EOQualifier.qualifierWithQualifierFormat("type = 'Customer'", null));
    qual.addObject(new EOOrQualifier(qual1));

    // Single Customer
    if (customerId() != null) {
      qual.addObject(EOQualifier.qualifierWithQualifierFormat("bugId=" + customerId(), null));
      showProductSelector = true;
    } else {
      // Products
      if (selectedProducts.count() == 1) {
        if (selectedProducts.contains("Trusted Access")) {
          qual.addObject(
              EOQualifier.qualifierWithQualifierFormat(
                  "product.productName = 'Device: Trusted Access'", null));
        } else if (selectedProducts.contains("Secure Storage")) {
          qual.addObject(
              EOQualifier.qualifierWithQualifierFormat(
                  "product.productName = 'Device: Secure Storage'", null));
        }
      }
    }

    Object orderings[] = {
      EOSortOrdering.sortOrderingWithKey("version", EOSortOrdering.CompareAscending),
      EOSortOrdering.sortOrderingWithKey("targetMilestone", EOSortOrdering.CompareAscending),
      EOSortOrdering.sortOrderingWithKey(
          "priority", EOSortOrdering.CompareCaseInsensitiveAscending),
      EOSortOrdering.sortOrderingWithKey(
          "bugSeverity", EOSortOrdering.CompareCaseInsensitiveAscending),
    };

    fs = new EOFetchSpecification("Item", new EOAndQualifier(qual), new NSArray(orderings));
    fs.setRefreshesRefetchedObjects(true);

    ((EODatabaseDataSource) customerIssueDisplayGroup.dataSource()).setFetchSpecification(fs);
    customerIssueDisplayGroup.fetch();
  }
コード例 #24
0
  public NSArray<er.sync.eo.ERSyncPrincipal> principals(
      EOQualifier qualifier, NSArray<EOSortOrdering> sortOrderings, boolean fetch) {
    NSArray<er.sync.eo.ERSyncPrincipal> results;
    if (fetch) {
      EOQualifier fullQualifier;
      EOQualifier inverseQualifier =
          new EOKeyValueQualifier(
              er.sync.eo.ERSyncPrincipal.DEVICE_TYPE_KEY, EOQualifier.QualifierOperatorEqual, this);

      if (qualifier == null) {
        fullQualifier = inverseQualifier;
      } else {
        NSMutableArray qualifiers = new NSMutableArray();
        qualifiers.addObject(qualifier);
        qualifiers.addObject(inverseQualifier);
        fullQualifier = new EOAndQualifier(qualifiers);
      }

      results =
          er.sync.eo.ERSyncPrincipal.fetchERSyncPrincipals(
              editingContext(), fullQualifier, sortOrderings);
    } else {
      results = principals();
      if (qualifier != null) {
        results =
            (NSArray<er.sync.eo.ERSyncPrincipal>)
                EOQualifier.filteredArrayWithQualifier(results, qualifier);
      }
      if (sortOrderings != null) {
        results =
            (NSArray<er.sync.eo.ERSyncPrincipal>)
                EOSortOrdering.sortedArrayUsingKeyOrderArray(results, sortOrderings);
      }
    }
    return results;
  }
コード例 #25
0
ファイル: Plots.java プロジェクト: avoy/Tracker
  public static void initColors() {
    if (theColors == null) {
      theColors = new NSMutableArray();
    }
    if (theColors.count() == 0) {

      String[] aColor = {"0", "0", "255"};
      NSArray theColor = new NSArray(aColor);
      theColors.addObject(theColor);

      String[] bColor = {"255", "0", "0"};
      theColor = new NSArray(bColor);
      theColors.addObject(theColor);

      String[] cColor = {"0", "255", "0"};
      theColor = new NSArray(cColor);
      theColors.addObject(theColor);

      String[] dColor = {"255", "0", "255"};
      theColor = new NSArray(dColor);
      theColors.addObject(theColor);

      String[] eColor = {"0", "0", "0"};
      theColor = new NSArray(eColor);
      theColors.addObject(theColor);

      String[] fColor = {"125", "0", "50"};
      theColor = new NSArray(fColor);
      theColors.addObject(theColor);

      String[] gColor = {"50", "125", "0"};
      theColor = new NSArray(gColor);
      theColors.addObject(theColor);

      String[] hColor = {"50", "0", "125"};
      theColor = new NSArray(hColor);
      theColors.addObject(theColor);
    }
  }
コード例 #26
0
ファイル: Plots.java プロジェクト: avoy/Tracker
 // This adds the subplot to the plots dictionary before returning it.
 public SubPlot newSubPlot() {
   SubPlot theSubPlot = new SubPlot();
   plots.addObject(theSubPlot);
   return theSubPlot;
 }
コード例 #27
0
ファイル: Plots.java プロジェクト: avoy/Tracker
 public void addToPlots(SubPlot theSubPlot) {
   plots.addObject(theSubPlot);
 }
コード例 #28
0
ファイル: Plots.java プロジェクト: avoy/Tracker
 public static NSArray getNextColor() {
   initColors();
   NSArray theColor = (NSArray) theColors.objectAtIndex(0);
   theColors.removeObjectAtIndex(0);
   return theColor;
 }
コード例 #29
0
    public NSArray primaryKeyConstraintStatementsForEntityGroup(NSArray entityGroup) {
      if (entityGroup == null) return NSArray.EmptyArray;

      NSMutableDictionary columnNameDictionary = new NSMutableDictionary();
      NSMutableArray primaryKeyConstraintExpressions = new NSMutableArray();

      for (Enumeration enumerator = entityGroup.objectEnumerator();
          enumerator.hasMoreElements(); ) {
        EOEntity entity = (EOEntity) enumerator.nextElement();
        String tableName = entity.externalName();
        NSArray primaryKeyAttributes = entity.primaryKeyAttributes();
        boolean singlePrimaryKey = primaryKeyAttributes.count() == 1;
        if ((tableName != null) && (!"".equals(tableName)) && (primaryKeyAttributes.count() > 0)) {
          NSArray expressions = super.primaryKeyConstraintStatementsForEntityGroup(entityGroup);
          if ((expressions != null) && (expressions.count() > 0))
            primaryKeyConstraintExpressions.addObjectsFromArray(expressions);
          for (Enumeration attributeEnumerator = primaryKeyAttributes.objectEnumerator();
              attributeEnumerator.hasMoreElements(); ) {
            String columnName = ((EOAttribute) attributeEnumerator.nextElement()).columnName();
            columnNameDictionary.setObjectForKey(
                columnName, entity.externalName() + "." + columnName);
            EOSQLExpression expression =
                this._expressionForString(
                    "create "
                        + (singlePrimaryKey ? "unique" : "")
                        + " index "
                        + entity.externalName()
                        + " "
                        + columnName);
            if (expression != null) primaryKeyConstraintExpressions.addObject(expression);
          }
        }
      }

      for (Enumeration enumerator = entityGroup.objectEnumerator();
          enumerator.hasMoreElements(); ) {
        EOEntity entity = (EOEntity) enumerator.nextElement();
        String tableName = entity.externalName();
        if ((tableName != null) && (!"".equals(tableName))) {
          for (Enumeration relationshipEnumerator = entity.relationships().objectEnumerator();
              relationshipEnumerator.hasMoreElements(); ) {
            EORelationship relationship = (EORelationship) relationshipEnumerator.nextElement();
            if (!relationship.isFlattened()) {
              NSArray destinationAttributes = relationship.destinationAttributes();

              // First exclude all the destination entity primary keys
              for (Enumeration attributeEnumerator =
                      relationship.destinationEntity().primaryKeyAttributes().objectEnumerator();
                  attributeEnumerator.hasMoreElements(); ) {
                EOAttribute attribute = (EOAttribute) attributeEnumerator.nextElement();
                columnNameDictionary.setObjectForKey(
                    attribute.columnName(),
                    relationship.destinationEntity().externalName() + "." + attribute.columnName());
              }
              // Then deal with our end of things
              for (Enumeration attributeEnumerator =
                      relationship.sourceAttributes().objectEnumerator();
                  attributeEnumerator.hasMoreElements(); ) {
                EOAttribute attribute = (EOAttribute) attributeEnumerator.nextElement();
                if ((!this.isSinglePrimaryKeyAttribute(attribute))
                    && (columnNameDictionary.objectForKey(tableName + "." + attribute.columnName())
                        != null)) {
                  columnNameDictionary.setObjectForKey(
                      attribute.columnName(), tableName + "." + attribute.columnName());
                  EOSQLExpression expression =
                      this._expressionForString(
                          "create index " + tableName + " " + attribute.columnName());
                  if (expression != null) primaryKeyConstraintExpressions.addObject(expression);
                }
              }
              // Then deal with the other side
              if (entity.model() == relationship.destinationEntity().model()) {
                for (Enumeration attributeEnumerator =
                        relationship.destinationAttributes().objectEnumerator();
                    attributeEnumerator.hasMoreElements(); ) {
                  EOAttribute attribute = (EOAttribute) attributeEnumerator.nextElement();
                  String destinationTableName = relationship.destinationEntity().externalName();
                  if ((destinationTableName != null) && (!"".equals(destinationTableName))) {
                    if ((!this.isSinglePrimaryKeyAttribute(attribute))
                        && (columnNameDictionary.objectForKey(
                                destinationTableName + "." + attribute.columnName())
                            != null)) {
                      columnNameDictionary.setObjectForKey(
                          attribute.columnName(),
                          destinationTableName + "." + attribute.columnName());
                      EOSQLExpression expression =
                          this._expressionForString(
                              "create index "
                                  + destinationTableName
                                  + " "
                                  + attribute.columnName());
                      if (expression != null) primaryKeyConstraintExpressions.addObject(expression);
                    }
                    if ((!relationship.isCompound())
                        && (relationship.sourceAttributes().count() == 1)
                        && (relationship.destinationAttributes().count() == 1)) {
                      String semantics;
                      switch (relationship.joinSemantic()) {
                        case EORelationship.FullOuterJoin: // '\001'
                        case EORelationship.LeftOuterJoin: // '\002'
                        case EORelationship.RightOuterJoin: // '\003'
                          semantics = "*";
                          break;

                        default:
                          semantics = "=";
                          break;
                      }
                      String sourceColumn =
                          ((EOAttribute) relationship.sourceAttributes().objectAtIndex(0))
                              .columnName();
                      String destinationColumn =
                          ((EOAttribute) relationship.destinationAttributes().objectAtIndex(0))
                              .columnName();
                      EOSQLExpression expression =
                          this._expressionForString(
                              "delete from _SYS_RELATIONSHIP where relationshipName = '"
                                  + relationship.name()
                                  + "' and source_table = '"
                                  + tableName
                                  + "' ");
                      if (expression != null) primaryKeyConstraintExpressions.addObject(expression);
                      expression =
                          this._expressionForString(
                              "insert into _SYS_RELATIONSHIP (relationshipName, source_table, source_column, dest_table, dest_column, operator, one_to_many) values ('"
                                  + relationship.name()
                                  + "','"
                                  + tableName
                                  + "','"
                                  + sourceColumn
                                  + "','"
                                  + destinationTableName
                                  + "','"
                                  + destinationColumn
                                  + "','"
                                  + semantics
                                  + "',"
                                  + (relationship.isToMany() ? 1 : 0)
                                  + ")");
                      if (expression != null) primaryKeyConstraintExpressions.addObject(expression);
                    }
                  }
                }
              }
            }
          }
        }
      }
      return primaryKeyConstraintExpressions.immutableClone();
    }