// Briefcase.java. 11/4/2023. package testbriefcasemcv; import java.awt.EventQueue; import java.util.Vector; import fwgeneral.ColorAux; import fwgeneral.FileUtility; public class BriefcaseController { BriefcaseView v; BriefcaseModel m; final String strVersion = "2023.11.01"; // strTextFieldVolumeName/strBriefcaseName/ // These are on the master directory, typically the USB drive final String strBriefcaseName = "Briefcase"; // Briefcase folder directory name final String strBriefcaseFolderInfoFileNameExt = "BriefcaseFolderInfo.bfc"; // Information file name and extension for folders String strBriefcaseMasterDirectory; String strBriefcaseInfoFolderPath; String strHardDriveFolderDirectory; String strFolderName; int iNbrOfTotalOperations, iNbrOfHiddenObservations, iNbrOfWarnings; boolean bFromDateLater; boolean bFromHardDrive; boolean bFromHardDriveMoreRecent; Vector vecDeleteFiles = new Vector(); Vector vecDeleteFolders = new Vector(); Vector vecCreateFolders = new Vector(); Vector vecCopyFiles = new Vector(); public BriefcaseController() { m = new BriefcaseModel(this); v = new BriefcaseView(this); } // Final variables protected String getVersion() { return strVersion; } protected String getBriefcaseVolumePath() { String strBriefcaseVolume; if(FileUtility.isOSMac()) { strBriefcaseVolume = "/Volumes/ESD-USB"; } else { strBriefcaseVolume = "e:"; } return strBriefcaseVolume; } protected String getHardDriveVolumePath() { return FileUtility.getDocumentsPath(); } // Non-final variables protected String getBriefcaseRootFolderPath() { strBriefcaseMasterDirectory = FileUtility.constructDirectory(getBriefcaseVolumePath(), strBriefcaseName); return strBriefcaseMasterDirectory; } protected String getHardDriveRootFolderPath() { String strHardDriveMasterDirectory = getHardDriveVolumePath(); return strHardDriveMasterDirectory; } protected String getStrFolderName() { return strFolderName; } protected void setStrFolderName(String strFolderName) { this.strFolderName = strFolderName; } protected String constructBriefcaseSubFolderPath() { String strBriefcaseFolderDirectory = FileUtility.constructDirectory(getBriefcaseRootFolderPath(), strFolderName); return strBriefcaseFolderDirectory; } protected String constructHardDriveSubFolderPath() { strHardDriveFolderDirectory = FileUtility.constructDirectory(FileUtility.getDocumentsPath(), strFolderName); return strHardDriveFolderDirectory; } protected String getBriefcaseFolderInfoFileNameExt() { return strBriefcaseFolderInfoFileNameExt; } protected void checkFolderTimes() { m.checkFolderTimes(); } protected boolean isbFromHardDriveMoreRecent() { return bFromHardDriveMoreRecent; } protected void setbFromHardDriveMoreRecent(boolean bFromHardDriveMoreRecent) { this.bFromHardDriveMoreRecent = bFromHardDriveMoreRecent; } protected boolean isbFromHardDrive() { return bFromHardDrive; } protected void setbFromHardDrive(boolean bFromHardDrive) { this.bFromHardDrive = bFromHardDrive; } /* protected int getiNbrOfTotalOperations() { return iNbrOfTotalOperations; } protected void setiNbrOfTotalOperations(int iNbrOfTotalOperations) { this.iNbrOfTotalOperations = iNbrOfTotalOperations; } protected int getiNbrOfHiddenObservations() { return iNbrOfHiddenObservations; } protected void setiNbrOfHiddenObservations(int iNbrOfHiddenObservations) { this.iNbrOfHiddenObservations = iNbrOfHiddenObservations; } protected int getiNbrOfWarnings() { return iNbrOfWarnings; } protected void setiNbrOfWarningss(int iNbrOfWarnings) { this.iNbrOfWarnings = iNbrOfWarnings; } */ protected Vector getVecDeleteFiles() { return vecDeleteFiles; } protected void setVecDeleteFiles(Vector vecDeleteFiles) { this.vecDeleteFiles = vecDeleteFiles; } protected Vector getVecDeleteFolders() { return vecDeleteFolders; } protected void setVecDeleteFolders(Vector vecDeleteFolders) { this.vecDeleteFolders = vecDeleteFolders; } protected Vector getVecCreateFolders() { return vecCreateFolders; } protected void setVecCreateFolders(Vector vecCreateFolders) { this.vecCreateFolders = vecCreateFolders; } protected Vector getVecCopyFiles() { return vecCopyFiles; } protected void setVecCopyFiles(Vector vecCopyFiles) { this.vecCopyFiles = vecCopyFiles; } protected void checkForFolderRootDirectory() { m.checkForFolderRootDirectory(); } // From view to model protected void setFromToFolderFileInfo() { m.readAndSetFileInfo(); } protected void constructFolderAndFileVectors() { m.constructFolderAndFileVectors(); } protected void createNewBriefcaseFolder() { m.createNewBriefcaseFolder(); } protected void removeExistingBriefcaseFolder() { m.removeExistingBriefcaseFolder(); } protected void updateFoldersAndFiles() { m.updateFoldersAndFiles(); } // From model to view protected String[] getBriefcaseFolderNames() { return m.getBriefcaseFolderNames(); } protected void writeDirInfoToTextArea(String strMessage, String strFolder) { v.cadOutput.writeDirInfoToTextArea(strMessage, strFolder); } protected void writeFileInfoToTextArea(String strMessage, String strFolder, String strFile, long lFileDate) { v.cadOutput.writeFileInfoToTextArea(strMessage, strFolder, strFile, lFileDate); } protected void writeFileInfoToTextArea(String strMessage, String strFolder, String strFile, long lFileFromDate, long lFileToDate) { v.cadOutput.writeFileInfoToTextArea(strMessage, strFolder, strFile, lFileFromDate, lFileToDate); } //protected void writeLineToTextArea(String strLine, boolean bTextAreaNormal) { // v.cadOutput.writeLineToTextArea(strLine, bTextAreaNormal); //} protected void setupScreen() { v.setupScreen(); } protected void initializeButtons() { v.initializeButtons(); } // Progress bar methods protected void setProgressBarVisible(boolean bVisible) { v.viewProgressBar.setVisible(bVisible); } protected void setProgressBarMaximum(int iValue) { v.viewProgressBar.setMaximum(iValue); } protected void setProgressBarValue(int iValue) { v.viewProgressBar.setValue(iValue); } protected void setProgressBarString(String strLine) { v.viewProgressBar.setString(strLine); } // Launch application public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { new BriefcaseController(); //frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } }