/**
  * Retrieve objects using a qualifier and sort orderings.
  *
  * @param context The editing context to use
  * @param qualifier The qualifier to use
  * @param sortOrderings The sort orderings to use
  * @return an NSArray of the entities retrieved
  */
 public static NSArray<UserMessageSubscription> objectsMatchingQualifier(
     EOEditingContext context, EOQualifier qualifier, NSArray<EOSortOrdering> sortOrderings) {
   @SuppressWarnings("unchecked")
   EOFetchSpecification fspec = new WCFetchSpecification(ENTITY_NAME, qualifier, sortOrderings);
   fspec.setUsesDistinct(true);
   return objectsWithFetchSpecification(context, fspec);
 }
Пример #2
0
 public void prepareSelectExpressionWithAttributes(
     NSArray nsarray, boolean flag, EOFetchSpecification eofetchspecification) {
   if (!eofetchspecification.promptsAfterFetchLimit()) {
     _fetchLimit = eofetchspecification.fetchLimit();
   }
   super.prepareSelectExpressionWithAttributes(nsarray, flag, eofetchspecification);
 }
Пример #3
0
  public void initListeDiplRN() {
    chargerDiplRN();

    // On va se construire un dico des enreg. pour l'année en cours de IP_DIPL_SANS_RN...
    NSArray bindings = new NSArray(new Object[] {getFannKey()});
    EOQualifier qualifier = EOQualifier.qualifierWithQualifierFormat("fannKey = %@", bindings);

    // la liste des diplomes qui n'autorisent pas les RN par le Web
    EOFetchSpecification fetchSpec = new EOFetchSpecification("IpDiplSansRn", qualifier, null);
    fetchSpec.setRefreshesRefetchedObjects(true);

    EOEditingContext ec = maSession.defaultEditingContext();
    NSArray res = ec.objectsWithFetchSpecification(fetchSpec);

    listeEOipDiplSansRn = new NSMutableDictionary();

    if (res != null && res.count() > 0) {

      Enumeration e = res.objectEnumerator();
      while (e.hasMoreElements()) {
        IpDiplSansRn eoIpDiplSansRN = (IpDiplSansRn) e.nextElement();
        Integer fspnKey = (Integer) eoIpDiplSansRN.fspnKey();

        listeEOipDiplSansRn.setObjectForKey(eoIpDiplSansRN, fspnKey);
      }
    }
  }
Пример #4
0
 // CLAUSE WHERE "UV.ANUNIV || UV.PRDUNIV = ... AND UV.UVC = ...
 // AND UV.ANUNIV || UV.PRDUNIV = EIA.ANUNIV || EIA.PRDUNIV" UV o� est
 // inscris l'�tudiant
 private static EOQualifier qualForUv(String uv, String periode) {
   // ARGSUV.addObject(uv);
   NSMutableArray quals = new NSMutableArray();
   EOEditingContext myContext = ERXEC.newEditingContext();
   EOQualifier qalUv =
       EOVueInsuv.UVC
           .eq(uv)
           .and(
               EOVueInsuv.EO_ETUDIANT_INSCR_ADM
                   .dot(EOEtudiantInscrAdm.ETU_ID)
                   .eq(EOVueInsuv.ETU_ID));
   quals.addObject(qalUv);
   if (periode != null) {
     EOQualifier qualPer =
         EOQualifier.qualifierWithQualifierFormat("anUniv=%@ AND prdUniv=%@", ARGSUV);
     quals.addObject(qualPer);
   }
   EOFetchSpecification spec = null;
   if (quals.count() == 2) {
     EOQualifier qual = new EOAndQualifier(quals);
     spec = new EOFetchSpecification("EOVueInsuv", qual, null);
   } else {
     spec = new EOFetchSpecification("EOVueInsuv", qalUv, null);
   }
   spec.setUsesDistinct(true);
   NSArray uvs = myContext.objectsWithFetchSpecification(spec);
   NSMutableArray etuids = new NSMutableArray();
   for (int i = 0; i < uvs.count(); i++) {
     EOVueInsuv luv = (EOVueInsuv) uvs.objectAtIndex(i);
     Long etu_id = luv.etuId();
     etuids.addObject(etu_id);
   }
   EOQualifier fin = ETU_INSCR_ADMS.dot(EOEtudiantInscrAdm.ETU_ID).in(etuids.immutableClone());
   return fin;
 }
  /**
   * Retrieve objects according to the <code>subscriptionsForMessageTypeAndUser</code> fetch
   * specification.
   *
   * @param context The editing context to use
   * @param messageTypeBinding fetch spec parameter
   * @param userBinding fetch spec parameter
   * @return an NSArray of the entities retrieved
   */
  public static NSArray<UserMessageSubscription> subscriptionsForMessageTypeAndUser(
      EOEditingContext context, String messageTypeBinding, org.webcat.core.User userBinding) {
    EOFetchSpecification spec =
        WCFetchSpecification.fetchSpecificationNamed(
            "subscriptionsForMessageTypeAndUser", "UserMessageSubscription");

    NSMutableDictionary<String, Object> bindings = new NSMutableDictionary<String, Object>();

    if (messageTypeBinding != null) {
      bindings.setObjectForKey(messageTypeBinding, "messageType");
    }
    if (userBinding != null) {
      bindings.setObjectForKey(userBinding, "user");
    }
    spec = spec.fetchSpecificationWithQualifierBindings(bindings);

    NSArray<UserMessageSubscription> objects = objectsWithFetchSpecification(context, spec);
    if (log.isDebugEnabled()) {
      log.debug(
          "subscriptionsForMessageTypeAndUser(ec"
              + ", "
              + messageTypeBinding
              + ", "
              + userBinding
              + "): "
              + objects);
    }
    return objects;
  }
 public static NSArray fetchVPersonnelActuelEnses(
     EOEditingContext editingContext, EOQualifier qualifier, NSArray sortOrderings) {
   EOFetchSpecification fetchSpec =
       new EOFetchSpecification(_EOVPersonnelActuelEns.ENTITY_NAME, qualifier, sortOrderings);
   fetchSpec.setIsDeep(true);
   NSArray eoObjects = (NSArray) editingContext.objectsWithFetchSpecification(fetchSpec);
   return eoObjects;
 }
Пример #7
0
 public static NSArray<edu.umich.marketplace.eof.Category> fetchTopCategories(
     EOEditingContext editingContext, NSDictionary<String, Object> bindings) {
   EOFetchSpecification fetchSpec =
       EOFetchSpecification.fetchSpecificationNamed("topCategories", "Category");
   fetchSpec = fetchSpec.fetchSpecificationWithQualifierBindings(bindings);
   return (NSArray<edu.umich.marketplace.eof.Category>)
       editingContext.objectsWithFetchSpecification(fetchSpec);
 }
Пример #8
0
 /* (non-Javadoc)
  *
  * Overriding super here so we can grab a fetch limit if specified in the EOFetchSpecification.
  *
  * @see com.webobjects.jdbcadaptor.JDBCExpression#prepareSelectExpressionWithAttributes(NSArray, boolean, EOFetchSpecification)
  */
 @Override
 public void prepareSelectExpressionWithAttributes(
     NSArray<EOAttribute> attributes, boolean lock, EOFetchSpecification fetchSpec) {
   if (!fetchSpec.promptsAfterFetchLimit()) {
     _fetchLimit = fetchSpec.fetchLimit();
   }
   super.prepareSelectExpressionWithAttributes(attributes, lock, fetchSpec);
 }
Пример #9
0
 public static NSArray fetchIndividuUlrs(
     EOEditingContext editingContext, EOQualifier qualifier, NSArray sortOrderings) {
   EOFetchSpecification fetchSpec =
       new EOFetchSpecification(_IndividuUlr.ENTITY_NAME, qualifier, sortOrderings);
   fetchSpec.setIsDeep(true);
   NSArray eoObjects = (NSArray) editingContext.objectsWithFetchSpecification(fetchSpec);
   return eoObjects;
 }
Пример #10
0
 public static NSArray<org.pachyderm.foundation.eof.PDBPresentation> fetchAllPresentations(
     EOEditingContext editingContext, NSDictionary<String, Object> bindings) {
   EOFetchSpecification fetchSpec =
       EOFetchSpecification.fetchSpecificationNamed(
           "allPresentations", _PDBPresentation.ENTITY_NAME);
   fetchSpec = fetchSpec.fetchSpecificationWithQualifierBindings(bindings);
   return (NSArray<org.pachyderm.foundation.eof.PDBPresentation>)
       editingContext.objectsWithFetchSpecification(fetchSpec);
 }
Пример #11
0
 // V�rification afin de savoir si le user connect� est un �tudiant
 private static NSArray lesEtudiants(EOEditingContext myContext, EOIndividu etudiant) {
   EOQualifier qalCons = ETU_INSCR_ADMS.dot(EOEtudiantInscrAdm.ETU_ID).eq(etudiant.indivId());
   EOFetchSpecification spec =
       new EOFetchSpecification(
           "EOIndividu", qalCons, new NSArray(new Object[] {SORT_NOM_ASC, SORT_PRENOM_ASC}));
   spec.setUsesDistinct(true);
   NSArray etu = myContext.objectsWithFetchSpecification(spec);
   return etu;
 }
Пример #12
0
 public static void fetchDisplayGroup(
     EODisplayGroup table, EOQualifier leQualifier, NSArray leSort, boolean selectsFirst) {
   String entityName = table.dataSource().classDescriptionForObjects().entityName();
   table.setSelectsFirstObjectAfterFetch(selectsFirst);
   EOFetchSpecification leFetch = new EOFetchSpecification(entityName, leQualifier, leSort);
   leFetch.setUsesDistinct(true);
   leFetch.setRefreshesRefetchedObjects(true);
   ((EODistributedDataSource) table.dataSource()).setFetchSpecification(leFetch);
   table.fetch();
 }
Пример #13
0
 public static NSArray<edu.umich.marketplace.eof.Category> fetchSubCategories(
     EOEditingContext editingContext, edu.umich.marketplace.eof.Category parentBinding) {
   EOFetchSpecification fetchSpec =
       EOFetchSpecification.fetchSpecificationNamed("subCategories", "Category");
   NSMutableDictionary<String, Object> bindings = new NSMutableDictionary<String, Object>();
   bindings.takeValueForKey(parentBinding, "parent");
   fetchSpec = fetchSpec.fetchSpecificationWithQualifierBindings(bindings);
   return (NSArray<edu.umich.marketplace.eof.Category>)
       editingContext.objectsWithFetchSpecification(fetchSpec);
 }
 public static NSArray<ERSyncClientDevice> fetchERSyncClientDevices(
     EOEditingContext editingContext,
     EOQualifier qualifier,
     NSArray<EOSortOrdering> sortOrderings) {
   EOFetchSpecification fetchSpec =
       new EOFetchSpecification(_ERSyncClientDevice.ENTITY_NAME, qualifier, sortOrderings);
   fetchSpec.setIsDeep(true);
   NSArray<ERSyncClientDevice> eoObjects =
       (NSArray<ERSyncClientDevice>) editingContext.objectsWithFetchSpecification(fetchSpec);
   return eoObjects;
 }
Пример #15
0
 public static NSArray<Group> fetchGroups(
     EOEditingContext editingContext,
     EOQualifier qualifier,
     NSArray<EOSortOrdering> sortOrderings) {
   EOFetchSpecification fetchSpec =
       new EOFetchSpecification(_Group.ENTITY_NAME, qualifier, sortOrderings);
   fetchSpec.setIsDeep(true);
   NSArray<Group> eoObjects =
       (NSArray<Group>) editingContext.objectsWithFetchSpecification(fetchSpec);
   return eoObjects;
 }
Пример #16
0
 public static NSArray<org.pachyderm.foundation.eof.PDBPresentation>
     fetchPresentationNamesAndIdentities(EOEditingContext editingContext, String authorBinding) {
   EOFetchSpecification fetchSpec =
       EOFetchSpecification.fetchSpecificationNamed(
           "presentationNamesAndIdentities", _PDBPresentation.ENTITY_NAME);
   NSMutableDictionary<String, Object> bindings = new NSMutableDictionary<String, Object>();
   bindings.takeValueForKey(authorBinding, "author");
   fetchSpec = fetchSpec.fetchSpecificationWithQualifierBindings(bindings);
   return (NSArray<org.pachyderm.foundation.eof.PDBPresentation>)
       editingContext.objectsWithFetchSpecification(fetchSpec);
 }
Пример #17
0
  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();
  }
Пример #18
0
 public static NSArray fetchData(
     EOEditingContext context,
     String leNomTable,
     EOQualifier leQualifier,
     EOSortOrdering sortOrdering) {
   EOFetchSpecification myFetch =
       new EOFetchSpecification(
           leNomTable,
           leQualifier,
           sortOrdering == null ? null : new NSArray<EOSortOrdering>(sortOrdering));
   myFetch.setUsesDistinct(true);
   return context.objectsWithFetchSpecification(myFetch);
 }
Пример #19
0
 // V�rification afin de savoir si le user connect� est conseill� d'un
 // �tudiant
 public static NSArray lesConseillers(EOEditingContext myContext, String conseil) {
   NSArray cons = new NSArray();
   if (conseil != null) {
     EOQualifier qalCons =
         ETU_INSCR_ADMS.dot(EOEtudiantInscrAdm.CONSEILLER_ID).eq(Long.valueOf(conseil));
     EOFetchSpecification spec =
         new EOFetchSpecification(
             "EOIndividu", qalCons, new NSArray(new Object[] {SORT_NOM_ASC, SORT_PRENOM_ASC}));
     spec.setUsesDistinct(true);
     cons = myContext.objectsWithFetchSpecification(spec);
   }
   return cons;
 }
Пример #20
0
 public static NSArray<edu.umich.marketplace.eof.Category> fetchTopCategories(
     EOEditingContext editingContext) {
   EOFetchSpecification fetchSpec =
       EOFetchSpecification.fetchSpecificationNamed("topCategories", "Category");
   return (NSArray<edu.umich.marketplace.eof.Category>)
       editingContext.objectsWithFetchSpecification(fetchSpec);
 }
Пример #21
0
 public static NSArray<org.pachyderm.foundation.eof.PDBPresentation> fetchAllPresentations(
     EOEditingContext editingContext) {
   EOFetchSpecification fetchSpec =
       EOFetchSpecification.fetchSpecificationNamed(
           "allPresentations", _PDBPresentation.ENTITY_NAME);
   return (NSArray<org.pachyderm.foundation.eof.PDBPresentation>)
       editingContext.objectsWithFetchSpecification(fetchSpec);
 }
  /**
   * Retrieves the first object that matches a set of keys and values, when sorted with the
   * specified sort orderings.
   *
   * @param context The editing context to use
   * @param sortOrderings the sort orderings
   * @param keysAndValues a dictionary of keys and values to match
   * @return the first entity that was retrieved, or null if there was none
   */
  public static UserMessageSubscription firstObjectMatchingValues(
      EOEditingContext context,
      NSArray<EOSortOrdering> sortOrderings,
      NSDictionary<String, Object> keysAndValues) {
    @SuppressWarnings("unchecked")
    EOFetchSpecification fspec =
        new WCFetchSpecification(
            ENTITY_NAME, EOQualifier.qualifierToMatchAllValues(keysAndValues), sortOrderings);
    fspec.setFetchLimit(1);

    NSArray<UserMessageSubscription> objects = objectsWithFetchSpecification(context, fspec);

    if (objects.count() == 0) {
      return null;
    } else {
      return objects.objectAtIndex(0);
    }
  }
Пример #23
0
 public static NSArray fetchAll(
     EOEditingContext editingContext,
     EOQualifier qualifier,
     NSArray sortOrderings,
     boolean distinct,
     int fetchLimit,
     DTEOEditingContextHandler handler) {
   EOFetchSpecification fetchSpec =
       new EOFetchSpecification(ENTITY_NAME, qualifier, sortOrderings);
   fetchSpec.setIsDeep(true);
   fetchSpec.setUsesDistinct(distinct);
   fetchSpec.setFetchLimit(fetchLimit);
   if (handler != null) {
     fetchSpec.setPromptsAfterFetchLimit(true);
     editingContext.setMessageHandler(handler);
   }
   return (NSArray) editingContext.objectsWithFetchSpecification(fetchSpec);
 }
Пример #24
0
 /**
  * Overriding super here so we can grab a fetch range or fetch limit if specified in the
  * EOFetchSpecification. If a fetchRange method returning an NSRange exists in the
  * EOFetchSpecification subclass being passed in, the the fetchLimit will be ignored.
  *
  * @see com.webobjects.jdbcadaptor.JDBCExpression#prepareSelectExpressionWithAttributes(NSArray,
  *     boolean, EOFetchSpecification)
  */
 @Override
 public void prepareSelectExpressionWithAttributes(
     NSArray<EOAttribute> attributes, boolean lock, EOFetchSpecification fetchSpec) {
   try {
     _fetchRange = _fetchRangeSelector.invoke(fetchSpec);
     // We will get an error when not using our custom ERXFetchSpecification subclass
     // We could have added ERExtensions to the classpath and checked for instanceof, but I
     // thought
     // this is a little cleaner since people may be using this PlugIn and not Wonder in some
     // legacy apps.
   } catch (IllegalArgumentException e) {;
   } catch (IllegalAccessException e) {;
   } catch (InvocationTargetException e) {;
   } catch (NoSuchMethodException e) {;
   }
   // Only check for fetchLimit of fetchRange is not provided.
   if (_fetchRange == null && !fetchSpec.promptsAfterFetchLimit()) {
     _fetchLimit = fetchSpec.fetchLimit();
   }
   super.prepareSelectExpressionWithAttributes(attributes, lock, fetchSpec);
 }
  /**
   * Ensures we don't have references to EOs before using this in the background thread.
   *
   * @param fs
   * @return a clone of the fetchSpecification with the EOQualifier converted to a schema-based
   *     qualifier or the same {@link EOFetchSpecification} if there is no qualifier.
   */
  private EOFetchSpecification schemaBasedFetchSpecification(
      EOFetchSpecification fetchSpecification) {

    EOQualifier q = fetchSpecification.qualifier();
    if (q != null) {

      // Clone the fetchSpec
      fetchSpecification = (EOFetchSpecification) fetchSpecification.clone();

      EOEditingContext ec = ERXEC.newEditingContext();
      ec.lock();
      try {
        EOEntity entity =
            ERXEOAccessUtilities.entityMatchingString(ec, fetchSpecification.entityName());
        // Convert the qualifier to a schema-based qualifier
        q = entity.schemaBasedQualifier(q);
        fetchSpecification.setQualifier(q);
      } finally {
        ec.unlock();
      }
    } // ~ if (q != null)
    return fetchSpecification;
  }
Пример #26
0
  // Préviens de charger la liste des diplomes avec RN ... et celle sans RN, pour l'année en cours
  // à chaque refetch, on raffraichit avec les datas de la base...
  public void chargerDiplRN() {

    NSArray bindings = new NSArray(new Object[] {cptLogin, getFannKey()});
    EOQualifier qualifier =
        EOQualifier.qualifierWithQualifierFormat("cptLogin = %@ and fannKey = %@", bindings);

    EOSortOrdering ordreDipl =
        EOSortOrdering.sortOrderingWithKey("diplome", EOSortOrdering.CompareAscending);
    NSArray sortOrderings = new NSArray(new Object[] {ordreDipl});

    // la liste des diplomes qui n'autorisent pas les RN par le Web
    EOFetchSpecification fetchSpec =
        new EOFetchSpecification("VDiplomeSansRn", qualifier, sortOrderings);
    fetchSpec.setRefreshesRefetchedObjects(true);

    EOEditingContext ec = maSession.defaultEditingContext();
    listeDiplSansRN = ec.objectsWithFetchSpecification(fetchSpec);

    // la liste des diplomes qui autorisent les RN par le Web
    fetchSpec = new EOFetchSpecification("VDiplomeAvecRn", qualifier, sortOrderings);
    fetchSpec.setRefreshesRefetchedObjects(true);

    listeDiplAvecRN = ec.objectsWithFetchSpecification(fetchSpec);
  }
  private void updateEodHabilitations() {
    boolean edtCreateur = ((Boolean) app.userInfo("edtCreateur")).booleanValue();
    NSArray<Object> droits = (NSArray<Object>) app.userInfo("droits");
    if (!edtCreateur && (droits == null || droits.count() == 0)) {
      eodHabilitations.setObjectArray(null);
      myView.getMyEOTableHabilitations().updateData();
      return;
    }

    String grade = myView.getTfGrade().getText();
    String diplome = myView.getTfDiplome().getText();

    NSMutableArray<EOQualifier> sumQualifiers = new NSMutableArray<EOQualifier>();

    if (!diplome.equals("")) {
      sumQualifiers.addObject(
          EOQualifier.qualifierWithQualifierFormat(
              FormationHabilitation.FORMATION_SPECIALISATION_KEY
                  + "."
                  + FormationSpecialisation.SCOL_FORMATION_DIPLOME_KEY
                  + "."
                  + FormationDiplome.FDIP_ABREVIATION_KEY
                  + " caseInsensitiveLike '*"
                  + diplome
                  + "*'"
                  + " or "
                  + FormationHabilitation.FORMATION_SPECIALISATION_KEY
                  + "."
                  + FormationSpecialisation.SCOL_FORMATION_DIPLOME_KEY
                  + "."
                  + FormationDiplome.FDIP_ABREVIATION_KEY
                  + " caseInsensitiveLike '*"
                  + diplome
                  + "*'",
              null));
    }

    if (!grade.equals("")) {
      sumQualifiers.addObject(
          EOQualifier.qualifierWithQualifierFormat(
              FormationHabilitation.FORMATION_SPECIALISATION_KEY
                  + "."
                  + FormationSpecialisation.SCOL_FORMATION_DIPLOME_KEY
                  + "."
                  + FormationDiplome.FGRA_CODE_KEY
                  + " caseInsensitiveLike '*"
                  + grade
                  + "*'",
              null));
    }

    sumQualifiers.addObject(
        EOQualifier.qualifierWithQualifierFormat(
            FormationHabilitation.FANN_KEY_KEY + " = %@",
            new NSArray<Object>(
                ((FormationAnnee) myView.getCbAnnee().getSelectedItem()).fannKey())));

    // si edtCreateur : peut voir tous les diplomes
    if (!edtCreateur) {
      sumQualifiers.addObject(
          new EOKeyValueQualifier(
              FormationHabilitation.DROIT_DIPLOMES_KEY + "." + ScolDroitDiplome.DLOG_KEY_KEY,
              EOKeyValueQualifier.QualifierOperatorEqual,
              droits.objectAtIndex(0)));
      sumQualifiers.addObject(
          new EOKeyValueQualifier(
              FormationHabilitation.DROIT_DIPLOMES_KEY + "." + ScolDroitDiplome.DDIP_EDT_KEY,
              EOKeyValueQualifier.QualifierOperatorEqual,
              "A"));
    }

    EOQualifier totalQualifier = new EOAndQualifier(sumQualifiers);

    EOFetchSpecification myFetch =
        new EOFetchSpecification(FormationHabilitation.ENTITY_NAME, totalQualifier, null);
    myFetch.setUsesDistinct(true);
    myFetch.setRefreshesRefetchedObjects(true);
    eodHabilitations.setObjectArray(ec.objectsWithFetchSpecification(myFetch));
    myView.getMyEOTableHabilitations().updateData();
  }
Пример #28
0
  // changer la valeur dans la base de l'occurence concernée de l'entite IP_BILANRN_OK
  // SSI la valeur a été changé par l'utilisateur !!!
  private void setEtatRnAff(boolean semImpair, Integer nouvValSessionAutorn) {

    EOGenericRecord leDiplSemCourant;
    if (semImpair) leDiplSemCourant = leDiplSemCourantImpair;
    else leDiplSemCourant = leDiplSemCourantPair;

    int ancValSessionAutorn = getEtatChoixAutorn(semImpair);
    if (ancValSessionAutorn != nouvValSessionAutorn.intValue()) { // alors on a changé qq chose

      String diplome = ((Session) session()).monApp.recuperer1String(leDiplSemCourant, "diplome");
      String mparLibelle =
          ((Session) session()).monApp.recuperer1String(leDiplSemCourant, "mparLibelle");
      int msemOrdre = ((Session) session()).monApp.recuperer1int(leDiplSemCourant, "msemOrdre");
      NSLog.out.appendln(
          "On change l'état pour "
              + diplome
              + ", "
              + mparLibelle
              + " sem."
              + msemOrdre
              + " : passage à "
              + nouvValSessionAutorn);

      //  		MAJ des relationsChips... pour suivre l’ajout des objets
      //  		catSelected.addObjectToBothSidesOfRelationshipWithKey(itemEdit,"items");

      // est-ce que l'on a déjà un EO pour l'entite IP_BILANRN_OK qui serait associée à ce
      // "leDiplSemCourantImpair" ?
      Integer mrsemKey = (Integer) leDiplSemCourant.valueForKey("mrsemKey");
      Integer fannKey = new Integer(((Session) session()).getAnneeEnCours());
      EOEditingContext ec = ((Session) session()).defaultEditingContext();

      Integer etatAutoRN = (Integer) leDiplSemCourant.valueForKey("rnaffEtat");
      if (etatAutoRN == null) { // non : créer le nouvel EO et l'insérer...
        IpBilanrnOk etatAutorn = new IpBilanrnOk();
        etatAutorn.setFannKey(fannKey);
        etatAutorn.setMrsemKey(mrsemKey);
        etatAutorn.setRnaffEtat(nouvValSessionAutorn);
        ec.insertObject(etatAutorn);

      } else {
        // oui : modifier le EO... en commençant par le fetcher...
        NSArray bindings = new NSArray(new Object[] {fannKey, mrsemKey});
        EOQualifier qualifier =
            EOQualifier.qualifierWithQualifierFormat("fannKey = %@ and mrsemKey = %@", bindings);

        EOFetchSpecification fetchSpec = new EOFetchSpecification("IpBilanrnOk", qualifier, null);
        fetchSpec.setRefreshesRefetchedObjects(true);

        NSArray res = ec.objectsWithFetchSpecification(fetchSpec);
        if (res != null && res.count() > 0) {
          IpBilanrnOk etatAutorn = (IpBilanrnOk) res.objectAtIndex(0);
          etatAutorn.setRnaffEtat(nouvValSessionAutorn);
        }
      }

      // sauver le tout...
      ec.saveChanges();

      // TODO : marche pas ci-dessous... faire un reload !
      // leDiplSemCourant.takeStoredValueForKey(new Integer(sessionAutorn), "rnaffEtat");
      monAutornDiplCtrlr.reloaderVueAutoRN(mrsemKey);
    }
  }
Пример #29
0
  // SELECT des �tudiants master
  public static NSArray EtudiantsMST(
      EOEditingContext myContext, NSDictionary bindinds, Recherche searchMsg) {
    String periode = (String) bindinds.valueForKey("periode");
    String diplome = (String) bindinds.valueForKey("diplome");
    String prdDiplome = (String) bindinds.valueForKey("prdDiplome");
    String niveau = (String) bindinds.valueForKey("niveau");
    String uv = (String) bindinds.valueForKey("uv");
    String nom = (String) bindinds.valueForKey("nom");
    String prenom = (String) bindinds.valueForKey("prenom");
    String numero = (String) bindinds.valueForKey("numero");
    String idConseiller = (String) bindinds.valueForKey("idConseiller");
    NSMutableArray quals = new NSMutableArray();
    quals.addObject(typeEmail());
    quals.addObject(qualCivilite());
    quals.addObject(qualEia());
    // quals.addObject(refMail());
    if ((StringCtrl.isEmpty(nom))
        && (StringCtrl.isEmpty(prenom))
        && ((StringCtrl.isEmpty(numero)))
        && (periode == null || (StringCtrl.isEmpty(periode)))
        && (diplome == null || (StringCtrl.isEmpty(diplome)))
        && (niveau == null || (StringCtrl.isEmpty(niveau)))
        && (uv == null || (StringCtrl.isEmpty(uv)))
        && ((StringCtrl.isEmpty(idConseiller)))) {
      searchMsg.setSearchMsg("Veuillez affiner la recherche, trop de donn�es remont�es");
      return NSArray.EmptyArray;
    }
    if (lesConseillers(myContext, idConseiller).count() != 0) {
      quals.addObject(qualForConseiller(myContext, idConseiller));
    } else {
      if (!(StringCtrl.isEmpty(nom))) {
        NSMutableArray qua = new NSMutableArray();
        qua.addObject(qualForNomLike(nom));
        qua.addObject(qualForNomNaisLike(nom));
        EOQualifier nor = new EOOrQualifier(qua);
        quals.addObject(nor);
      }
      if (!(StringCtrl.isEmpty(prenom))) {
        String deb = prenom.substring(0, 1).toUpperCase();
        String rest = prenom.substring(1, prenom.length()).toLowerCase();
        prenom = deb + rest;
        quals.addObject(qualForPrenomLike(prenom));
      }
      if (!(StringCtrl.isEmpty(numero))) {
        quals.addObject(qualNumero(numero));
      }
      if (periode != null && !(StringCtrl.isEmpty(periode))) {
        quals.addObject(qualForPeriode(periode));
      }
      if (diplome != null && !(StringCtrl.isEmpty(diplome))) {
        quals.addObject(qualDiplome(diplome));
      }
      if (prdDiplome != null && !(StringCtrl.isEmpty(prdDiplome))) {
        quals.addObject(qualPrdDiplome(prdDiplome));
      }
      if (niveau != null && !(StringCtrl.isEmpty(niveau))) {
        quals.addObject(qualMST(niveau, diplome, prdDiplome));
      }
      if (uv != null && !(StringCtrl.isEmpty(uv))) {
        quals.addObject(qualForUv(uv, periode));
      }
    }

    EOQualifier qual = new EOAndQualifier(quals);
    EOFetchSpecification spec =
        new EOFetchSpecification(
            "EOIndividu", qual, new NSArray(new Object[] {SORT_NOM_ASC, SORT_PRENOM_ASC}));
    spec.setPrefetchingRelationshipKeyPaths(preFetch());
    spec.setUsesDistinct(true);
    NSArray disp = myContext.objectsWithFetchSpecification(spec);
    return disp;
  }
  /**
   * Generates the sql string for the given sql expression. Bulk of the logic for generating the
   * sub-query is in this method.
   *
   * @param e a given sql expression
   * @return sql string for the current sub-query.
   */
  public String sqlStringForSQLExpression(EOSQLExpression e) {
    StringBuffer sb = new StringBuffer();
    if (attributeName != null) sb.append(e.sqlStringForAttributeNamed(attributeName));
    else {
      EOAttribute pk = (EOAttribute) e.entity().primaryKeyAttributes().lastObject();
      sb.append(e.sqlStringForAttribute(pk));
    }
    sb.append(" IN ( ");
    EOEntity entity =
        entityName == null ? e.entity() : e.entity().model().modelGroup().entityNamed(entityName);

    EOFetchSpecification fs =
        new EOFetchSpecification(entity.name(), qualifier, null, false, true, null);

    if (qualifier != null) {
      qualifier =
          EOQualifierSQLGeneration.Support._schemaBasedQualifierWithRootEntity(qualifier, entity);
    }
    if (qualifier != fs.qualifier()) {
      fs.setQualifier(qualifier);
    }

    // ASSUME: This makes a few assumptions, if anyone can figure out a fool
    // proof way that would be nice to get the model
    // Note you can't use:
    // EOAdaptor.adaptorWithModel(e.entity().model()).expressionFactory();
    // as this creates a
    //
    EODatabaseContext context =
        EODatabaseContext.registeredDatabaseContextForModel(
            entity.model(), EOObjectStoreCoordinator.defaultCoordinator());
    EOSQLExpressionFactory factory = context.database().adaptor().expressionFactory();

    NSArray subAttributes =
        destinationAttName != null
            ? new NSArray(entity.attributeNamed(destinationAttName))
            : entity.primaryKeyAttributes();

    EOSQLExpression subExpression = factory.expressionForEntity(entity);

    // Arroz: Having this table identifier replacement causes serious
    // problems if you have more than a table being processed in the subquery. Disabling
    // it will apparently not cause problems, because t0 inside the subquery is not
    // the same t0 outside it.
    // subExpression.aliasesByRelationshipPath().setObjectForKey("t1", "");

    subExpression.setUseAliases(true);
    subExpression.prepareSelectExpressionWithAttributes(subAttributes, false, fs);
    // EOSQLExpression
    // expression=factory.selectStatementForAttributes(entity.primaryKeyAttributes(),
    // false, fs,  entity);

    for (Enumeration bindEnumeration = subExpression.bindVariableDictionaries().objectEnumerator();
        bindEnumeration.hasMoreElements(); ) {
      e.addBindVariableDictionary((NSDictionary) bindEnumeration.nextElement());
    }

    // sb.append(ERXStringUtilities.replaceStringByStringInString("t0.",
    // "t1.", subExpression.statement()));
    sb.append(subExpression.statement());
    sb.append(" ) ");
    return sb.toString();
  }