Este tópico presta informações sobre a migração de código Java do VisualAge for Java.
Quando se efectuam alterações a um componente Java com o editor visual para Java, o código fonte é actualizado para reflectir as alterações. As alterações ao código fonte reflectem-se nos métodos set que alteram valores de propriedades. Todavia, há informações usadas pelo editor visual para Java que não são armazenadas nas propriedades porque só são necessárias no momento da concepção. Estas incluem a posição de um Java bean na superfície de formas livres.
Para armazenar estas informações de modo a que o editor visual para Java possa ser reaberto com o Java bean na mesma posição, as informações são colocadas num comentário na linha que declara o Java bean. A instrução seguinte mostra um componente JFrame que está posicionado em 16,17:
private javax.swing.JFrame ivjJFrame = null; // @jve:visual-info decl-index=0 visual-constraint="16,17"
O comentário que representa a posição do componente não é necessário, e se não houver comentário algum, será atribuída uma posição predefinida quando se abrir o editor visual para Java. Esta colocação predefinida só se aplica a Java beans de nível superior que não estejam contidos noutro e que não afectem a colocação de componentes dentro de um contentor. A localização dos componentes dentro de um contentor é determinada pelo gestor de esquemas do contentor e os limites ou restrições do componente.
Em VisualAge for Java, a posição dos Java beans de nível superior (também denominados partes de forma livre) não está presente no código fonte. Se efectuar migração de um ficheiro que tenha sido escrito com o VCE (Visual Composition Editor) do VisualAge for Java, são utilizadas as posições predefinidas. Se quiser manter as informações de posição, poderá obter um utilitário de migração que seja carregado no VisualAge for Java. O utilitário de migração regenera as classes com a posição armazenada em formato de comentário. Para obter o utilitário, descarregue a mais recente Ferramenta de conversão para aplicações Visual Composition Editor do VisualAge for Java em www.ibm.com/support/us/
Este utilitário de migração está disponível como correcção temporária (tempfix) que pode ser instalada através do FixManager do VisualAge for Java (em Workspace > Tools > FixManager). O utilitário realiza a migração e exporta classes que tenham sido desenvolvidas com o VCE do VisualAge for Java, para um formato adequado ao editor visual. Depois de instalar esta correcção, poderá seleccionar VCE Code Generation/Export... (Geração de Código/Exportar VCE...) no menu emergente, relativamente a projectos, pacotes ou classes. Ao seleccionar este artigo abre-se um assistente que pode regenerar o código para classes que tenham sido anteriormente guardadas com o VCE. As posições de forma livre são guardadas no formato de comentário utilizado pelo editor visual.
Se tiver ligações, poderá primeiro regenerar este código seleccionando a opção de geração de código do VCE, Use an inner class for each event (Utilizar uma classe interna para cada evento) antes de executar este utilitário. Todavia, existem classes que não poderão ser convertidas neste estilo devido a um problema no VisualAge for Java. Neste caso, deverá utilizar a opção de geração de código do VCE Use one inner class for all events (Utilizar uma única classe interna para todos os eventos). O assistente também dá a opção de exportar as classes para um directório, depois de concluída a geração de código. O suporte de eventos do editor visual para Java não irá interpretar o estilo de geração de código do VCE Do not use any inner classes (Não utilizar classes internas).
Dado que o VCE mantinha o seu próprio modelo Java beans e respectivos valores de propriedade e relações, regenerava sempre o código fonte de maneira de cima para baixo a partir desse modelo. As modificações feitas ao código fonte por um utilizador estavam limitadas a elementos de código de utilizador predeterminados no código fonte, delimitados por comentários //user code begin {1} e //user code end. Além disso, para indicar que os métodos para os Java beans eram regenerados de cada vez que fosse efectuada a geração do código, a linha /* WARNING: THIS METHOD WILL BE REGENERATED. */ (aviso: este método será regenerado) era adicionada ao comentário do método. O utilitário de migração tem uma opção que remove estes comentários gerados pelo VCE do código exportado (e não do código fonte no VisualAge for Java), dado que já não são aplicáveis fora do VCE. No entanto, uma vez removidos os comentários para os elementos de código de utilizador do código fonte, o código de utilizador já não pode ser usado dentro do VisualAge for Java. A razão é que a presença destes comentários é o que protege o código de utilizador de ser sobre-escrito.
O editor visual para Java não utiliza um modelo de objectos persistente para os seus Java beans e respectivos valores de propriedade e relações, mas em contrapartida interpreta o código fonte de cada vez. Por conseguinte, os comentários para elementos de código de utilizador e para especificar regeneração de métodos já não se aplicam, podendo realizar-se livremente modificações ao código fonte. Se as modificações alterarem a estrutura do código fonte a ponto de o editor visual para Java já não reconhecer a estrutura dos Java beans, poderá dar-se o caso de não os ver na vista Concepção nem na vista Java Beans. Não obstante, o código fonte não será alterado para obviar ao estilo do editor, e as alterações serão preservadas.