New file |
0,0 → 1,172 |
package org.tela_botanica.client.modeles.collection; |
|
import java.util.Iterator; |
import java.util.Map; |
import java.util.Set; |
|
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.publication.Publication; |
|
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
|
public class CollectionAPublication extends aDonnee { |
|
private static final long serialVersionUID = 1L; |
|
public static final String PREFIXE = "ccapu"; |
private Publication publicationLiee = null; |
public static String[] champsObligatoires = {"ccapu_id_collection", "ccapu_id_publication"}; |
|
public CollectionAPublication() { |
initialiser(new JSONObject()); |
} |
|
public CollectionAPublication(boolean removePrefix) { |
this.removePrefix = removePrefix; |
initialiser(new JSONObject()); |
} |
|
public CollectionAPublication(JSONObject collectionAPublicationListe) { |
initialiser(collectionAPublicationListe); |
} |
|
public CollectionAPublication(ModelData model, boolean removePrefix) |
{ |
this.removePrefix = removePrefix; |
|
Map<String, Object> a = model.getProperties(); |
|
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+Publication.PREFIXE+"_", ""); |
cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", ""); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
|
setPublication(new Publication(model, removePrefix)); |
this.set("_etat_", a.get("_etat_")); |
} |
|
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
|
protected String[] getChampsObligatoires() { |
return champsObligatoires; |
} |
|
private void initialiser(JSONObject collectionAPublicationListe) { |
setPublication(new Publication(collectionAPublicationListe)); |
initialiserChampsPourGrille(); |
initialiserModele(collectionAPublicationListe); |
} |
|
// PUBLICATION |
public Publication getPublication() { |
return publicationLiee; |
} |
public void setPublication(Publication publication) { |
publicationLiee = publication; |
initialiserChampsPourGrille(); |
if (publication != null) { |
setIdPublication(publication.getId()); |
} |
} |
|
private void initialiserChampsPourGrille() { |
if (removePrefix) { |
set("fmt_auteur", getPublication().getAuteur()); |
set("titre", getPublication().getTitre()); |
set("collection", getPublication().getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("indication_nvt", getPublication().getIndicationNvt()); |
set("fascicule", getPublication().getFascicule()); |
set("truk_pages", getPublication().getPages()); |
set("_etat_", ""); |
} else { |
set(Publication.PREFIXE+"_fmt_auteur", getPublication().getAuteur()); |
set(Publication.PREFIXE+"_titre", getPublication().getTitre()); |
set(Publication.PREFIXE+"_collection", getPublication().getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set(Publication.PREFIXE+"_indication_nvt", getPublication().getIndicationNvt()); |
set(Publication.PREFIXE+"_fascicule", getPublication().getFascicule()); |
set(Publication.PREFIXE+"_truk_pages", getPublication().getPages()); |
set("_etat_", ""); |
} |
} |
|
// ID |
/** Génère un identifiant de CollectionAPersonne. |
* |
* C'est une concaténation des clés primaires de la table coel_collection_a_personne séparées par un tiret "-". |
* |
* @return identifiant unique d'une relation "collection à personne". |
*/ |
public String getId() { |
String idCollection = getIdCollection(); |
String idPublication = getIdPublication(); |
if (idCollection.equals("") && idPublication.equals("")) { |
return null; |
} else { |
return (idCollection+"-"+idPublication); |
} |
} |
|
//+---------------------------------------------------------------------------------------------------------------+ |
// CHAMPS PROVENANT de la TABLE COEL_COLLECTION_A_PERSONNE |
|
// ID COLLECTION |
public String getIdCollection() { |
if (removePrefix) return renvoyerValeurCorrecte("id_collection"); |
else return renvoyerValeurCorrecte(PREFIXE+"_id_collection"); |
} |
public void setIdCollection(String idCollection) { |
if (removePrefix) set("id_collection", idCollection); |
else set(PREFIXE+"_id_collection", idCollection); |
} |
|
// ID PUBLICATION |
public String getIdPublication() { |
String idPublication; |
if (removePrefix) { |
idPublication = renvoyerValeurCorrecte("id_publication"); |
} else { |
idPublication = renvoyerValeurCorrecte(PREFIXE+"_id_publication"); |
} |
return idPublication; |
} |
public void setIdPublication(String ip) { |
if (removePrefix) { |
set("id_publication", ip); |
} else { |
set(PREFIXE+"_id_publication", ip); |
} |
} |
|
// SOURCE |
public String getSource() { |
if (removePrefix) return renvoyerValeurCorrecte("source"); |
else return renvoyerValeurCorrecte(PREFIXE+"_source"); |
} |
public void setSource(String source) { |
if (removePrefix) set("source", source); |
else set(PREFIXE+"_source", source); |
} |
|
} |
Property changes: |
Added: svn:mergeinfo |
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/modeles/collection/CollectionAPublication.java:r1136-1368 |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublication.java:r11-934,1209-1382 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPublication.java:r1383-1511 |