J'utilise gwt et postgres pour mon projet. Sur le front-end j'ai peu de widgets dont j'essaie de sauvegarder les données sur les tables en back-end quand je clique sur le bouton "save project" (cela prend aussi le nom du projet créé).Callback asynchrone - gwt
Dans la partie de rappel asynchrone, je définis plusieurs tables. Mais il n'envoie pas les données correctement. Je reçois l'erreur suivante:
org.postgresql.util.PSQLException: ERROR: insert or update on table "entitytype" violates foreign key constraint "entitytype_pname_fkey"
Detail: Key (pname)=(Project Name) is not present in table "project".
Mais quand je fais l'instruction select sur la table de projet, je peux voir que le nom du projet est présent.
Voici comment la partie de rappel ressemble:
oksave.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
if(erasync == null)
erasync = GWT.create(EntityRelationService.class);
AsyncCallback<Void> callback = new AsyncCallback<Void>(){
@Override
public void onFailure(Throwable caught) {
}
@Override
public void onSuccess(Void result){ }
};
erasync.setProjects(projectname, callback);
for(int i = 0; i < boundaryPanel.getWidgetCount(); i++){
top = new Integer(boundaryPanel.getWidget(i).getAbsoluteTop()).toString();
left = new Integer(boundaryPanel.getWidget(i).getAbsoluteLeft()).toString();
if(widgetTitle.startsWith("ATTR")){
type = "regular";
erasync.setEntityAttribute(name1, name, type, top, left, projectname, callback);
} else{
erasync.setEntityType(name, top, left, projectname, callback);
}
}
}
Question:
- Est-il erroné de définir plusieurs dans le rappel asynchrone où toutes les autres tables dépendent d'un particulier table?
- quand je dis que setProjects dans le code ci-dessus n'est pas d'abord terminé et ensuite passé à la suivante?
S'il vous plaît, toute contribution sera grandement appréciée.
Merci.
J'ai essayé d'incorporer dans la partie onsuccess mais elle ne reconnaît pas le rappel. Cela signifie-t-il que je dois aussi faire le rappel asynchrone en cas de succès? Merci. – suprasad
Merci. J'ai travaillé ... – suprasad
Oh, super. Merci d'avoir signalé le succès! (L'avez-vous fait sur le succès? :)) – npup