AMADEUS html plain
/**
/**
* ModelVerifier is responsible for model construction, verification and message windows display
*/
import java . io . File ;
import javax . swing . JFileChooser ;
import javax . swing . JOptionPane ;
class ModelVerifier
public
class ModelVerifier
private final static byte NO_MODEL = - 1 ;
/**
/**
* Converter generator associated to model verifier
*/
ConverterGenerator generator ;
/**
/**
* Constructor
*
* @param g
*/
private boolean copyFiles = false ;
private static final Object [ ] options = { "Genereeri failide kopeerimiseta" , "Genereeri failide kopeerimisega" , "Katkesta" } ;
private String modelFileName ;
ModelVerifier
public
ModelVerifier ( ConverterGenerator g )
/**
/**
* Verifies model and does further interactions with user
*
* @param sourceBaseLanguageType
* @param frame
* @return
*/
boolean verify
public
boolean verify ( byte sourceBaseLanguageType , AmFrame frame )
byte modelBaseLanguageType = getModelBaseLanguage ( sourceBaseLanguageType , frame ) ;
? modelBaseLanguageType == ModelVerifier . NO_MODEL
String errorMessage = this . modelFileName + ": mudelifaili ei eksisteeri" ;
showErrorMessage ( errorMessage , frame ) ;
<======false
? modelBaseLanguageType == BaseLanguage . NONE
String message = this . modelFileName + ": \n mudel pole ükskeelne või on mudeli baaskeel Baselanguage.NONE. Konverteri genereerimine katkestatud" ;
showErrorMessage ( message , frame ) ;
ainult cancel nupp
<======( false )
generator . setModelBaseLanguageType ( modelBaseLanguageType ) ;
boolean cont = askConfirmation ( frame , sourceBaseLanguageType , modelBaseLanguageType ) ;
OK ja cancel nupp
? cont == false
<======( false )
getResultsDir ( frame ) ;
? generator . getResultsDir ( ) == null
<======false
System . out . println ( "ModelVerifier@: Model verified" ) ;
<======( true )
/**
/**
* Constructs model skectch and retrieves model base language
*
* @param sourceBaseLanguageType
* @param frame
* @return
*/
byte getModelBaseLanguage
private
byte getModelBaseLanguage ( byte sourceBaseLanguageType , AmFrame frame )
Sketch mudel = null ;
SketchyText skt = new SketchyText ( null ) ;
skt . file = new AmFile ( skt ) ;
String sourceBaseLanguage = ConverterGenerator . items [ sourceBaseLanguageType ] ;
skt . file . name = Default . modelsDirectory + System . getProperty ( "file.separator" ) + sourceBaseLanguage + "Model.html" ;
konkreetne nimi
this . modelFileName = skt . file . name ;
test if model file exists
File modelFile = new File ( skt . file . name ) ;
? ! modelFile . exists ( )
<======ModelVerifier . NO_MODEL
skt . frame = frame ;
skt . frame . contents = skt ;
skt . file . importsFile ( ) ;
mudel = skt . main ;
System . out . println ( "sourceBaselanguage X = " + sourceBaseLanguage ) ;
System . out . println ( "mudel language Y = " + ConverterGenerator . items [ mudel . baseLanguage . type ] ) ;
boolean isMonoLanguage = Sketch . isMonoLanguage ( mudel , mudel . baseLanguage . type ) ;
? isMonoLanguage && ( mudel . baseLanguage . type != BaseLanguage . NONE )
<======( mudel . baseLanguage . type )
<======( BaseLanguage . NONE )
/**
/**
* Displays error message
*
* @param message
* @param frame
*/
void showErrorMessage
private
void showErrorMessage ( String message , AmFrame frame )
JOptionPane . showMessageDialog ( frame , message , "Viga mudeli kontrollimisel: " , JOptionPane . ERROR_MESSAGE ) ;
/**
/**
* Asks user confirmation to continue with converter generation
*
* @param frame
* @param sourceBaseLanguageType
* @param modelBaseLanguageType
* @return
*/
boolean askConfirmation
private
boolean askConfirmation ( AmFrame frame , byte sourceBaseLanguageType , byte modelBaseLanguageType )
Object selectedValue = JOptionPane . showInputDialog ( null , "Valige üks: " , "Konverteri loomine" , JOptionPane . INFORMATION_MESSAGE , null , ModelVerifier . options , ModelVerifier . options [ 0 ] ) ;
? selectedValue == null
System . out . println ( selectedValue ) ;
<======( false )
? ( ( String ) selectedValue ) . equals ( "Genereeri failide kopeerimisega" )
copyFiles = true ;
<======L0 ;
? ( ( String ) selectedValue ) . equals ( "Genereeri failide kopeerimiseta" )
<======
<==========( false )
int n = JOptionPane . showConfirmDialog ( frame , "Loomisel konverter: " + ConverterGenerator . items [ sourceBaseLanguageType ] + "-->" + ConverterGenerator . items [ modelBaseLanguageType ] , "Kinnituse küsimine" , JOptionPane . YES_NO_OPTION ) ;
System . out . println ( "ModelVerifier@: User confirmation returned " + n ) ;
? n == 0
<======( true )
<======( false )
/**
/**
* User chooses resultsDir
*
* @param frame
*/
void getResultsDir
private
void getResultsDir ( AmFrame frame )
String filename = File . separator + "tmp" ;
JFileChooser fc = new JFileChooser ( new File ( filename ) ) ;
fc . setFileSelectionMode ( JFileChooser . DIRECTORIES_ONLY ) ;
File selDir = null ;
..for
* ; selDir == null ;
int retval = fc . showDialog ( frame , "Valige tulemuskataloog" ) ;
? retval != JFileChooser . APPROVE_OPTION
this . generator . setResultsDir ( null ) ;
<==========
selDir = fc . getSelectedFile ( ) ;
String resultDirPath = selDir . getAbsolutePath ( ) ;
System . out . println ( "resultdir path tuli :" + resultDirPath ) ;
..if
? resultDirPath . endsWith ( System . getProperty ( "file.separator" ) )
resultDirPath = resultDirPath . substring ( 0 , resultDirPath . length ( ) - 1 ) ;
System . out . println ( "ResultDirPath l6ppes kataloogide eraldajaga, see eemaldati, nyyd on see path " + resultDirPath ) ;
this . generator . setResultsDir ( resultDirPath ) ;
boolean getCopyFiles
public
boolean getCopyFiles ( )
<======( this . copyFiles )
String getModelFileName
public
String getModelFileName ( )
<======this . modelFileName