[
https://issues.apache.org/jira/browse/SPARK-28180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224601#comment-17224601
]
Julien commented on SPARK-28180:
--------------------------------
Not too sure what your issue is. It is to indicate that a meaningful error
message should be produced?
BTW, stating that "_Scala_ costs a lot to _Spark"_ cannot be correct: spark is
implemented in scala :)
However, the java API is not at the same level as the scala API. I myself have
several issue with the Encoders.bean tool and not being able to construct
own-made encoders for java POJO. Automatic is not always a good idea. In your
case, the automatic parsing of the POJO getters to list the encoder fields is
not helpful...
> Encoding CSV to Pojo works with Encoders.bean on RDD but fail on asserts when
> attemtping it from a Dataset<Row>
> ---------------------------------------------------------------------------------------------------------------
>
> Key: SPARK-28180
> URL: https://issues.apache.org/jira/browse/SPARK-28180
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 2.4.3
> Environment: Debian 9, Java 8.
> Reporter: Marc Le Bihan
> Priority: Major
>
> I am converting an _RDD_ spark program to a _Dataset_ one.
> Once, it was converting a CSV file mapped the help of a Jackson loader to a
> RDD of Enterprise objects with Encoders.bean(Entreprise.class), and now it is
> doing the conversion more simplier, by loading the CSV content into a
> Dataset<Row> and applying the _Encoders.bean(Entreprise.class)_ on it.
> {code:java}
> Dataset<Row> csv = this.session.read().format("csv")
> .option("header","true").option("quote", "\"").option("escape", "\"")
> .load(source.getAbsolutePath())
> .selectExpr(
> "ActivitePrincipaleUniteLegale as ActivitePrincipale",
> "CAST(AnneeCategorieEntreprise as INTEGER) as
> AnneeCategorieEntreprise",
> "CAST(AnneeEffectifsUniteLegale as INTEGER) as
> AnneeValiditeEffectifSalarie",
> "CAST(CaractereEmployeurUniteLegale == 'O' as BOOLEAN) as
> CaractereEmployeur",
> "CategorieEntreprise",
> "CategorieJuridiqueUniteLegale as CategorieJuridique",
> "DateCreationUniteLegale as DateCreationEntreprise", "DateDebut
> as DateDebutHistorisation", "DateDernierTraitementUniteLegale as
> DateDernierTraitement",
> "DenominationUniteLegale as Denomination",
> "DenominationUsuelle1UniteLegale as DenominationUsuelle1",
> "DenominationUsuelle2UniteLegale as DenominationUsuelle2",
> "DenominationUsuelle3UniteLegale as DenominationUsuelle3",
> "CAST(EconomieSocialeSolidaireUniteLegale == 'O' as BOOLEAN) as
> EconomieSocialeSolidaire",
> "CAST(EtatAdministratifUniteLegale == 'A' as BOOLEAN) as Active",
> "IdentifiantAssociationUniteLegale as IdentifiantAssociation",
> "NicSiegeUniteLegale as NicSiege",
> "CAST(NombrePeriodesUniteLegale as INTEGER) as NombrePeriodes",
> "NomenclatureActivitePrincipaleUniteLegale as
> NomenclatureActivitePrincipale",
> "NomUniteLegale as NomNaissance", "NomUsageUniteLegale as
> NomUsage",
> "Prenom1UniteLegale as Prenom1", "Prenom2UniteLegale as Prenom2",
> "Prenom3UniteLegale as Prenom3", "Prenom4UniteLegale as Prenom4",
> "PrenomUsuelUniteLegale as PrenomUsuel",
> "PseudonymeUniteLegale as Pseudonyme",
> "SexeUniteLegale as Sexe",
> "SigleUniteLegale as Sigle",
> "Siren",
> "TrancheEffectifsUniteLegale as TrancheEffectifSalarie"
> );
> {code}
> The _Dataset<Row>_ is succesfully created. But the following call of
> _Encoders.bean(Enterprise.class)_ fails :
> {code:java}
> java.lang.AssertionError: assertion failed
> at scala.Predef$.assert(Predef.scala:208)
> at
> org.apache.spark.sql.catalyst.encoders.ExpressionEncoder$.javaBean(ExpressionEncoder.scala:87)
> at org.apache.spark.sql.Encoders$.bean(Encoders.scala:142)
> at org.apache.spark.sql.Encoders.bean(Encoders.scala)
> at
> fr.ecoemploi.spark.entreprise.EntrepriseService.dsEntreprises(EntrepriseService.java:178)
> at
> test.fr.ecoemploi.spark.entreprise.EntreprisesIT.datasetEntreprises(EntreprisesIT.java:72)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:532)
> at
> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
> at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:171)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:167)
> at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:114)
> at
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:59)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:108)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
> at java.util.ArrayList.forEach(ArrayList.java:1257)
> at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
> at java.util.ArrayList.forEach(ArrayList.java:1257)
> at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
> at
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
> at
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
> at
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
> at
> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
> at
> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
> at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
> at
> org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
> at
> org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
> at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
> at
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:137)
> at
> org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
> {code}
> The message : "_java.lang.AssertionError: assertion failed_"
> comes from the scala_2.12 I am relying on, and it angers me a lot against
> _Scala_ developpers. Who still dares writing asserts or exceptions without
> accompagny them with a clear message ? What was that line checking and
> against which value in my case ?
> _Scala_ costs a lot to _Spark_. Poor quality, unable to work with Java 11.
> Unreliable.
> Whatever. There is a problem with _Encoders.bean(...)_ wasn't able to check
> something before sending the mapping orders.
> After many tests, it appears that the POJO getter
> {code:java}
> public Set<String> getActivites()
> {code}
> causes the assert. Even if renamed with a non-getter name such as
> {code:java}
> public Set<String> activites()
> {code}
> I had to remove it to allow Spark working.
> P.S. : The code of the Entreprise POJO class is this one, if needed.
> {code:java}
> /**
> * Entreprise
> * @author Marc LE BIHAN
> */
> public class Entreprise extends AbstractSirene<SIREN> implements
> Iterable<Etablissement>, Comparable<Entreprise> {
> /** Serial ID. */
> private static final long serialVersionUID = 2451240618966775942L;
>
> /** Liste des établissements de l'entreprise. */
> private Etablissements etablissements = new Etablissements();
>
> /** Sigle de l'entreprise */
> private String sigle;
>
> /** Nom de naissance */
> private String nomNaissance;
>
> /** Nom d'usage */
> private String nomUsage;
>
> /** Prénom usuel */
> private String prenomUsuel;
>
> /** Autre prénom 1. */
> private String prenom1;
> /** Autre prénom 2. */
> private String prenom2;
> /** Autre prénom 3. */
> private String prenom3;
> /** Autre prénom 4. */
> private String prenom4;
>
> /** Pseudonyme de la personne physique. */
> private String pseudonyme;
>
> /** Sexe de la personne physique. */
> private String sexe;
> /** Numéro d’identification au répertoire national des associations */
> private String rna;
> /** Dénomination usuelle de l'entreprise 1. */
> private String denominationUsuelle1;
> /** Dénomination usuelle de l'entreprise 2. */
> private String denominationUsuelle2;
> /** Dénomination usuelle de l'entreprise 3. */
> private String denominationUsuelle3;
>
> /** Appartenance au champ de l’économie sociale et solidaire */
> private boolean economieSocialeEtSolidaire;
>
> /** Catégorie d'entreprise */
> private String categorieEntreprise;
>
> /** Année et mois de création de l'entreprise */
> private String dateCreationEntreprise;
> /** Année de mise à jour de la catégorie. */
> private Integer anneeCategorieEntreprise;
>
> /** Numéro interne de classement de l'établissement siège */
> private String nicsiege;
>
> /** Catégorie juridique de l'entreprise. */
> private String categorieJuridique;
>
> /** Indique si l'entreprise a été purgée du fichier. */
> private boolean purgee;
> /**
> * Ajouter un établissement à l'entreprise.
> * @param etablissement Etablissement.
> */
> public void ajouterEtablissement(Etablissement etablissement) {
> Objects.requireNonNull(etablissement, "L'établissement à ajouter ne
> peut pas valoir null.");
> this.etablissements.put(etablissement.getSiret(), etablissement);
> }
>
> /**
> * Renvoyer la liste des activités principales de l'entreprise, tous
> établissements regroupés avec la sienne déclarée.
> * @return Liste des activités principales.
> */
> public Set<String> getActivites() {
> Set<String> activites = this.etablissements.getActivites();
>
> if (getActivitePrincipale() != null) {
> activites.add(getActivitePrincipale());
> }
>
> return activites;
> }
>
> /**
> * Renvoyer le SIREN de l'entreprise.
> * @return SIREN.
> */
> public SIREN asSiren() {
> return sirenOuSiret();
> }
>
> /**
> * Renvoyer le SIREN de l'entreprise.
> * @return SIREN.
> */
> public String getSiren() {
> return sirenOuSiret().toString();
> }
>
> /**
> * Fixer le SIREN de l'entreprise.
> * @param siren SIREN.
> */
> public void setSiren(String siren) {
> sirenOuSiret(new SIREN(siren));
> }
> /**
> * Renvoyer la liste des établissements de l'entreprise.
> * @return Liste des établissements.
> */
> public Map<String, Etablissement> etablissements() {
> return this.etablissements;
> }
> /**
> * Fixer la liste des établissements de l'entreprise.
> * @param etablissementsEntreprise Liste des établissements.
> */
> public void etablissements(Etablissements etablissementsEntreprise) {
> this.etablissements = etablissementsEntreprise;
> }
> /**
> * Renvoyer le sigle (forme réduite de la raison sociale ou de la
> dénomination d'une personne morale ou d'un organisme public) (SIGLE).
> * @return Sigle.
> */
> public String getSigle() {
> return this.sigle;
> }
> /**
> * Fixer le sigle (forme réduite de la raison sociale ou de la
> dénomination d'une personne morale ou d'un organisme public) (SIGLE).
> * @param sigle Sigle.
> */
> public void setSigle(String sigle) {
> this.sigle = sigle;
> }
> /**
> * Renvoyer le nom de naissance pour une personne physique (NOM).
> * @return Nom de naissance pour une personne physique.
> */
> public String getNomNaissance() {
> return this.nomNaissance;
> }
> /**
> * Fixer le nom de naissance pour une personne physique (NOM).
> * @param nom Nom de naissance pour une personne physique.
> */
> public void setNomNaissance(String nom) {
> this.nomNaissance = nom;
> }
> /**
> * Renvoyer le prénom usuel pour une personne physique (PRENOM).
> * @return Prénom usuel pour une personne physique.
> */
> public String getPrenomUsuel() {
> return this.prenomUsuel;
> }
> /**
> * Fixer le prénom usuel pour une personne physique (PRENOM).
> * @param prenom Prénom usuel pour une personne physique.
> */
> public void setPrenomUsuel(String prenom) {
> this.prenomUsuel = prenom;
> }
> /**
> * Renvoyer le premier autre prénom de la personne physique.
> * @return Prénoms.
> */
> public String getPrenom1() {
> return this.prenom1;
> }
> /**
> * Fixer le premier autre prénom de la personne physique.
> * @param prenom Prénoms.
> */
> public void setPrenom1(String prenom) {
> this.prenom1 = prenom;
> }
> /**
> * Renvoyer le deuxième autre prénom de la personne physique.
> * @return Prénoms.
> */
> public String getPrenom2() {
> return this.prenom2;
> }
> /**
> * Fixer le deuxième autre prénom de la personne physique.
> * @param prenom Prénoms.
> */
> public void setPrenom2(String prenom) {
> this.prenom2 = prenom;
> }
> /**
> * Renvoyer le troisième autre prénom de la personne physique.
> * @return Prénoms.
> */
> public String getPrenom3() {
> return this.prenom3;
> }
> /**
> * Fixer le troisième autre prénom de la personne physique.
> * @param prenom Prénoms.
> */
> public void setPrenom3(String prenom) {
> this.prenom3 = prenom;
> }
> /**
> * Renvoyer le quatrième autre prénom de la personne physique.
> * @return Prénoms.
> */
> public String getPrenom4() {
> return this.prenom4;
> }
> /**
> * Fixer le quatrième autre prénom de la personne physique.
> * @param prenom Prénoms.
> */
> public void setPrenom4(String prenom) {
> this.prenom4 = prenom;
> }
> /**
> * Renvoyer le pseudonyme de la personne physique.
> * @return Pseudonyme.
> */
> public String getPseudonyme() {
> return this.pseudonyme;
> }
> /**
> * Fixer le pseudonyme de la personne physique.
> * @param pseudonyme Pseudonyme.
> */
> public void setPseudonyme(String pseudonyme) {
> this.pseudonyme = pseudonyme;
> }
>
> /**
> * Renvoyer le sexe de la personne physique.
> * @return sexe de la personne physique.
> */
> public Sexe asSexe() {
> return this.sexe != null ? Sexe.valueOf(this.sexe) : null;
> }
>
> /**
> * Renvoyer le sexe de la personne physique.
> * @return sexe de la personne physique.
> */
> public String getSexe() {
> return this.sexe;
> }
> /**
> * Fixer le sexe de la personne physique.
> * @param sexe sexe de la personne physique.
> */
> public void setSexe(String sexe) {
> this.sexe = sexe;
> }
> /**
> * Renvoyer le numéro d’identification au répertoire national des
> associations (RNA).
> * @return W suivi de neuf chiffres.
> */
> public String getRna() {
> return this.rna;
> }
> /**
> * Fixer le numéro d’identification au répertoire national des
> associations (RNA).
> * @param rna W suivi de neuf chiffres.
> */
> public void setRna(String rna) {
> this.rna = rna;
> }
> /**
> * Déterminer si l'entreprise appartient au champ de l’économie sociale et
> solidaire (ESS).
> * @return Appartenance ou non à l'ESS.
> */
> public boolean getEconomieSocialeSolidaire() {
> return this.economieSocialeEtSolidaire;
> }
> /**
> * Fixer si l'entreprise appartient au champ de l’économie sociale et
> solidaire (ESS).
> * @param ess Appartenance ou non à l'ESS.
> */
> public void setEconomieSocialeSolidaire(boolean ess) {
> this.economieSocialeEtSolidaire = ess;
> }
> /**
> * Renvoyer la catégorie de l'entreprise (CATEGORIE).
> * @return Catégorie de l'entreprise :<br>
> * PME ou Petite ou Moyenne Entreprise : La catégorie des petites et
> moyennes entreprises (PME) est constituée des entreprises qui occupent moins
> de 250 personnes, et qui ont un chiffre d'affaires annuel inférieur à 50
> millions d'euros ou un total de bilan n'excédant pas 43 millions d'euros.
> Cette catégorie inclut les microentreprises.<br>
> * ETI ou Entreprise de Taille Intermédiaire : Une entreprise de taille
> intermédiaire est une entreprise qui a entre 250 et 4999 salariés, et soit un
> chiffre d'affaires n'excédant pas 1,5 milliards d'euros soit un total de
> bilan n'excédant pas 2 milliards d'euros.<br>
> * Une entreprise qui a moins de 250 salariés, mais plus de 50 millions
> d'euros de chiffre d'affaires et plus de 43 millions d'euros de total de
> bilan est aussi considérée comme une ETI.<br>
> * GE ou Grande Entreprise : Une grande entreprise est une entreprise qui
> a au moins 5000 salariés. Une entreprise qui a moins de 5000 salariés mais
> plus de 1,5 milliards d'euros de chiffre d'affaires et plus de 2 milliards
> d'euros de total de bilan est aussi considérée comme une grande entreprise.
> */
> public CategorieEntreprise asCategorieEntreprise() {
> return CategorieEntreprise.valueOf(this.categorieEntreprise);
> }
> /**
> * Renvoyer la catégorie de l'entreprise (CATEGORIE).
> * @return Catégorie de l'entreprise :<br>
> * PME ou Petite ou Moyenne Entreprise : La catégorie des petites et
> moyennes entreprises (PME) est constituée des entreprises qui occupent moins
> de 250 personnes, et qui ont un chiffre d'affaires annuel inférieur à 50
> millions d'euros ou un total de bilan n'excédant pas 43 millions d'euros.
> Cette catégorie inclut les microentreprises.<br>
> * ETI ou Entreprise de Taille Intermédiaire : Une entreprise de taille
> intermédiaire est une entreprise qui a entre 250 et 4999 salariés, et soit un
> chiffre d'affaires n'excédant pas 1,5 milliards d'euros soit un total de
> bilan n'excédant pas 2 milliards d'euros.<br>
> * Une entreprise qui a moins de 250 salariés, mais plus de 50 millions
> d'euros de chiffre d'affaires et plus de 43 millions d'euros de total de
> bilan est aussi considérée comme une ETI.<br>
> * GE ou Grande Entreprise : Une grande entreprise est une entreprise qui
> a au moins 5000 salariés. Une entreprise qui a moins de 5000 salariés mais
> plus de 1,5 milliards d'euros de chiffre d'affaires et plus de 2 milliards
> d'euros de total de bilan est aussi considérée comme une grande entreprise.
> */
> public String getCategorieEntreprise() {
> return this.categorieEntreprise;
> }
> /**
> * Fixer la catégorie de l'entreprise (CATEGORIE).
> * @param categorie Catégorie de l'entreprise.
> */
> public void setCategorieEntreprise(String categorie) {
> this.categorieEntreprise = categorie;
> }
> /**
> * @see java.lang.Iterable#iterator()
> */
> @Override
> public Iterator<Etablissement> iterator() {
> return this.etablissements.values().iterator();
> }
> /**
> * Renvoyer le numéro Interne de Classement de l'établissement siège de
> l'entreprise (NICSIEGE).
> * @return Numéro interne de classement.
> */
> public NIC asNicSiege() {
> return new NIC(this.nicsiege);
> }
> /**
> * Renvoyer le numéro Interne de Classement de l'établissement siège de
> l'entreprise (NICSIEGE).
> * @return Numéro interne de classement.
> */
> public String getNicSiege() {
> return this.nicsiege;
> }
> /**
> * Fixer le numéro Interne de Classement de l'établissement siège de
> l'entreprise (NICSIEGE).
> * @param nicsiege Numéro interne de classement.
> */
> public void setNicSiege(String nicsiege) {
> this.nicsiege = nicsiege;
> }
> /**
> * Renvoyer le nom d'usage du détenteur de l'entreprise.
> * @return Nom d'usage.
> */
> public String getNomUsage() {
> return this.nomUsage;
> }
> /**
> * Fixer le nom d'usage du détenteur de l'entreprise.
> * @param nomUsage Nom d'usage.
> */
> public void setNomUsage(String nomUsage) {
> this.nomUsage = nomUsage;
> }
> /**
> * Renvoyer la première dénomination de l'entreprise.
> * @return Dénominations de l'entreprise.
> */
> public String getDenominationUsuelle1() {
> return this.denominationUsuelle1;
> }
> /**
> * Fixer la première dénomination de l'entreprise.
> * @param denomination Dénomination de l'entreprise.
> */
> public void setDenominationUsuelle1(String denomination) {
> this.denominationUsuelle1 = denomination;
> }
> /**
> * Renvoyer la deuxième dénomination de l'entreprise.
> * @return Dénominations de l'entreprise.
> */
> public String getDenominationUsuelle2() {
> return this.denominationUsuelle2;
> }
> /**
> * Fixer la deuxième dénomination de l'entreprise.
> * @param denomination Dénomination de l'entreprise.
> */
> public void setDenominationUsuelle2(String denomination) {
> this.denominationUsuelle2 = denomination;
> }
> /**
> * Renvoyer la troisième dénomination de l'entreprise.
> * @return Dénominations de l'entreprise.
> */
> public String getDenominationUsuelle3() {
> return this.denominationUsuelle3;
> }
> /**
> * Fixer la troisième dénomination de l'entreprise.
> * @param denomination Dénomination de l'entreprise.
> */
> public void setDenominationUsuelle3(String denomination) {
> this.denominationUsuelle3 = denomination;
> }
> /**
> * Renvoyer Année de mise à jour de la catégorie.
> * @return Année.
> */
> public Integer getAnneeCategorieEntreprise() {
> return this.anneeCategorieEntreprise;
> }
> /**
> * Fixer l'année de mise à jour de la catégorie.
> * @param annee Année.
> */
> public void setAnneeCategorieEntreprise(Integer annee) {
> this.anneeCategorieEntreprise = annee;
> }
>
> /**
> * Renvoyer la catégorie juridique de l'entreprise.
> * @return Catégorie juridique de l'entreprise.
> */
> public String getCategorieJuridique() {
> return this.categorieJuridique;
> }
> /**
> * Fixer la catégorie juridique de l'entreprise.
> * @param categorieJuridique Catégorie juridique de l'entreprise.
> */
> public void setCategorieJuridique(String categorieJuridique) {
> this.categorieJuridique = categorieJuridique;
> }
>
> /**
> * Renvoyer la date de création de l'entreprise (DCREN).
> * @return Date de création de l'entreprise.
> */
> public LocalDate asDateCreationEntreprise() {
> return
> ObjetMetierSpark.fromINSEEtoLocalDate(this.dateCreationEntreprise);
> }
>
> /**
> * Renvoyer la date de création de l'entreprise (DCREN).
> * @return Date de création de l'entreprise.
> */
> public String getDateCreationEntreprise() {
> return this.dateCreationEntreprise;
> }
> /**
> * Fixer la date de création de l'entreprise (DCREN).
> * @param date Date de création de l'entreprise.
> */
> public void setDateCreationEntreprise(String date) {
> this.dateCreationEntreprise = date;
> }
> /**
> * Déterminer si l'entreprise a été purgée.
> * @return true si elle l'a été.
> */
> public boolean isPugee() {
> return this.purgee;
> }
> /**
> * Indiquer si l'entreprise a été purgée.
> * @param purgee true si elle l'a été.
> */
> public void setPugee(boolean purgee) {
> this.purgee = purgee;
> }
> /**
> * @see java.lang.Comparable#compareTo(java.lang.Object)
> */
> @Override
> public int compareTo(Entreprise o) {
> return getSiren().compareTo(o.getSiren());
> }
> /**
> * {@inheritDoc}
> */
> @Override
> public Entreprise clone() {
> return (Entreprise)super.clone();
> }
>
> /**
> * @see fr.fondation.objets.ObjetMetierIdentifiable#toString()
> */
> @Override
> public String toString() {
> return BabelTower.format(Entreprise.class, "toString",
> super.toString(), this.categorieEntreprise, this.anneeCategorieEntreprise,
> this.categorieJuridique,
> this.rna, this.economieSocialeEtSolidaire, this.nicsiege,
> this.sigle, this.denominationUsuelle1,
> this.nomNaissance, this.nomUsage, this.prenomUsuel, this.prenom1,
> this.pseudonyme,
> this.sexe, this.purgee, this.etablissements.size(),
> this.dateCreationEntreprise != null ?
> Date.valueOf(this.dateCreationEntreprise) : null);
> }
> }{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]