Exemple #1
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();
  }
Exemple #2
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);
      }
    }
  }
 // 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;
 }
Exemple #4
0
 public NSArray localList() {
   if (indexItem == null) return null;
   NSDictionary local = (NSDictionary) indexItem.valueForKey("local");
   if (local == null) return null;
   NSArray result = (NSArray) local.valueForKey("list");
   if (result != null) return result;
   String entityName = (String) local.valueForKey("entityName");
   if (entityName != null) {
     EOQualifier qual = null;
     String qualifier = (String) local.valueForKey("qualifier");
     if (qualifier != null) {
       NSArray args = (NSArray) local.valueForKey("args");
       if (args != null && args.count() > 0) {
         Object[] a = new Object[args.count()];
         for (int i = 0; i < a.length; i++) {
           a[i] = DisplayAny.ValueReader.evaluateValue(args.objectAtIndex(i), plist, this);
         }
         args = new NSArray(a);
       }
       qual = EOQualifier.qualifierWithQualifierFormat(qualifier, args);
     }
     NSArray sorter = (NSArray) local.valueForKey("sorter");
     if (sorter != null && sorter.count() > 0) {
       Object[] s = new Object[sorter.count()];
       for (int i = 0; i < s.length; i++) {
         Object sort = sorter.objectAtIndex(i);
         if (sort instanceof String) {
           s[i] = new EOSortOrdering((String) sort, EOSortOrdering.CompareAscending);
         } else {
           NSDictionary so = (NSDictionary) sort;
           String key = (String) so.valueForKey("key");
           String order = (String) so.valueForKey("order");
           s[i] = new EOSortOrdering(key, EOSortOrdering._operatorSelectorForString(order));
         }
       }
       sorter = new NSArray(s);
     }
     EOFetchSpecification fs = new EOFetchSpecification(entityName, qual, sorter);
     result = ec.objectsWithFetchSpecification(fs);
   } else if (local.valueForKey("methodName") != null)
     result = (NSArray) DisplayAny.ValueReader.evaluateDict(local, plist, this);
   if (result != null) {
     String uniq = (String) local.valueForKey("uniqueAttribute");
     if (uniq != null) {
       NSMutableArray res = new NSMutableArray();
       for (int i = 0; i < result.count(); i++) {
         Object obj =
             NSKeyValueCodingAdditions.Utility.valueForKeyPath(result.objectAtIndex(i), uniq);
         if (obj instanceof String) obj = WOMessage.stringByEscapingHTMLString((String) obj);
         if (!res.containsObject(obj)) res.addObject(obj);
       }
       result = res;
     }
   }
   local.takeValueForKey(result, "list");
   return result;
 }
Exemple #5
0
 /**
  * <span class="en"> Constructs an Or qualifier for filtering an array of strings that might have
  * the * wildcard character. Will be nice when we have regex in Java 1.4.
  *
  * @param emailPatterns array of email patterns
  * @return or qualifier to match any of the given patterns </span>
  *     <p><span class="ja"> ワイルドカード文字 * を持つ配列をフィルターする Or qualifier を作成します。
  * @param emailPatterns - メール・パタンの配列
  * @return 指定パタンのマッチに使用する or qualifier </span>
  */
 protected EOOrQualifier qualifierArrayForEmailPatterns(NSArray<String> emailPatterns) {
   NSMutableArray<EOQualifier> patternQualifiers = new NSMutableArray<EOQualifier>();
   for (String pattern : emailPatterns) {
     patternQualifiers.addObject(
         EOQualifier.qualifierWithQualifierFormat(
             "toString caseInsensitiveLike '" + pattern + "'", null));
   }
   return new EOOrQualifier(patternQualifiers);
 }
Exemple #6
0
 public WOComponent eval() {
   qualifier = null;
   error = null;
   try {
     qualifier = EOQualifier.qualifierWithQualifierFormat(qualifierString, null);
   } catch (Throwable ex) {
     error = ex.getMessage();
   }
   return null;
 }
  private void updateCbParcours() {
    myView.getCbParcours().removeAllItems();
    if (eodHabilitations.selectedObjects() != null
        && eodHabilitations.selectedObjects().count() == 1) {
      FormationHabilitation selectedHabilitation =
          (FormationHabilitation) eodHabilitations.selectedObject();
      int niveau = selectedHabilitation.fhabNiveau().intValue();
      int ordre1 = niveau * 2 - 1;
      int ordre2 = ordre1 + 1;

      EOQualifier qualifier =
          EOQualifier.qualifierWithQualifierFormat(
              "("
                  + MaquetteRepartitionSem.SEMESTRE_KEY
                  + "."
                  + MaquetteSemestre.MSEM_ORDRE_KEY
                  + " = %@ or "
                  + MaquetteRepartitionSem.SEMESTRE_KEY
                  + "."
                  + MaquetteSemestre.MSEM_ORDRE_KEY
                  + " = %@) and "
                  + MaquetteRepartitionSem.PARCOURS_KEY
                  + "."
                  + MaquetteParcours.FORMATION_SPECIALISATION_KEY
                  + " = %@ and "
                  + MaquetteRepartitionSem.FANN_KEY_KEY
                  + " = %@",
              new NSArray<Object>(
                  new Object[] {
                    new Integer(ordre1),
                    new Integer(ordre2),
                    selectedHabilitation.formationSpecialisation(),
                    selectedHabilitation.fannKey()
                  }));
      EOSortOrdering sortSemestres =
          EOSortOrdering.sortOrderingWithKey(
              MaquetteRepartitionSem.SEMESTRE_KEY + "." + MaquetteSemestre.MSEM_ORDRE_KEY,
              EOSortOrdering.CompareCaseInsensitiveAscending);
      EOSortOrdering sortParcours =
          EOSortOrdering.sortOrderingWithKey(
              MaquetteRepartitionSem.PARCOURS_KEY + "." + MaquetteParcours.MPAR_LIBELLE_KEY,
              EOSortOrdering.CompareCaseInsensitiveAscending);

      NSArray<MaquetteRepartitionSem> semestres =
          MaquetteRepartitionSem.fetchMaquetteRepartitionSems(
              ec,
              qualifier,
              new NSArray<EOSortOrdering>(new EOSortOrdering[] {sortSemestres, sortParcours}));

      myView.getCbParcours().addItem(null);
      for (int i = 0; i < semestres.count(); i++) {
        myView.getCbParcours().addItem(semestres.objectAtIndex(i));
      }
    }
  }
 /** EOEditingContext context String tableName String key Object value */
 public static EOGenericRecord fetchUniqueData(
     EOEditingContext context, String tableName, String key, Object value) {
   EOQualifier qualifie =
       EOQualifier.qualifierWithQualifierFormat(key + "=%@", new NSArray(value));
   NSArray objets = fetchData(context, tableName, qualifie);
   if (objets.count() > 0) {
     return (EOGenericRecord) objets.objectAtIndex(0);
   } else {
     return null;
   }
 }
Exemple #9
0
 public EOQualifier qualifier() {
   if (qualifier == null) {
     try {
       qualifier = EOQualifier.qualifierWithQualifierFormat(qualifierString, null);
     } catch (Throwable ex) {
       error = ex.getMessage();
       System.err.println(ex);
     }
   }
   return qualifier;
 }
  public static EOQualifier qualifierFromPeriodicites(NSArray periodicites) {
    NSMutableArray qDates = new NSMutableArray();
    for (int i = 0; i < periodicites.count(); i += 2) {
      NSTimestamp debut = (NSTimestamp) periodicites.objectAtIndex(i);
      NSTimestamp fin = (NSTimestamp) periodicites.objectAtIndex(i + 1);
      qDates.addObject(
          EOQualifier.qualifierWithQualifierFormat(
              "dateFin>%@ and dateDeb<%@", new NSArray(new Object[] {debut, fin})));
    }

    EOQualifier qualifierDates = new EOOrQualifier(qDates);
    return qualifierDates;
  }
Exemple #11
0
  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;
  }
Exemple #12
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();
  }
 /** renvoi un qualifier construit avec l'expression et les valeurs */
 public static EOQualifier getQualifier(String expression, NSArray values) {
   return EOQualifier.qualifierWithQualifierFormat(expression, values);
 }
 /** renvoi un qualifier construit avec l'expression */
 public static EOQualifier getQualifier(String expression) {
   return EOQualifier.qualifierWithQualifierFormat(expression, null);
 }
 /**
  * renvoi un qualifier construit avec le champs field et la valeur que l'on veut lui associer.
  * exemple : DBHandler.getSimpleQualifier("individuUlr",eoIndividu)
  */
 public static EOQualifier getSimpleQualifier(String field, Object value) {
   return EOQualifier.qualifierWithQualifierFormat(field + "=%@", new NSArray(value));
 }
Exemple #17
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);
    }
  }
 /** fetch avec une chaine et une valeur correspondante */
 public static NSArray fetchData(
     EOEditingContext context, String tableName, String key, Object value) {
   EOQualifier qualifie =
       EOQualifier.qualifierWithQualifierFormat(key + "=%@", new NSArray(value));
   return fetchData(context, tableName, qualifie);
 }