public boolean open(File file, boolean importDB) throws IOException {       File[] dbds = new File[com.cosylab.vdct.DataProvider.getInstance().getDBDs().size()]; com.cosylab.vdct.DataProvider.getInstance().getDBDs().toArray(dbds); for (int i=0; i<dbds.length; i++) if (!dbds[i].exists()) com.cosylab.vdct.DataProvider.getInstance().getDBDs().removeElement(dbds[i]);   checkForIncodedDBDs(file);       DBDData dbdData = com.cosylab.vdct.DataProvider.getInstance().getDbdDB(); if (dbdData != null) { setCursor(hourCursor);   if (!importDB) initializeWorkspace(); UndoManager.getInstance().setMonitor(false);   DBData dbData = null;   dbData = DBResolver.resolveDB(file.getAbsolutePath());   if ((dbData == null) || !dbdData.consistencyCheck(dbData)) { restoreCursor(); return false; }   DBData.checkDTYPfield(dbData, dbdData);  VDBData vdbData = VDBData.generateVDBData(dbdData, dbData);  applyVisualData(importDB, viewGroup, dbData, vdbData);  if (!importDB) { setModified(false); viewGroup.unconditionalValidateSubObjects(isFlat()); }   forceRedraw = true; repaint(); restoreCursor();  UndoManager.getInstance().setMonitor(true);  return true; } else return false;
public boolean open(File file) throws IOException { return open(file, false);
public boolean open(File file, boolean importDB) throws IOException {	///	/// DBD managment	///	// clean list of unexisting DBDs	File[] dbds = new File[com.cosylab.vdct.DataProvider.getInstance().getDBDs().size()];	com.cosylab.vdct.DataProvider.getInstance().getDBDs().toArray(dbds);	for (int i=0; i<dbds.length; i++)		if (!dbds[i].exists())			com.cosylab.vdct.DataProvider.getInstance().getDBDs().removeElement(dbds[i]);	// check for in-coded DBDs	checkForIncodedDBDs(file);	///	/// load DB if we have DBD 	///	DBDData dbdData = com.cosylab.vdct.DataProvider.getInstance().getDbdDB();	if (dbdData != null)	{		setCursor(hourCursor);		// prepare workspace		if (!importDB)			initializeWorkspace();		UndoManager.getInstance().setMonitor(false);		// load		DBData dbData = null;		/*if (getAppletBase()!=null) 	// applet			try			{				dbData = DBResolver.resolveDBasURL(new java.net.URL(getVDCTFrame().getAppletBase(), file.getAbsolutePath()));			} catch (java.net.MalformedURLException e) { Console.getInstance().println(e); }		else  */		dbData = DBResolver.resolveDB(file.getAbsolutePath());		// check for sucess		if ((dbData == null) || !dbdData.consistencyCheck(dbData))		{			restoreCursor();			return false;		}		// check is DTYP fields are defined before any DBF_INPUT/DBF_OUTPUT fields...		DBData.checkDTYPfield(dbData, dbdData);		VDBData vdbData = VDBData.generateVDBData(dbdData, dbData);		applyVisualData(importDB, viewGroup, dbData, vdbData);		if (!importDB)		{			setModified(false);			viewGroup.unconditionalValidateSubObjects(isFlat());		}		//createNavigatorImage();		forceRedraw = true;		repaint();		restoreCursor();		UndoManager.getInstance().setMonitor(true);		return true;	} 	else		return false;}