IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[J2EE] Message d'erreur


Sujet :

Servlets/JSP Java

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 134
    Par défaut [J2EE] Message d'erreur
    Bonjour,

    J'ai une interface web (j2ee) que je doit maintenir (ce n'est pas ma boite qui a développé).
    Un message d'erreur apparait sur une des pages que je ne comprends pas.
    si quelqu'un peut m'aider à le décrypter, je suis preneur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Cause racine
    kasper.kernel.Assertion:
    [Assertion.postcondition] urn DTC:A_HVA_ELE_NVLE_VAL_LST@NouvelleValeurListe@DT_HISTO_VALEUR_CHAMP_SIMPLE@10701 doit matcher le pattern [a-zA-Z0-9_:@$-]{5,80}
     
      kasper.kernel.Assertion.postcondition(Assertion.java:145) 
      kasperimpl.domain.metamodel.AbstractAtomURIImpl.toURN(AbstractAtomURIImpl.java:92) 
      kasperimpl.domain.metamodel.AbstractAtomURIImpl.hashCode(AbstractAtomURIImpl.java:71) 
      java.util.HashMap.get(HashMap.java:300) 
      kasperimpl.domain.model.DtObjectLazy.getCollection(DtObjectLazy.java:114) 
      omega.model.contribution.AbstractHistoValeurChampSimple.getNouvelleValeurListeCollection(AbstractHistoValeurChampSimple.java:760) 
      omega.model.contribution.ContributionServicesImpl.getValeurPrecedenteListe(ContributionServicesImpl.java:1474) 
      omega.model.contribution.ContributionServicesImpl.getValeurPrecedente(ContributionServicesImpl.java:1453) 
      omega.model.contribution.ContributionServicesImpl.saveContribution(ContributionServicesImpl.java:1054) 
      omega.model.contribution.ContributionServicesImpl.saveContribution(ContributionServicesImpl.java:1033) 
      omega.model.contribution.ContributionServicesImpl.getElementFormulaireContributionListByFormulaire(ContributionServicesImpl.java:359) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
      java.lang.reflect.Method.invoke(Method.java:597) 
      kasperimpl.util.ClassHelper.invoke(ClassHelper.java:106) 
      kasperimpl.services.LogProxy.invoke(LogProxy.java:48) 
      $Proxy55.getElementFormulaireContributionListByFormulaire(Unknown Source) 
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
      java.lang.reflect.Method.invoke(Method.java:597) 
      kasperimpl.util.ClassHelper.invoke(ClassHelper.java:106) 
      kasperimpl.services.PerformanceProxy.invoke(PerformanceProxy.java:62) 
      $Proxy55.getElementFormulaireContributionListByFormulaire(Unknown Source) 
      omega.controller.contribution.SectionContributionDetailController.doInitContext(SectionContributionDetailController.java:146) 
      omega.controller.contribution.SectionContributionDetailController.doInitContext(SectionContributionDetailController.java:54) 
      omega.controller.core.DetailController.initContext(DetailController.java:103) 
      kasperimpl.ui.controller.AbstractControllerImpl$Dispatcher.initMessage(AbstractControllerImpl.java:385) 
      kasperimpl.ui.controller.message.MessageBoxImpl.doPost(MessageBoxImpl.java:94) 
      kasperimpl.ui.controller.message.MessageBoxImpl.post(MessageBoxImpl.java:64) 
      kasperimpl.ui.controller.AbstractRequestHandlerImpl.doExecuteRequest(AbstractRequestHandlerImpl.java:95) 
      kasperimpl.ui.controller.AbstractRequestHandlerImpl.executeRequest(AbstractRequestHandlerImpl.java:56) 
      kasperx.ui.servlet.AbstractControllerServlet.doGet(AbstractControllerServlet.java:117)...
    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par défaut
    Tu peux nous montrer le code où cette erreur est générée
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 134
    Par défaut
    Tout ce qui commence par "omega" concerne le projet (model ou controlleur).
    Tout ce qui commence par "kasper" est un framework.

    PS : en gras les lignes mentionnée dans message d'erreur.

    Au niveau de cette méthode déclarée dans le message d'erreur :
    omega.controller.contribution.SectionContributionDetailController.doInitContext(SectionContributionDetailController.java:146)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    @Override
    	protected void doInitContext(KEvent event, Formulaire dto) throws KSystemException, KUserException {
    		super.doInitContext(event, dto);
    
    		final ContributionServices contributionServices = getServicesManager().getContributionServices();
    
    		final DtCollection<SectionContribution> sectionList = contributionServices.getSectionContributionList(dto.getForId());
    		SectionContribution section;
    		if (event.containsKey(AbstractSection.Fields.SEC_ID.name())) {
    			final Long sectionId = event.getLong(AbstractSection.Fields.SEC_ID.name());
    			final Map<Long, SectionContribution> sectionMap = DtUtil.<SectionContribution, Long> indexList(sectionList, AbstractSection.Fields.SEC_ID.name());
    			section = sectionMap.get(sectionId);
    		} else {
    			section = sectionList.get(0);
    		}
    		Assertion.notNull(section);
    		// Enregistrement de la liste des sections de l'instance de formulaire en cours
    		getContext().put(DTC_SECTION, sectionList);
    		// Enregistrement de la section en cours
    		getContext().put(DTO_SECTION, section);
    		getContext().put("FOR_ID", dto.getForId());
    
    		// Enregistrement de la liste des éléments constituant le formulaire en cours
    		final Collection<ElementFormulaireContribution> elementFormulaireList = contributionServices.getElementFormulaireContributionListByFormulaire(dto.getModId(), dto.getForId());
    		getContext().put(DTC_ELEMENT_FORMULAIRE, elementFormulaireList);
    
    		// Enregistrement de la liste des éléments constituant la section en cours
    		final Collection<ElementFormulaireContribution> elementSectionList = new ArrayList<ElementFormulaireContribution>();
    		for (final ElementFormulaireContribution elementFormulaire : elementFormulaireList) {
    			if (elementFormulaire.getSecId().equals(section.getSecId())) {
    				elementSectionList.add(elementFormulaire);
    			}
    		}
    		getContext().put(DTC_ELEMENT_SECTION, elementSectionList);
    
    		for (final ElementFormulaireContribution elementSection : elementSectionList) {
    			if (elementSection instanceof TableauContribution) {
    				// On stocke chaque tableau et les champs le constituant dans le contexte.
    				// De plus, pour les champs de type liste de choix et de type période, on stocke dans le contexte la liste des éléments sélectionnables.
    				final TableauContribution tableau = (TableauContribution) elementSection;
    				getContext().put(getTableauKey(tableau), tableau);
    				for (final ChampContribution champ : tableau.getChamps()) {
    					getContext().put(getChampKey(champ), champ);
    					putListesInContext(champ);
    				}
    			} else {
    				// On stocke chaque champ dans le contexte.
    				// De plus, pour les champs de type liste de choix et de type période, on stocke dans le contexte la liste des éléments sélectionnables.
    				final ChampContribution champ = (ChampContribution) elementSection;
    				getContext().put(getChampKey(champ), champ);
    				putListesInContext(champ);
    			}
    		}
    omega.controller.core.DetailController.initContext(DetailController.java:103)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    	@Override
    	protected final void initContext(final KEvent msg) throws KSystemException, KUserException {
    		initMode(msg, MODE_VIEW);
    		initSousMode(msg);
    		final Mode mode = getMode();
    		final D dto;
    		if (MODE_NEW.equals(mode)) {
    			dto = createDto(msg);
    		} else if (MODE_EDIT.equals(mode) || MODE_VIEW.equals(mode) || MODE_EDIT_LIST.equals(mode) || MODE_POPUP.equals(mode)) {
    			Assertion.precondition(msg.containsKey(getPkFieldName()), "L'identifiant " + getPkFieldName() + " est obligatoire");
    			final O dtoId = unformatId(msg);
    			getContext().put(getPkFieldName(), dtoId);
    			dto = loadDto(dtoId);
    		} else {
    			throw new KSystemException("Mode inconnu (MODE:{0})", null, mode.toString());
    		}
    		getContext().put(getDtoName(), dto);
    		doInitContext(msg, dto);
    	}]
    Je crois que le problème vient du contrôleur, donc je vous ai copié les méthodes incriminée dans le message d'erreur (sinon dites moi quoi vous copier comme méthode à partir du message).

    Merci.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 134
    Par défaut
    J'avoue que le code fait peur ! mais j'ai encore espoir...

    omega.model.contribution.ContributionServicesImpl.getValeurPrecedenteListe(ContributionServicesImpl.java:1474)
    le code correspondant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private List<Long> getValeurPrecedenteListe(HistoValeurChampSimple derniereModificationChamp) throws KSystemException {
    		final List<Long> valeurPrecedenteListe = new ArrayList<Long>();
    		for (final ElementListeType elementListe : derniereModificationChamp.getNouvelleValeurListeCollection()) {
    			valeurPrecedenteListe.add(elementListe.getEleId());
    		}
    		return valeurPrecedenteListe;
    	}
    omega.model.contribution.AbstractHistoValeurChampSimple.getNouvelleValeurListeCollection(AbstractHistoValeurChampSimple.java:760)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /**
    	 * Association : Nouvelle valeur liste.
    	 * @return kasper.domain.model.DtCollection<omega.model.formulaire.liste.ElementListeType>
    	 * @throws kasper.kernel.exception.KSystemException Exception système
    	 */
    	@javax.persistence.Transient
    	@kasper.domain.metamodel.annotation.AssociationNN (
    		name = "A_HVA_ELE_NVLE_VAL_LST",
    		tableName = "HVA_ELE_NVLE_VAL_LST",
    		dtDefinitionA = "DT_ELEMENT_LISTE_TYPE",
    		dtDefinitionB = "DT_HISTO_VALEUR_CHAMP_SIMPLE",
    		navigabilityA = true,
    		navigabilityB = false,
    		roleA = "NouvelleValeurListe",
    		roleB = "HistoriqueDeValeurDeChampSimple",
    		labelA = "Nouvelle valeur liste",
    		labelB = "Historique de valeur de champ simple"
    	)
    	public kasper.domain.model.DtCollection<omega.model.formulaire.liste.ElementListeType> getNouvelleValeurListeCollection()  throws kasper.kernel.exception.KSystemException {
    		return this.<omega.model.formulaire.liste.ElementListeType> getCollection("A_HVA_ELE_NVLE_VAL_LST", "NouvelleValeurListe");
    	}
    mega.model.contribution.ContributionServicesImpl.getValeurPrecedente(ContributionServicesImpl.java:1453)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    private Object getValeurPrecedente(Long forId, ChampContribution champ) throws KUserException, KSystemException {
    		Object valeurPrecedente = null;
    		final HistoValeurChampSimple derniereMofication;
     
    		Long critereVerticalFermeId = null;
    		Long critereVerticalOuvertId = null;
    		Long critereHorizontalId = null;
    		if (champ.isDansTableau()) {
    			final Critere critereVertical = champ.getCritereVertical();
    			if (critereVertical.getSiFerme()) {
    				critereVerticalFermeId = critereVertical.getCritereId();
    			} else {
    				critereVerticalOuvertId = critereVertical.getCritereId();
    			}
    			final Critere critereHorizontal = champ.getCritereHorizontal();
    			if (critereHorizontal != null) {
    				critereHorizontalId = critereHorizontal.getCritereId();
    			}
    		}
     
    		final CodeTypeChamp typeChamp = CodeTypeChamp.valueOf(champ.getType());
    		switch (typeChamp) {
    			case BOOL:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = derniereMofication.getHvaNouvelleValeurBooleen();
    				}
    				break;
    			case TXT:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = derniereMofication.getHvaNouvelleValeurChaine();
    				}
    				break;
    			case NUM:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = derniereMofication.getHvaNouvelleValeurNombre();
    				}
    				break;
    			case DATE:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = derniereMofication.getHvaNouvelleValeurDate();
    				}
    				break;
    			case DUREE:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = derniereMofication.getHvaNouvelleValeurDuree();
    				}
    				break;
    			case PER:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = derniereMofication.getPerCodeNouvelleValPeriode();
    				}
    				break;
    			case LST:
    				// On récupère la dernière modification du champ dans la table d'historique
    				derniereMofication = CONTRIBUTION_DAO.derniereModificationChampSimple(forId, champ.getChampId(), critereVerticalFermeId, critereVerticalOuvertId, critereHorizontalId);
    				// Si le champ a déjà été modifié
    				// Alors on récupère la dernière valeur saisie
    				if (derniereMofication != null) {
    					valeurPrecedente = getValeurPrecedenteListe(derniereMofication);
    				}
    				break;
    			case LSTOUV:
    				valeurPrecedente = CONTRIBUTION_DAO.valeurPrecedenteChampListeOuverte(forId, champ.getChampId());
    				break;
    			default:
    		}
     
    		return valeurPrecedente;
    	}
    omega.model.contribution.ContributionServicesImpl.saveContribution(ContributionServicesImpl.java:1054)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    public void saveContribution(Formulaire formulaire, ChampContribution champ) throws KSystemException, KUserException {
    		final Object valeurPrecedente = getValeurPrecedente(formulaire.getForId(), champ);
    		final Object valeurCourante = champ.getValeur();
    		if (champ.getSiAffiche()) {
    			if (!isEmptyValeur(valeurPrecedente)) {
    				if (!isEmptyValeur(valeurCourante)) {
    					if (!valeurCourante.equals(valeurPrecedente)) {
    						// S'il y'a déjà eu au moins un enregistrement d'une valeur pour ce champ et que la valeur saisie pour ce champ est différente de la dernière saisie
    						// Alors on sauvegarde la nouvelle valeur du champ et on historise cette modification
    						saveValeurChamp(formulaire.getForId(), champ);
    						historiseValeurChamp(formulaire.getForId(), champ, valeurPrecedente);
    					}
    				} else {
    					// S'il y'a déjà eu au moins un enregistrement d'une valeur pour ce champ et que la dernière valeur saisie a été supprimé (l'utilisateur a vidé le champ)
    					// Alors on sauvegarde la nouvelle valeur du champ et on historise cette modification
    					saveValeurChamp(formulaire.getForId(), champ);
    					historiseValeurChamp(formulaire.getForId(), champ, valeurPrecedente);
    				}
    			} else {
    				if (!isEmptyValeur(valeurCourante)) {
    					// S'il s'agit de la première saisie de l'utilisateur pour ce champ,
    					// Alors on sauvegarde la nouvelle valeur du champ et on historise cette modification
    					saveValeurChamp(formulaire.getForId(), champ);
    					historiseValeurChamp(formulaire.getForId(), champ, valeurPrecedente);
    				} else {
    					if (champ.getSiErreur()) {
    						// Si l'utilisateur n'a jamais saisi de valeur pour ce champ et qu'il l'a laissé vide
    						// Alors on sauvegarde le champ uniquement s'il présente des erreurs non bloquantes
    						saveValeurChamp(formulaire.getForId(), champ);
    					}
    				}
    			}
    		} else {
    			// Si le champ n'est pas affiché (dans le cas d'un champ conditionné),
    			// Alors on sauvegarde le champ sans l'historiser (cette sauvegarde n'est utile que pour remettre à false le champ SI_ERREUR)
    			saveValeurChamp(formulaire.getForId(), champ);
    		}
    	}
    omega.model.contribution.ContributionServicesImpl.saveContribution(ContributionServicesImpl.java:1033)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public void saveContribution(Formulaire formulaire, Collection<? extends ElementFormulaireContribution> elementFormulaireList) throws KSystemException, KUserException {
    		// Pour chaque élément de la collection, on sauvegarde la contribution
    		for (final ElementFormulaireContribution elementFormulaire : elementFormulaireList) {
    			if (elementFormulaire instanceof TableauContribution) {
    				final TableauContribution tableau = (TableauContribution) elementFormulaire;
    				saveContribution(formulaire, tableau);
    			} else {
    				final ChampContribution champ = (ChampContribution) elementFormulaire;
    				saveContribution(formulaire, champ);
    			}
    		}
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Architecture J2EE et messages d'erreurs
    Par Ganymede84 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 29/09/2009, 15h29
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo