public void process(WizardBean bean) throws ProcessException, Exception {
ClassFileSelectionBean page1Bean = bean.getPage1bean();
WSDLFileLocationBean wsdlBean = bean.getWsdlBean();
LibrarySelectionBean libBean = bean.getLibraryBean();
Page2Bean page2Bean = bean.getPage2bean();
Page3Bean page3Bean = bean.getPage3bean();
File serviceFile = null;
File wsdlFile = null;
File classFileFolder = null;
File outputFolder = null;
String outputFileName = null;
boolean isServiceCreated = false;
boolean isWSDLAvailable = false;
//see if the class file location is valid
classFileFolder = new File(page1Bean.getFileLocation());
if (!classFileFolder.exists()) {
throw new ProcessException(
"Specified Class file location is empty!!");
}
if (!classFileFolder.isDirectory()) {
throw new ProcessException(
"The class file location must be a folder!");
}
//see if the service.xml file is valid
if (page2Bean.isManual()) {
serviceFile = new File(page2Bean.getManualFileName());
if (!serviceFile.exists()) {
throw new ProcessException(
"Specified Service XML file is missing!");
}
} else {
ArrayList methodList = page2Bean.getSelectedMethodNames();
if (methodList.isEmpty()) {
throw new ProcessException(
"There are no methods selected to generate the service!!");
}
String currentUserDir = System.getProperty("user.dir");
String fileName = "services.xml";
ServiceXMLCreater serviceXMLCreater = new ServiceXMLCreater(page2Bean.getServiceName(),
page2Bean.getAutomaticClassName(),
page2Bean.getSelectedMethodNames());
String serviceFileString = serviceXMLCreater.toString();
serviceFile = new File(currentUserDir + File.separator + fileName);
if (serviceFile.exists()){serviceFile.delete();}
FileWriter serviceXMLFileWriter = new FileWriter(serviceFile, true);
BufferedWriter writer = new BufferedWriter(serviceXMLFileWriter) ;
writer.write(serviceFileString) ;
writer.close() ;
// new ServiceFileCreator().createServiceFile(
// page2Bean.getServiceName(),
// page2Bean.getAutomaticClassName(),
// page2Bean.getSelectedMethodNames());//create the file here
isServiceCreated = true;
}
//see if the WSDL file is available
if (!wsdlBean.isSkip()){
wsdlFile = new File(wsdlBean.getWSDLFileName());
if (!wsdlFile.exists()) {
throw new ProcessException(
"Specified WSDL file is missing!");
}else{
isWSDLAvailable = true;
}
}
List fileList = new ArrayList();
//check the libs
if (libBean!=null){
String[] files = libBean.getFileList();
File tempFile = null;
if (files!=null){
for (int i=0;i<files.length;i++){
tempFile = new File(files[i]);
if (!tempFile.exists()||tempFile.isDirectory()){