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(); }
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; }
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; }
/** * <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); }
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; } }
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; }
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; }
// 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)); }
// 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); }