Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Visual Cafe] Comment s'en débarasser?

6 réponses
Avatar
Alain Migeon
Bonjour

Je voudrais savoir s'il existe un moyen simple de convertir du code généré
par Visual Cafe vers du code 100% standard.

Par exemple, Visual Cafe génère des lignes comme celle-ci:

com.symantec.itools.javax.swing.models.StringComboBoxModel unitComboModel
= new com.symantec.itools.javax.swing.models.StringComboBoxModel();

centerPanel.add(nameLabel, new
com.symantec.itools.awt.GridBagConstraintsD(0,0,1,1,0.0,0.0,java.awt.GridBagConstraints.NORTHWEST,java.awt.GridBagConstraints.NONE,new
Insets(0,0,0,0),0,0));

L'idée est de se débarasser de tout ce qui Symentec spécifique, et ensuite
de se débarrasser de Visual Cafe.

Doit-on le faire à la main, ou existe du code pouvant le faire
automatiquement?

--
______________________________________________________
Alain Migeon
Please reverse alain and migeon for replying.

6 réponses

Avatar
kizlum
A ma connaissance, on ne peux pas l'empêcher de faire cela (je me
trompe peut-être).
Par contre, si tu connais quelles lignes te déplaisent et si tu sais
si elles sont facultatives ou non, tu dois pouvoir programmer un petit
script (en python par exemple) qui s'occupe de cela.

Cordialement.
Avatar
Sylvain
Alain Migeon wrote on 05/03/2008 16:36:
Bonjour

Je voudrais savoir s'il existe un moyen simple de convertir du code
généré par Visual Cafe vers du code 100% standard.


tu veux dire avec un import au début et des classes non
entièrement qualifiées ensuite ?
l'éditeur de Eclipse fait cela très bien (il rédige ainsi
et nettoie sous cette forme).

btw, l'écriture de VCafé n'est pas non standard (au sens non
conforme), elle est juste très pénible.

Sylvain.

Avatar
Alain Migeon
On Wed, 05 Mar 2008 21:13:06 +0100, Sylvain wrote:

tu veux dire avec un import au début et des classes non
entièrement qualifiées ensuite ?
l'éditeur de Eclipse fait cela très bien (il rédige ainsi
et nettoie sous cette forme).

btw, l'écriture de VCafé n'est pas non standard (au sens non
conforme), elle est juste très pénible.



Le problème est que l'on importe des librairies de V CAfé qui commencent à
dater.
Comme V Café n'a plus l'air d'être maintenu, je pense qu'il est préférable
de supprimer dans le code toute référence à ces librairies.

Voilà une petite liste (incomplète) de ce que l'on utilise.

import com.symantec.itools.javax.swing.borders.EmptyBorder;
import com.symantec.itools.javax.swing.borders.EtchedBorder;
import com.symantec.itools.javax.swing.borders.BevelBorder;
import com.symantec.itools.javax.swing.borders.CompoundBorder;
import com.symantec.itools.javax.swing.borders.SoftBevelBorder;

import com.symantec.itools.javax.swing.models.StringComboBoxModel;
import com.symantec.itools.javax.swing.models.StringListModel;
import com.symantec.itools.javax.swing.models.StringTableModel;

import com.symantec.itools.javax.swing.icons.ImageIcon;

import com.symantec.itools.javax.swing.JSplitPaneWrapper;

import symantec.itools.awt.shape.VerticalLine;


Par exemple, je ne sais pas trop comment remplacer cette ligne.

com.symantec.itools.javax.swing.models.StringComboBoxModel unitComboModel
= new com.symantec.itools.javax.swing.models.StringComboBoxModel();

Par contre, pour la suivante

centerPanel.add(nameLabel,
new
com.symantec.itools.awt.GridBagConstraintsD(0,0,1,1,0.0,0.0,java.awt.GridBagConstraints.NORTHWEST,
java.awt.GridBagConstraints.NONE,new
Insets(0,0,0,0),0,0));

je peux peut-être la remplacer par celle-ci.

centerPanel.add(nameLabel,
new
java.awt.GridBagConstraints(0,0,1,1,0.0,0.0,java.awt.GridBagConstraints.NORTHWEST,
java.awt.GridBagConstraints.NONE,new
Insets(0,0,0,0),0,0));


Je précise que je débute en Java, jusqu'à maintenant je faisais
exclusivement du C++.



--
______________________________________________________
Alain Migeon
Please reverse alain and migeon for replying.

Avatar
John
On Wed, 05 Mar 2008 21:13:06 +0100, Sylvain wrote:

tu veux dire avec un import au début et des classes non
entièrement qualifiées ensuite ?
l'éditeur de Eclipse fait cela très bien (il rédige ainsi
et nettoie sous cette forme).

btw, l'écriture de VCafé n'est pas non standard (au sens non
conforme), elle est juste très pénible.



Le problème est que l'on importe des librairies de V CAfé qui commencent
à dater.
Comme V Café n'a plus l'air d'être maintenu, je pense qu'il est
préférable de supprimer dans le code toute référence à ces librairies.

Voilà une petite liste (incomplète) de ce que l'on utilise.

import com.symantec.itools.javax.swing.borders.EmptyBorder;
import com.symantec.itools.javax.swing.borders.EtchedBorder;
import com.symantec.itools.javax.swing.borders.BevelBorder;
import com.symantec.itools.javax.swing.borders.CompoundBorder;
import com.symantec.itools.javax.swing.borders.SoftBevelBorder;

import com.symantec.itools.javax.swing.models.StringComboBoxModel;
import com.symantec.itools.javax.swing.models.StringListModel;
import com.symantec.itools.javax.swing.models.StringTableModel;

import com.symantec.itools.javax.swing.icons.ImageIcon;

import com.symantec.itools.javax.swing.JSplitPaneWrapper;

import symantec.itools.awt.shape.VerticalLine;


Par exemple, je ne sais pas trop comment remplacer cette ligne.

com.symantec.itools.javax.swing.models.StringComboBoxModel
unitComboModel = new
com.symantec.itools.javax.swing.models.StringComboBoxModel();

Par contre, pour la suivante

centerPanel.add(nameLabel,
new
com.symantec.itools.awt.GridBagConstraintsD(0,0,1,1,0.0,0.0,java.awt.GridBagConstraints.NORTHWEST,


java.awt.GridBagConstraints.NONE,new Insets(0,0,0,0),0,0));

je peux peut-être la remplacer par celle-ci.

centerPanel.add(nameLabel,
new
java.awt.GridBagConstraints(0,0,1,1,0.0,0.0,java.awt.GridBagConstraints.NORTHWEST,


java.awt.GridBagConstraints.NONE,new Insets(0,0,0,0),0,0));


Je précise que je débute en Java, jusqu'à maintenant je faisais
exclusivement du C++.


Si tu veux que ton code continue à faire la même chose, soit tu récupère le code de symantec et tu le met dans ton projet, avec les problèmes de licences éventuels, soit tu "devine" ce que fais les libes de symantec.

Dans le cas ou tu opte pour la divination:

import com.symantec.itools.javax.swing.borders.EmptyBorder;
javax.swing.border.EmptyBorder


import com.symantec.itools.javax.swing.borders.EtchedBorder;
javax.swing.border.EtchedBorder


import com.symantec.itools.javax.swing.borders.BevelBorder;
import com.symantec.itools.javax.swing.borders.CompoundBorder;
import com.symantec.itools.javax.swing.borders.SoftBevelBorder;


pareil pour les autres Borders...


pour les modèles:
import com.symantec.itools.javax.swing.models.StringComboBoxModel;
javax.swing.DefaultComboBoxModel


import com.symantec.itools.javax.swing.models.StringListModel;
javax.swing.DefaultListModel


import com.symantec.itools.javax.swing.models.StringTableModel;
javax.swing.table.DefaultTableModel


import com.symantec.itools.javax.swing.icons.ImageIcon;
javax.swing.ImageIcon


import com.symantec.itools.javax.swing.JSplitPaneWrapper;
javax.swing.JSplitPane


import symantec.itools.awt.shape.VerticalLine;
je ne connais pas correspondances pour cette classe...



Cependant, on peut supposer que les versions de symantec ont des features en plus, que tu vas devoir recoder au moins partiellement, donc bon courage !!!


Avatar
Sylvain
Alain Migeon wrote on 06/03/2008 09:29:

Le problème est que l'on importe des librairies de V CAfé qui commencent
à dater.
Comme V Café n'a plus l'air d'être maintenu, je pense qu'il est
préférable de supprimer dans le code toute référence à ces librairies.


désolé je n'avais compris qu'une partie de la question.

VCafé date un peu, tu n'indiques pas quelle version tu utilises mais
dans le même temps je penses que le produit n'a pas évolué depuis des
années.

la dernière version que j'ai utilisée est la 2.5 dBE de fin 1997 !!
dans cette release (mais ils ont peut être / surement continué)
la GUI java supportée était AWT 1.1 et *leur* version de swing.
pour rappel Swing 0.2 date de Juillet 97, Swing 1.0.x de Fev. 98.

ils avaient donc bouclé alors que les packages Swing n'étaient
pas officielles et donc inclus leur cuisine.

reste que cela ressemblera bcp, comme indiqué par John, le
remplacement devinatoire devrait gérer la plupart des cas.

je continue donc à recommender Eclipse qui permettra un refactoring
(changement des noms de packages / classes) assez simple.
les classes ayant un nom différent et pire les méthodes différentes
devront être traitées avec soin durant ce refactoring.
(s'aider bien sur des docs de Symantec).

Sylvain.

Avatar
Alain Migeon
On Thu, 06 Mar 2008 20:31:46 +0100, Sylvain wrote:

Alain Migeon wrote on 06/03/2008 09:29:
Le problème est que l'on importe des librairies de V CAfé qui
commencent à dater.
Comme V Café n'a plus l'air d'être maintenu, je pense qu'il est
préférable de supprimer dans le code toute référence à ces librairies.


désolé je n'avais compris qu'une partie de la question.

VCafé date un peu, tu n'indiques pas quelle version tu utilises mais
dans le même temps je penses que le produit n'a pas évolué depuis des
années.

la dernière version que j'ai utilisée est la 2.5 dBE de fin 1997 !!
dans cette release (mais ils ont peut être / surement continué)
la GUI java supportée était AWT 1.1 et *leur* version de swing.
pour rappel Swing 0.2 date de Juillet 97, Swing 1.0.x de Fev. 98.

ils avaient donc bouclé alors que les packages Swing n'étaient
pas officielles et donc inclus leur cuisine.

reste que cela ressemblera bcp, comme indiqué par John, le
remplacement devinatoire devrait gérer la plupart des cas.

je continue donc à recommender Eclipse qui permettra un refactoring
(changement des noms de packages / classes) assez simple.
les classes ayant un nom différent et pire les méthodes différentes
devront être traitées avec soin durant ce refactoring.
(s'aider bien sur des docs de Symantec).



Merci John et Sylvain pour vos réponses.

J'ai commencé à remplacer certaines des classes de V Café. On a sur notre
réseau un fichier pour une version XE 4.1a, et le fichier est daté de 2001
(date du téléchargement)!

Maintenant, question IDE, j'ai essayé IntelliJ et Turbo JBuilder 2007.
Ce dernier permets un aperçu en direct de la GUI des changements apportés
au code. D'après ce que j'ai lu, il est basé sur Eclipse.

Pour ce qui de refactoring, il va d'abord que j'apprennne la signification!

--
______________________________________________________
Alain Migeon
Please reverse alain and migeon for replying.