AMADEUS html plain
/**
/**
* ConverterIU displays graphical user interface for converter generation system
*/
import java . awt . Dimension ;
import java . awt . Point ;
import java . awt . event . ActionEvent ;
import java . awt . event . ActionListener ;
import java . io . File ;
import javax . swing . JFileChooser ;
import javax . swing . JFrame ;
import javax . swing . JOptionPane ;
import javax . swing . JTextPane ;
import java . util . logging . * ;
class ConverterUI
public
class ConverterUI extends JFrame implements ActionListener
/**
/**
* Text pane for this converter ui
*/
JTextPane p ;
/**
/**
* File chooser to choose resultsDir
*/
JFileChooser fileChooser ;
/**
/**
* Constructor for ConverterUI
*
* @param jp
*/
ConverterUI
public
ConverterUI ( JTextPane jp )
p = jp ;
fileChooser = new JFileChooser ( ) ;
/**
/**
* Respond to user actions
*/
void actionPerformed
public
void actionPerformed ( ActionEvent e )
? e . getActionCommand ( ) . equals ( "Converter Generation" )
byte sourceBaseLanguageType = 0 ;
Am . isWindows = true ;
Dimension d = new Dimension ( 1 , 1 ) ;
Point p = new Point ( 500 , 200 ) ;
AmFrame fr = new AmFrame ( d , p ) ;
fr . setFont ( Default . fontForWindows ) ;
Default . font = Default . fontForWindows ;
fr . setLocation ( 500 , 200 ) ;
fr . pack ( ) ;
fr . setSize ( 1 , 1 ) ;
AmFont . font [ 0 ] = Default . fontForWindows ;
AmFont . fm [ 0 ] = fr . getGraphics ( ) . getFontMetrics ( ) ;
AmFont . n ++ ;
fr . viewArea = new AmCanvas ( fr ) ;
Am . frames . add ( fr ) ;
..try
!!
Default . setProperties ( fr . getGraphics ( ) ) ;
..catch
! Exception ee
ee . printStackTrace ( ) ;
AmFont . No ( Default . font , fr . getGraphics ( ) ) ;
SketchyText skt = new SketchyText ( fr ) ;
fr . contents = skt ;
fr . viewArea = new AmCanvas ( fr ) ;
sourceBaseLanguageType = getSourceBaseLanguage ( skt . main , fr ) ;
System . out . println ( "SOURCE TYPE= " + sourceBaseLanguageType ) ;
..if
? sourceBaseLanguageType == BaseLanguage . NONE
<==========
ConverterGenerator g = new ConverterGenerator ( sourceBaseLanguageType , "" ) ;
ModelVerifier mc = new ModelVerifier ( g ) ;
boolean cont = false ;
..try
!!
cont = mc . verify ( sourceBaseLanguageType , fr ) ;
..catch
! Exception ev
ev . printStackTrace ( ) ;
showErrorMessage ( "Viga mudeli kontrollimisel: " + ev . getMessage ( ) , new JFrame ( ) ) ;
<==========
<==========
..try
!!
startGeneration ( g , mc ) ;
..catch
! Exception ee
ee . printStackTrace ( ) ;
<======
/**
/**
* Encapsulates generation process call
* @param g
* @param mc
* @throws Exception
*/
void startGeneration
private
void startGeneration ( ConverterGenerator g , ModelVerifier mc ) throws Exception
System . out . println ( "@ConverterUI: Starting generation" ) ;
g . generate ( ) ;
String rDir ;
rDir = g . getResultsDir ( ) ;
FileCopier fc = new FileCopier ( g . getSourceBaseLanguage ( ) , g . getModelBaseLanguage ( ) ) ;
..if
? mc . getCopyFiles ( ) == true
..if
? FileCopier . canCopy ( new File ( Default . AmadeusDirectory ) , new File ( rDir ) ) == false
showErrorMessage ( "Amadeus kodukataloog ei tohi olla tulemuskataloogi alamkataloog" , new JFrame ( ) ) ;
<==============
System . out . println ( "starting copy: from " + Default . AmadeusDirectory + "class" + " to " + g . getResultsDir ( ) ) ;
fc . copyAmadeusClassFiles ( new File ( Default . AmadeusDirectory + "class" ) , new File ( rDir + g . getConverterFileName ( ) . substring ( 0 , g . getConverterFileName ( ) . length ( ) - 5 ) + System . getProperty ( "file.separator" ) + "class" ) ) ;
System . out . println ( "@ConverterUI: Copying model file" ) ;
File modelFile = new File ( mc . getModelFileName ( ) ) ;
File modelDir = new File ( rDir + g . getConverterFileName ( ) . substring ( 0 , g . getConverterFileName ( ) . length ( ) - 5 ) + System . getProperty ( "file.separator" ) + "models" ) ;
System . out . println ( "Models dir exists: " + modelDir . exists ( ) ) ;
System . out . println ( "Models dir can read: " + modelDir . canRead ( ) ) ;
System . out . println ( "Models dir can write: " + modelDir . canWrite ( ) ) ;
fc . copyAmadeusModelFile ( modelFile , modelDir ) ;
String optMessage = "" ;
..if
? mc . getCopyFiles ( ) == true
optMessage = " koos Amadeus failidega" ;
System . out . println ( "generation done" ) ;
String message = " Loodud konverter " + optMessage + " kataloogi " + g . getResultsDir ( ) ;
this . showSuccessMessage ( "Valmis!" + message , new JFrame ( ) ) ;
/**
/**
* Obtain baseLanguage from user
*
* @param s
* @param frame
* @return
*/
byte getSourceBaseLanguage
byte getSourceBaseLanguage ( Scheme s , AmFrame frame )
BaseLanguage . userSetAll ( s , frame ) ;
<======( frame . contents . main . baseLanguage . type )
/*
/* Inform user about successful generation */
void showSuccessMessage
private
void showSuccessMessage ( String message , JFrame frame )
JOptionPane . showMessageDialog ( frame , message , "Success!" , JOptionPane . INFORMATION_MESSAGE ) ;
void showErrorMessage
private
void showErrorMessage ( String message , JFrame frame )
JOptionPane . showMessageDialog ( frame , message , "Error!" , JOptionPane . ERROR_MESSAGE ) ;