Changeset 20


Ignore:
Timestamp:
10/19/09 22:48:43 (15 years ago)
Author:
zeiss
Message:

improved setting handling.

Location:
trunk/de.ugoe.cs.swe.exercises
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/de.ugoe.cs.swe.exercises/plugin.xml

    r16 r20  
    9393         point="org.eclipse.ui.commands"> 
    9494      <command 
    95             defaultHandler="de.ugoe.cs.swe.exercises.settings.Settings" 
    96             id="de.ugoe.cs.swe.exercises.commands.svnSettings" 
    97             name="SVN Settings"> 
     95            defaultHandler="de.ugoe.cs.swe.exercises.settings.SettingsHandler" 
     96            id="de.ugoe.cs.swe.exercises.commands.settings" 
     97            name="Settings"> 
    9898      </command> 
    9999   </extension> 
     
    105105               label="Options"> 
    106106            <command 
    107                   commandId="de.ugoe.cs.swe.exercises.commands.svnSettings" 
     107                  commandId="de.ugoe.cs.swe.exercises.commands.settings" 
    108108                  icon="icons/system-run16.png" 
    109109                  label="Settings" 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/Application.java

    r16 r20  
    2121import de.ugoe.cs.swe.exercises.exercise.ExerciseSVN; 
    2222import de.ugoe.cs.swe.exercises.misc.Model; 
     23import de.ugoe.cs.swe.exercises.settings.Settings; 
    2324import de.ugoe.cs.swe.exercises.settings.SettingsDialog; 
    2425 
     
    3839                SettingsDialog settingsDialog = new SettingsDialog(new Shell()); 
    3940                /* try{ */ 
    40                 if (!settingsDialog.hasSettings()) 
     41                if (!Settings.getInstance().isInitialized()) 
    4142                        settingsDialog.open(); 
    4243                /* 
     
    4748                try { 
    4849                        DAVRepositoryFactory.setup(); 
    49                         SVNURL url = SVNURL 
    50                                         .parseURIDecoded(settingsDialog.getSVNLocation()); 
     50                        SVNURL url = SVNURL.parseURIDecoded(Settings.getInstance() 
     51                                        .getSvnLocation()); 
    5152                        SVNRepository repository = SVNRepositoryFactory.create(url); 
    5253                        ISVNAuthenticationManager authManager = SVNWCUtil 
    53                                         .createDefaultAuthenticationManager(settingsDialog 
    54                                                         .getSVNUsername(), settingsDialog.getSVNPassword()); 
     54                                        .createDefaultAuthenticationManager(Settings.getInstance() 
     55                                                        .getSvnUsername(), Settings.getInstance() 
     56                                                        .getSvnPassword()); 
    5557                        ((SVNRepository) repository).setAuthenticationManager(authManager); 
    5658                        repository.testConnection(); 
     
    5961                        try { 
    6062                                DAVRepositoryFactory.setup(); 
    61                                 SVNURL url = SVNURL.parseURIDecoded(settingsDialog 
    62                                                 .getSVNLocation()); 
     63                                SVNURL url = SVNURL.parseURIDecoded(Settings.getInstance().getSvnLocation()); 
    6364                                SVNRepository repository = SVNRepositoryFactory.create(url); 
    6465                                ISVNAuthenticationManager authManager = SVNWCUtil 
    65                                                 .createDefaultAuthenticationManager(settingsDialog 
    66                                                                 .getSVNUsername(), settingsDialog 
    67                                                                 .getSVNPassword()); 
     66                                                .createDefaultAuthenticationManager(Settings.getInstance().getSvnUsername(),  
     67                                                                Settings.getInstance().getSvnPassword()); 
    6868                                ((SVNRepository) repository) 
    6969                                                .setAuthenticationManager(authManager); 
     
    7474                } 
    7575 
    76                 System.setProperty("javax.net.ssl.trustStorePassword", settingsDialog 
    77                                 .getMySQLPassword()); 
     76                System.setProperty("javax.net.ssl.trustStorePassword", Settings.getInstance().getMysqlPassword()); 
    7877                String path = Model.class.getProtectionDomain().getCodeSource() 
    7978                                .getLocation().getPath(); 
     
    8786                        Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    8887                        // Step 2: Establish the connection to the database. 
    89                         String url = "jdbc:mysql://" + settingsDialog.getMySQLHost() + "/" 
    90                                         + settingsDialog.getMySQLDb() + "?useSSL=" 
    91                                         + String.valueOf(settingsDialog.isMySQLcheckSSL()); 
    92                         DriverManager.getConnection(url, settingsDialog 
    93                                         .getMySQLUsername(), settingsDialog.getMySQLPassword()); 
     88                        String url = "jdbc:mysql://" + Settings.getInstance().getMysqlHost() + "/" 
     89                                        + Settings.getInstance().getMysqlDb() + "?useSSL=" 
     90                                        + String.valueOf(Settings.getInstance().isMysqlSSL()); 
     91                        DriverManager.getConnection(url, Settings.getInstance().getMysqlUsername(), 
     92                                        Settings.getInstance().getMysqlPassword()); 
    9493                } catch (SQLException ex) { 
    9594                        settingsDialog.open(); 
     
    9897                                Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    9998                                // Step 2: Establish the connection to the database. 
    100                                 String url = "jdbc:mysql://" + settingsDialog.getMySQLHost() 
    101                                                 + "/" + settingsDialog.getMySQLDb() + "?useSSL=" 
    102                                                 + String.valueOf(settingsDialog.isMySQLcheckSSL()); 
    103                                 DriverManager.getConnection(url, 
    104                                                 settingsDialog.getMySQLUsername(), settingsDialog 
    105                                                                 .getMySQLPassword()); 
     99                                String url = "jdbc:mysql://" + Settings.getInstance().getMysqlHost() 
     100                                                + "/" + Settings.getInstance().getMysqlDb() + "?useSSL=" 
     101                                                + String.valueOf(Settings.getInstance().isMysqlSSL()); 
     102                                DriverManager.getConnection(url, Settings.getInstance().getMysqlUsername(), Settings.getInstance().getMysqlPassword()); 
    106103                        } catch (SQLException ex2) { 
    107104                                return null; 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/exercise/Exercise.java

    r3 r20  
    2020import de.ugoe.cs.swe.exercises.lecture.Lecture; 
    2121import de.ugoe.cs.swe.exercises.misc.Model; 
     22import de.ugoe.cs.swe.exercises.settings.Settings; 
    2223 
    2324public class Exercise extends Model { 
     
    300301 
    301302                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    302                                 options, ExerciseSVN.getUserName(), ExerciseSVN.getPassWord()); 
     303                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    303304 
    304305                SVNWCClient ourWCClient = new SVNWCClient(ourClientManager, options); 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/exercise/ExerciseSVN.java

    r16 r20  
    33import java.io.File; 
    44import java.io.IOException; 
    5 import org.eclipse.swt.widgets.Shell; 
     5 
    66import org.tmatesoft.svn.core.SVNCommitInfo; 
    77import org.tmatesoft.svn.core.SVNDepth; 
     
    1919 
    2020import de.ugoe.cs.swe.exercises.misc.FileUtils; 
    21 import de.ugoe.cs.swe.exercises.settings.*; 
     21import de.ugoe.cs.swe.exercises.settings.Settings; 
    2222 
    2323public class ExerciseSVN { 
    24         private static SettingsDialog svnSettings = new SettingsDialog(new Shell()); 
    25         private static String url = svnSettings.getSVNLocation(); 
    26         private static String userName = svnSettings.getSVNUsername(); 
    27         private static String passWord = svnSettings.getSVNPassword(); 
    2824        public static String SVNpathRev = System.getProperty("user.home") + "/" 
    29                         + svnSettings.getWorkingDirectory() + "-REVISION"; 
     25                        + Settings.getInstance().getWorkingDirectory() + "-REVISION"; 
    3026        public static String SVNpath = System.getProperty("user.home") + "/" 
    31                         + svnSettings.getWorkingDirectory() + "/"; 
     27                        + Settings.getInstance().getWorkingDirectory() + "/"; 
    3228 
    3329        public static void SVNCheckout(int revnumber) { 
     
    3834 
    3935                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    40                                 options, userName, passWord); 
     36                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    4137                SVNUpdateClient updateClient = ourClientManager.getUpdateClient(); 
    4238 
     
    4743                try { 
    4844 
    49                         updateClient.doCheckout(SVNURL.parseURIDecoded(url), dstPath, 
     45                        updateClient.doCheckout(SVNURL.parseURIDecoded(Settings.getInstance().getSvnLocation()), dstPath, 
    5046                                        SVNRevision.parse(tmp), SVNRevision.parse(tmp), 
    5147                                        SVNDepth.INFINITY, true); 
     
    6258 
    6359                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    64                                 options, userName, passWord); 
     60                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    6561                SVNUpdateClient updateClient = ourClientManager.getUpdateClient(); 
    6662 
     
    7066 
    7167                        updateClient 
    72                                         .doCheckout(SVNURL.parseURIDecoded(url), dstPath, 
     68                                        .doCheckout(SVNURL.parseURIDecoded(Settings.getInstance().getSvnLocation()), dstPath, 
    7369                                                        SVNRevision.HEAD, SVNRevision.HEAD, 
    7470                                                        SVNDepth.INFINITY, true); 
     
    8884 
    8985                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    90                                 options, userName, passWord); 
     86                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    9187 
    9288                SVNCommitClient commitClient = ourClientManager.getCommitClient(); 
     
    118114 
    119115                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    120                                 options, userName, passWord); 
     116                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    121117 
    122118                SVNWCClient ourWCClient = new SVNWCClient(ourClientManager, options); 
     
    157153 
    158154                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    159                                 options, userName, passWord); 
     155                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    160156 
    161157                SVNWCClient ourWCClient = new SVNWCClient(ourClientManager, options); 
     
    178174 
    179175                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    180                                 options, userName, passWord); 
     176                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    181177                SVNUpdateClient updateClient = ourClientManager.getUpdateClient(); 
    182178 
     
    198194 
    199195                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    200                                 options, userName, passWord); 
     196                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    201197                SVNUpdateClient updateClient = ourClientManager.getUpdateClient(); 
    202198 
     
    212208                        e.printStackTrace(); 
    213209                } 
    214         } 
    215  
    216         public static void setPassWord(String passWord) { 
    217                 ExerciseSVN.passWord = passWord; 
    218         } 
    219  
    220         public static String getPassWord() { 
    221                 return passWord; 
    222         } 
    223  
    224         public static void setUserName(String userName) { 
    225                 ExerciseSVN.userName = userName; 
    226         } 
    227  
    228         public static String getUserName() { 
    229                 return userName; 
    230         } 
    231  
    232         public static void setUrl(String url) { 
    233                 ExerciseSVN.url = url; 
    234         } 
    235  
    236         public static String getUrl() { 
    237                 return url; 
    238210        } 
    239211 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/exercise/ViewExercise.java

    r16 r20  
    44import java.util.ArrayList; 
    55import java.util.Iterator; 
    6 import org.eclipse.swt.widgets.Composite; 
    7 import org.eclipse.ui.IWorkbenchPage; 
    8 import org.eclipse.ui.PlatformUI; 
    9 import org.eclipse.ui.ide.FileStoreEditorInput; 
    10 import org.eclipse.ui.part.ViewPart; 
    11 import org.eclipse.swt.layout.GridLayout; 
    12 import org.eclipse.swt.widgets.Label; 
    13 import org.eclipse.swt.SWT; 
    14 import org.eclipse.swt.widgets.Text; 
    15 import org.eclipse.swt.layout.GridData; 
    16 import org.eclipse.swt.widgets.Shell; 
    17 import org.eclipse.swt.widgets.Table; 
    18 import org.eclipse.swt.widgets.MessageBox; 
    19 import org.eclipse.swt.widgets.TableItem; 
    20 import org.eclipse.swt.widgets.TableColumn; 
    21 import org.eclipse.swt.widgets.Button; 
    22 import org.eclipse.swt.events.SelectionAdapter; 
    23 import org.eclipse.swt.events.SelectionEvent; 
     6 
    247import org.eclipse.core.filesystem.EFS; 
    258import org.eclipse.core.filesystem.IFileStore; 
     
    2912import org.eclipse.jface.viewers.StructuredSelection; 
    3013import org.eclipse.jface.viewers.TableViewer; 
     14import org.eclipse.swt.SWT; 
     15import org.eclipse.swt.custom.CCombo; 
     16import org.eclipse.swt.custom.SashForm; 
    3117import org.eclipse.swt.events.KeyAdapter; 
    3218import org.eclipse.swt.events.KeyEvent; 
    33 import org.eclipse.swt.custom.CCombo; 
     19import org.eclipse.swt.events.SelectionAdapter; 
     20import org.eclipse.swt.events.SelectionEvent; 
     21import org.eclipse.swt.layout.GridData; 
     22import org.eclipse.swt.layout.GridLayout; 
     23import org.eclipse.swt.widgets.Button; 
     24import org.eclipse.swt.widgets.Composite; 
     25import org.eclipse.swt.widgets.Label; 
     26import org.eclipse.swt.widgets.MessageBox; 
     27import org.eclipse.swt.widgets.Table; 
     28import org.eclipse.swt.widgets.TableColumn; 
     29import org.eclipse.swt.widgets.TableItem; 
     30import org.eclipse.swt.widgets.Text; 
     31import org.eclipse.ui.IWorkbenchPage; 
     32import org.eclipse.ui.PlatformUI; 
     33import org.eclipse.ui.ide.FileStoreEditorInput; 
     34import org.eclipse.ui.part.ViewPart; 
     35 
    3436import de.ugoe.cs.swe.exercises.lecture.Lecture; 
    3537import de.ugoe.cs.swe.exercises.lecture.LectureLabelProvider; 
    3638import de.ugoe.cs.swe.exercises.misc.CKeyword; 
    3739import de.ugoe.cs.swe.exercises.misc.KeywordLabelProvider; 
    38 import de.ugoe.cs.swe.exercises.settings.SettingsDialog; 
    39  
    40 import org.eclipse.swt.custom.SashForm; 
     40import de.ugoe.cs.swe.exercises.settings.Settings; 
    4141 
    4242public class ViewExercise extends ViewPart { 
     
    279279                        @Override 
    280280                        public void widgetSelected(SelectionEvent e) { 
    281                                 SettingsDialog settings = new SettingsDialog(new Shell()); 
    282281                                PlatformUI.getWorkbench().getActiveWorkbenchWindow() 
    283282                                                .getActivePage().setEditorAreaVisible(true); 
    284283                                File file = new File(System.getProperty("user.home") + "/" 
    285                                                 + settings.getWorkingDirectory() + "/exercises/" 
     284                                                + Settings.getInstance().getWorkingDirectory() + "/exercises/" 
    286285                                                + String.valueOf(selected.getId()) + "solution.tex"); 
    287286                                if (file != null) { 
     
    301300 
    302301                                file = new File(String.valueOf(System.getProperty("user.home") 
    303                                                 + "/" + settings.getWorkingDirectory() + "/exercises/" 
     302                                                + "/" + Settings.getInstance().getWorkingDirectory() + "/exercises/" 
    304303                                                + selected.getId()) 
    305304                                                + ".tex"); 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/exercisesheet/ExerciseSheet.java

    r14 r20  
    1818import de.ugoe.cs.swe.exercises.lectureevent.LectureEvent; 
    1919import de.ugoe.cs.swe.exercises.misc.Model; 
     20import de.ugoe.cs.swe.exercises.settings.Settings; 
    2021 
    2122public class ExerciseSheet extends Model { 
     
    297298 
    298299                SVNClientManager ourClientManager = SVNClientManager.newInstance( 
    299                                 options, ExerciseSVN.getUserName(), ExerciseSVN.getPassWord()); 
     300                                options, Settings.getInstance().getSvnUsername(), Settings.getInstance().getSvnPassword()); 
    300301 
    301302                SVNWCClient ourWCClient = new SVNWCClient(ourClientManager, options); 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/exercisesheet/PdfGenerator.java

    r17 r20  
    1818 
    1919import org.eclipse.jface.util.Util; 
    20 import org.eclipse.swt.widgets.Shell; 
    2120 
    2221import de.ugoe.cs.swe.exercises.exercise.Exercise; 
     
    2524import de.ugoe.cs.swe.exercises.lecturer.Lecturer; 
    2625import de.ugoe.cs.swe.exercises.misc.FileUtils; 
    27 import de.ugoe.cs.swe.exercises.settings.SettingsDialog; 
     26import de.ugoe.cs.swe.exercises.settings.Settings; 
    2827 
    2928public class PdfGenerator { 
     
    3534                        path += ".pdf"; 
    3635 
    37                 SettingsDialog settings = new SettingsDialog(new Shell()); 
    3836                ArrayList<String> cmdList = new ArrayList<String>(); 
    3937 
    40                 String cmd = "\"" + settings.getmyPDFLatexPath() + "\"" 
     38                String cmd = "\"" + Settings.getInstance().getPdfLatexPath() + "\"" 
    4139                                + " -halt-on-error -output-directory=\""; 
    4240                try { 
    4341                        File latexFile = File.createTempFile("exercise", ".tex"); 
    4442 
    45                         cmdList.add(settings.getmyPDFLatexPath()); 
     43                        cmdList.add(Settings.getInstance().getPdfLatexPath()); 
    4644                        cmdList.add("-halt-on-error"); 
    4745                        cmdList.add("-output-directory=" + latexFile.getParent()); 
     
    140138                                        + Matcher.quoteReplacement(dueDateString) + "$2"); 
    141139                        template = template.replaceAll("(\\W)RESEARCHGROUP(\\W)", "$1" 
    142                                         + Matcher.quoteReplacement(settings.getMyResearchGroup()) + "$2"); 
     140                                        + Matcher.quoteReplacement(Settings.getInstance().getResearchGroup()) + "$2"); 
    143141                        template = template.replaceAll("(\\W)RESEARCHGROUPURL(\\W)", "$1" 
    144                                         + Matcher.quoteReplacement(settings.getMyResearchGroupUrl()) + "$2"); 
     142                                        + Matcher.quoteReplacement(Settings.getInstance().getResearchGroupUrl()) + "$2"); 
    145143 
    146144                        // write temporary .tex file to temp directory 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/misc/Model.java

    r16 r20  
    22 
    33import java.sql.Connection; 
    4 import java.sql.SQLException; 
    5  
    64import java.sql.DatabaseMetaData; 
    75import java.sql.DriverManager; 
    86import java.sql.PreparedStatement; 
    97import java.sql.ResultSet; 
     8import java.sql.SQLException; 
    109import java.sql.Statement; 
    11 import org.eclipse.swt.widgets.Shell; 
    1210 
    1311import de.ugoe.cs.swe.exercises.exercise.Exercise; 
    14 import de.ugoe.cs.swe.exercises.settings.*; 
     12import de.ugoe.cs.swe.exercises.settings.Settings; 
    1513 
    1614public abstract class Model { 
    17         private static SettingsDialog mysqlSettings = new SettingsDialog(new Shell()); 
    1815        public static int UNDEFINED = -1; 
    1916        private int id = Model.UNDEFINED; 
     
    3734                // connect to DB 
    3835                // -Djavax.net.ssl.trustStorePassword=datenbank -Djavax.net.ssl.trustStore=${project_loc}/keystore 
    39                 System.setProperty("javax.net.ssl.trustStorePassword", mysqlSettings.getMySQLPassword()); 
     36                System.setProperty("javax.net.ssl.trustStorePassword", Settings.getInstance().getMysqlPassword()); 
    4037        String path = Model.class.getProtectionDomain().getCodeSource().getLocation().getPath(); 
    4138        if (path.endsWith("bin/")) 
     
    5249                                // Step 2: Establish the connection to the database. 
    5350                                //System.out.println("jdbc:mysql://" + mysqlSettings.getMySQLHost() + "/" + mysqlSettings.getMySQLDb() + "test?useSSL="+mysqlSettings.isMySQLcheckSSL()); 
    54                                 String url = "jdbc:mysql://" + mysqlSettings.getMySQLHost() + "/" + mysqlSettings.getMySQLDb() + "test";//?useSSL="+mysqlSettings.isMySQLcheckSSL(); 
     51                                String url = "jdbc:mysql://" + Settings.getInstance().getMysqlHost() + "/" + Settings.getInstance().getMysqlDb() + "test";//?useSSL="+mysqlSettings.isMySQLcheckSSL(); 
    5552 
    56                                 Connection conn = DriverManager.getConnection(url, mysqlSettings.getMySQLUsername(), 
    57                                                 mysqlSettings.getMySQLPassword()); 
     53                                Connection conn = DriverManager.getConnection(url, Settings.getInstance().getMysqlUsername(), 
     54                                                Settings.getInstance().getMysqlPassword()); 
    5855                                System.out.println("Connection successful"); 
    5956                                //url.wait(500); 
     
    6966 
    7067                                // Step 2: Establish the connection to the database. 
    71                                 String url = "jdbc:mysql://" + mysqlSettings.getMySQLHost() + "/" + mysqlSettings.getMySQLDb() + "?useSSL="+mysqlSettings.isMySQLcheckSSL(); 
    72                                 Connection conn = DriverManager.getConnection(url, mysqlSettings.getMySQLUsername(), 
    73                                                 mysqlSettings.getMySQLPassword()); 
     68                                String url = "jdbc:mysql://" + Settings.getInstance().getMysqlHost() + "/" + Settings.getInstance().getMysqlDb() + "?useSSL="+Settings.getInstance().isMysqlSSL(); 
     69                                Connection conn = DriverManager.getConnection(url, Settings.getInstance().getMysqlUsername(), 
     70                                                Settings.getInstance().getMysqlPassword()); 
    7471                                return conn; 
    7572                        } catch (Exception e) { 
     
    157154                        DatabaseMetaData metaData; 
    158155                        metaData = Model.getConnection().getMetaData(); 
    159                         ResultSet rs = metaData.getTables(mysqlSettings.getMySQLDb()+"test", null, null, null); 
     156                        ResultSet rs = metaData.getTables(Settings.getInstance().getMysqlDb()+"test", null, null, null); 
    160157                        PreparedStatement statement; 
    161158                        while (rs.next()) { 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/Settings.java

    r16 r20  
    11package de.ugoe.cs.swe.exercises.settings; 
    22 
    3 import org.eclipse.core.commands.AbstractHandler; 
    4 import org.eclipse.core.commands.ExecutionEvent; 
    5 import org.eclipse.core.commands.ExecutionException; 
    6 import org.eclipse.ui.IWorkbenchWindow; 
    7 import org.eclipse.ui.handlers.HandlerUtil; 
     3public class Settings { 
     4        private String svnLocation; 
     5        private String workingDirectory; 
     6        private String svnUsername; 
     7        private String svnPassword; 
     8        private String mysqlHost; 
     9        private String mysqlDb; 
     10        private String mysqlUsername; 
     11        private String mysqlPassword; 
     12        private String pdfLatexPath; 
     13        private String researchGroup; 
     14        private String researchGroupUrl; 
     15        private boolean mysqlSSL = false; 
     16        private static Settings settings; 
    817 
    9 public class Settings extends AbstractHandler { 
     18        private Settings() { 
     19        } 
    1020 
    11         @Override 
    12         public Object execute(ExecutionEvent event) throws ExecutionException { 
    13                 IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); 
    14                 SettingsDialog dialog = new SettingsDialog(window.getShell()); 
    15                 dialog.setTitle("Settings"); 
    16                 dialog.open(); 
    17                 return null; 
     21        public static Settings getInstance() { 
     22                if (settings == null) 
     23                        settings = new Settings(); 
     24 
     25                return settings; 
     26        } 
     27 
     28        public boolean isInitialized() { 
     29                if (svnLocation == "" || workingDirectory == "" || svnUsername == "" 
     30                                || svnPassword == "" || mysqlHost == "" || mysqlDb == "" 
     31                                || mysqlUsername == "" || mysqlPassword == "" 
     32                                || pdfLatexPath == "") { 
     33                        return false; 
     34                } 
     35                return true; 
     36 
     37        } 
     38 
     39        public String getSvnLocation() { 
     40                return svnLocation; 
     41        } 
     42 
     43        public void setSvnLocation(String svnLocation) { 
     44                this.svnLocation = svnLocation; 
     45        } 
     46 
     47        public String getWorkingDirectory() { 
     48                return workingDirectory; 
     49        } 
     50 
     51        public void setWorkingDirectory(String workingDirectory) { 
     52                this.workingDirectory = workingDirectory; 
     53        } 
     54 
     55        public String getSvnUsername() { 
     56                return svnUsername; 
     57        } 
     58 
     59        public void setSvnUsername(String svnUsername) { 
     60                this.svnUsername = svnUsername; 
     61        } 
     62 
     63        public String getSvnPassword() { 
     64                return svnPassword; 
     65        } 
     66 
     67        public void setSvnPassword(String svnPassword) { 
     68                this.svnPassword = svnPassword; 
     69        } 
     70 
     71        public String getMysqlHost() { 
     72                return mysqlHost; 
     73        } 
     74 
     75        public void setMysqlHost(String mysqlHost) { 
     76                this.mysqlHost = mysqlHost; 
     77        } 
     78 
     79        public String getMysqlDb() { 
     80                return mysqlDb; 
     81        } 
     82 
     83        public void setMysqlDb(String mysqlDb) { 
     84                this.mysqlDb = mysqlDb; 
     85        } 
     86 
     87        public String getMysqlUsername() { 
     88                return mysqlUsername; 
     89        } 
     90 
     91        public void setMysqlUsername(String mysqlUsername) { 
     92                this.mysqlUsername = mysqlUsername; 
     93        } 
     94 
     95        public String getMysqlPassword() { 
     96                return mysqlPassword; 
     97        } 
     98 
     99        public void setMysqlPassword(String mysqlPassword) { 
     100                this.mysqlPassword = mysqlPassword; 
     101        } 
     102 
     103        public String getPdfLatexPath() { 
     104                return pdfLatexPath; 
     105        } 
     106 
     107        public void setPdfLatexPath(String pdfLatexPath) { 
     108                this.pdfLatexPath = pdfLatexPath; 
     109        } 
     110 
     111        public String getResearchGroup() { 
     112                return researchGroup; 
     113        } 
     114 
     115        public void setResearchGroup(String researchGroup) { 
     116                this.researchGroup = researchGroup; 
     117        } 
     118 
     119        public String getResearchGroupUrl() { 
     120                return researchGroupUrl; 
     121        } 
     122 
     123        public void setResearchGroupUrl(String researchGroupUrl) { 
     124                this.researchGroupUrl = researchGroupUrl; 
     125        } 
     126 
     127        public boolean isMysqlSSL() { 
     128                return mysqlSSL; 
     129        } 
     130 
     131        public void setMysqlSSL(boolean mysqlSSL) { 
     132                this.mysqlSSL = mysqlSSL; 
    18133        } 
    19134 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog.java

    r17 r20  
    4949        private Text textResearchGroupUrl; 
    5050        private Combo cboUseSSL; 
    51         private String svnLocation = ""; 
    52         private String workingDirectory = ""; 
    53         private String svnUsername = ""; 
    54         private String svnPassword = ""; 
    55         private String mySQLHost = ""; 
    56         private String mySQLDb = ""; 
    57         private String mySQLUsername = ""; 
    58         private String mySQLPassword = ""; 
    59         private String myPDFLatexPath = ""; 
    60         private String myResearchGroup = ""; 
    61         private String myResearchGroupUrl = ""; 
    62         private boolean mySQLcheckSSL = false; 
    63  
    64         public boolean hasSettings() { 
    65                 if (svnLocation == "" || workingDirectory == "" || svnUsername == "" 
    66                                 || svnPassword == "" || mySQLHost == "" || mySQLDb == "" 
    67                                 || mySQLUsername == "" || mySQLPassword == "" 
    68                                 || myPDFLatexPath == "") { 
    69                         return false; 
    70                 } 
    71                 return true; 
    72         } 
    73  
    74         public String getmyPDFLatexPath() { 
    75                 return myPDFLatexPath; 
    76         } 
    77  
    78         public void setmyPDFLatexPath(String myPDFLatexPath) { 
    79                 this.myPDFLatexPath = myPDFLatexPath; 
    80         } 
    81  
    82         public String getSVNLocation() { 
    83                 return svnLocation; 
    84         } 
    85  
    86         public String getWorkingDirectory() { 
    87                 return workingDirectory; 
    88         } 
    89  
    90         public String getSVNUsername() { 
    91                 return svnUsername; 
    92         } 
    93  
    94         public String getSVNPassword() { 
    95                 return svnPassword; 
    96         } 
    97  
    98         public String getMySQLHost() { 
    99                 return mySQLHost; 
    100         } 
    101  
    102         public String getMySQLDb() { 
    103                 return mySQLDb; 
    104         } 
    105  
    106         public String getMySQLUsername() { 
    107                 return mySQLUsername; 
    108         } 
    109  
    110         public String getMySQLPassword() { 
    111                 return mySQLPassword; 
    112         } 
    113  
    114         public boolean isMySQLcheckSSL() { 
    115                 return mySQLcheckSSL; 
    116         } 
    11751 
    11852        public SettingsDialog(Shell parentShell) { 
     
    220154                                GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL)); 
    221155 
    222                 if (mySQLcheckSSL) 
     156                Settings settings = Settings.getInstance(); 
     157                if (settings.isMysqlSSL()) 
    223158                        cboUseSSL.select(1); 
    224159                else 
    225160                        cboUseSSL.select(0); 
    226161 
    227                 textSVNLocation.setText(svnLocation); 
    228                 textWorkingDirectory.setText(workingDirectory); 
    229                 textSVNUsername.setText(svnUsername); 
    230                 textSVNPassword.setText(svnPassword); 
    231                 textMySQLHost.setText(mySQLHost); 
    232                 textMySQLDb.setText(mySQLDb); 
    233                 textMySQLUsername.setText(mySQLUsername); 
    234                 textMySQLPassword.setText(mySQLPassword); 
    235                 textPdflatex.setText(myPDFLatexPath); 
    236                 textResearchGroup.setText(myResearchGroup); 
    237                 textResearchGroupUrl.setText(myResearchGroupUrl); 
     162                textSVNLocation.setText(settings.getSvnLocation()); 
     163                textWorkingDirectory.setText(settings.getWorkingDirectory()); 
     164                textSVNUsername.setText(settings.getSvnUsername()); 
     165                textSVNPassword.setText(settings.getSvnPassword()); 
     166                textMySQLHost.setText(settings.getMysqlHost()); 
     167                textMySQLDb.setText(settings.getMysqlDb()); 
     168                textMySQLUsername.setText(settings.getMysqlUsername()); 
     169                textMySQLPassword.setText(settings.getMysqlPassword()); 
     170                textPdflatex.setText(settings.getPdfLatexPath()); 
     171                textResearchGroup.setText(settings.getResearchGroup()); 
     172                textResearchGroupUrl.setText(settings.getResearchGroupUrl()); 
    238173 
    239174                GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END); 
     
    261196                                                && textSVNUsername.getText().length() != 0 
    262197                                                && textSVNPassword.getText().length() != 0) { 
    263                                         svnLocation = textSVNLocation.getText(); 
    264                                         workingDirectory = textWorkingDirectory.getText(); 
    265                                         svnUsername = textSVNUsername.getText(); 
    266                                         svnPassword = textSVNPassword.getText(); 
    267                                         mySQLHost = textMySQLHost.getText(); 
    268                                         mySQLDb = textMySQLDb.getText(); 
    269                                         mySQLUsername = textMySQLUsername.getText(); 
    270                                         mySQLPassword = textMySQLPassword.getText(); 
    271                                         myPDFLatexPath = textPdflatex.getText(); 
    272                                         myResearchGroup = textResearchGroup.getText(); 
    273                                         myResearchGroupUrl = textResearchGroupUrl.getText(); 
    274  
     198                 
     199                                        Settings settings = Settings.getInstance(); 
     200                                         
     201                                        settings.setSvnLocation(textSVNLocation.getText()); 
     202                                        settings.setWorkingDirectory(textWorkingDirectory.getText()); 
     203                                        settings.setSvnUsername(textSVNUsername.getText()); 
     204                                        settings.setSvnPassword(textSVNPassword.getText()); 
     205                                        settings.setMysqlHost(textMySQLHost.getText()); 
     206                                        settings.setMysqlDb(textMySQLDb.getText()); 
     207                                        settings.setMysqlUsername(textMySQLUsername.getText()); 
     208                                        settings.setMysqlPassword(textMySQLPassword.getText()); 
     209                                        settings.setPdfLatexPath(textPdflatex.getText()); 
     210                                        settings.setResearchGroup(textResearchGroup.getText()); 
     211                                        settings.setResearchGroupUrl(textResearchGroupUrl.getText()); 
     212                                         
    275213                                        if (cboUseSSL.getSelectionIndex() == 1) 
    276                                                 mySQLcheckSSL = true; 
     214                                                settings.setMysqlSSL(true); 
    277215                                        else 
    278                                                 mySQLcheckSSL = false; 
     216                                                settings.setMysqlSSL(false); 
    279217 
    280218                                        try { 
    281219                                                DAVRepositoryFactory.setup(); 
    282                                                 SVNURL url = SVNURL.parseURIDecoded(svnLocation); 
     220                                                SVNURL url = SVNURL.parseURIDecoded(settings.getSvnLocation()); 
    283221                                                SVNRepository repository = SVNRepositoryFactory 
    284222                                                                .create(url); 
    285223                                                ISVNAuthenticationManager authManager = SVNWCUtil 
    286224                                                                .createDefaultAuthenticationManager( 
    287                                                                                 svnUsername, svnPassword); 
     225                                                                                settings.getSvnUsername(), settings.getSvnPassword()); 
    288226                                                ((SVNRepository) repository) 
    289227                                                                .setAuthenticationManager(authManager); 
     
    296234 
    297235                                        System.setProperty("javax.net.ssl.trustStorePassword", 
    298                                                         mySQLPassword); 
     236                                                        settings.getMysqlPassword()); 
    299237                                        String path = Model.class.getProtectionDomain() 
    300238                                                        .getCodeSource().getLocation().getPath(); 
     
    308246                                                Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    309247                                                // Step 2: Establish the connection to the database. 
    310                                                 String url = "jdbc:mysql://" + mySQLHost + "/" 
    311                                                                 + mySQLDb + "?useSSL=" 
    312                                                                 + String.valueOf(mySQLcheckSSL); 
    313                                                 DriverManager.getConnection(url, mySQLUsername, 
    314                                                                 mySQLPassword); 
     248                                                String url = "jdbc:mysql://" + settings.getMysqlHost() + "/" 
     249                                                                + settings.getMysqlDb() + "?useSSL=" 
     250                                                                + String.valueOf(settings.isMysqlSSL()); 
     251                                                DriverManager.getConnection(url, settings.getMysqlUsername(), 
     252                                                                settings.getMysqlPassword()); 
    315253                                        } catch (SQLException ex) { 
    316254                                                setErrorMessage(ex.getMessage()); 
     
    340278 
    341279        private void getFileContents() { 
    342                 Properties settings = new Properties(); 
     280                Properties properties = new Properties(); 
    343281                File file = new File(System.getProperty("user.home") 
    344282                                + "/.exerciseSettings"); 
    345                 if (!file.exists()) { 
    346                         svnLocation = ""; 
    347                         workingDirectory = ""; 
    348                         svnUsername = ""; 
    349                         svnPassword = ""; 
    350                         mySQLHost = ""; 
    351                         mySQLDb = ""; 
    352                         mySQLUsername = ""; 
    353                         mySQLPassword = ""; 
    354                         mySQLcheckSSL = false; 
    355                         myPDFLatexPath = ""; 
    356                         myResearchGroup = ""; 
    357                         myResearchGroupUrl = ""; 
    358                 } else { 
     283                if (file.exists()) { 
    359284                        try { 
    360                                 settings.load(new FileInputStream(file)); 
     285                                properties.load(new FileInputStream(file)); 
    361286                        } catch (FileNotFoundException e) { 
    362287                                e.printStackTrace(); 
     
    365290                        } 
    366291                        try { 
    367                                 if (settings.getProperty("svnLocation") != null) 
    368                                         svnLocation = settings.getProperty("svnLocation"); 
    369                                 if (settings.getProperty("workingDirectory") != null) 
    370                                         workingDirectory = settings.getProperty("workingDirectory"); 
    371                                 if (settings.getProperty("svnUsername") != null) 
    372                                         svnUsername = settings.getProperty("svnUsername"); 
    373                                 if (settings.getProperty("svnPassword") != null) 
    374                                         svnPassword = settings.getProperty("svnPassword"); 
    375                                 if (settings.getProperty("mySQLHost") != null) 
    376                                         mySQLHost = settings.getProperty("mySQLHost"); 
    377                                 if (settings.getProperty("mySQLDb") != null) 
    378                                         mySQLDb = settings.getProperty("mySQLDb"); 
    379                                 if (settings.getProperty("mySQLUsername") != null) 
    380                                         mySQLUsername = settings.getProperty("mySQLUsername"); 
    381                                 if (settings.getProperty("mySQLPassword") != null) 
    382                                         mySQLPassword = settings.getProperty("mySQLPassword"); 
    383                                 if (settings.getProperty("mySQLcheckSSL") != null) 
    384                                         mySQLcheckSSL = Boolean.parseBoolean(settings 
    385                                                         .getProperty("mySQLcheckSSL")); 
    386                                 if (settings.getProperty("mySQLcheckSSL") != null) 
    387                                         myPDFLatexPath = settings.getProperty("myPDFLatexPath"); 
    388                                 if (settings.getProperty("myResearchGroup") != null) 
    389                                         myResearchGroup = settings.getProperty("myResearchGroup"); 
    390                                 if (settings.getProperty("myResearchGroupUrl") != null) 
    391                                         myResearchGroupUrl = settings 
    392                                                         .getProperty("myResearchGroupUrl"); 
    393  
     292                                Settings settings = Settings.getInstance(); 
     293                                settings.setSvnLocation(properties.getProperty("svnLocation")); 
     294                                settings.setWorkingDirectory(properties.getProperty("workingDirectory")); 
     295                                settings.setSvnUsername(properties.getProperty("svnUsername")); 
     296                                settings.setSvnPassword(properties.getProperty("svnPassword")); 
     297                                settings.setMysqlHost(properties.getProperty("mySQLHost")); 
     298                                settings.setMysqlDb(properties.getProperty("mySQLDb")); 
     299                                settings.setMysqlUsername(properties.getProperty("mySQLUsername")); 
     300                                settings.setMysqlPassword(properties.getProperty("mySQLPassword")); 
     301                                settings.setMysqlSSL(Boolean.parseBoolean(properties 
     302                                                .getProperty("mySQLcheckSSL"))); 
     303                                settings.setPdfLatexPath(properties.getProperty("pdfLatexPath")); 
     304                                settings.setResearchGroup(properties.getProperty("researchGroup")); 
     305                                settings.setResearchGroupUrl(properties.getProperty("researchGroupUrl")); 
    394306                        } catch (Exception ex) { 
    395                                 svnLocation = ""; 
    396                                 workingDirectory = ""; 
    397                                 svnUsername = ""; 
    398                                 svnPassword = ""; 
    399                                 mySQLHost = ""; 
    400                                 mySQLDb = ""; 
    401                                 mySQLUsername = ""; 
    402                                 mySQLPassword = ""; 
    403                                 mySQLcheckSSL = false; 
    404                                 myPDFLatexPath = ""; 
    405                                 myResearchGroup = ""; 
    406                                 myResearchGroupUrl = ""; 
    407307                        } 
    408308                } 
     
    410310 
    411311        private void setFileContents() { 
    412                 Properties settings = new Properties(); 
     312                Properties properties = new Properties(); 
    413313                File file = new File(System.getProperty("user.home") 
    414314                                + "/.exerciseSettings"); 
     
    421321                        } 
    422322                } 
    423  
    424                 settings.setProperty("svnLocation", svnLocation); 
    425                 settings.setProperty("workingDirectory", workingDirectory); 
    426                 settings.setProperty("svnUsername", svnUsername); 
    427                 settings.setProperty("svnPassword", svnPassword); 
    428                 settings.setProperty("mySQLHost", mySQLHost); 
    429                 settings.setProperty("mySQLDb", mySQLDb); 
    430                 settings.setProperty("mySQLUsername", mySQLUsername); 
    431                 settings.setProperty("mySQLPassword", mySQLPassword); 
    432                 settings.setProperty("mySQLcheckSSL", String.valueOf(mySQLcheckSSL)); 
    433                 settings.setProperty("myPDFLatexPath", myPDFLatexPath); 
    434                 settings.setProperty("myResearchGroup", myResearchGroup); 
    435                 settings.setProperty("myResearchGroupUrl", myResearchGroupUrl); 
     323                Settings settings = Settings.getInstance(); 
     324 
     325                properties.setProperty("svnLocation", settings.getSvnLocation()); 
     326                properties.setProperty("workingDirectory", settings.getWorkingDirectory()); 
     327                properties.setProperty("svnUsername", settings.getSvnUsername()); 
     328                properties.setProperty("svnPassword", settings.getSvnPassword()); 
     329                properties.setProperty("mySQLHost", settings.getMysqlHost()); 
     330                properties.setProperty("mySQLDb", settings.getMysqlDb()); 
     331                properties.setProperty("mySQLUsername", settings.getMysqlUsername()); 
     332                properties.setProperty("mySQLPassword", settings.getMysqlPassword()); 
     333                properties.setProperty("mySQLcheckSSL", String.valueOf(settings.isMysqlSSL())); 
     334                properties.setProperty("pdfLatexPath", settings.getPdfLatexPath()); 
     335                properties.setProperty("researchGroup", settings.getResearchGroup()); 
     336                properties.setProperty("researchGroupUrl", settings.getResearchGroupUrl()); 
    436337 
    437338                try { 
    438                         settings.store(new FileOutputStream(file), 
     339                        properties.store(new FileOutputStream(file), 
    439340                                        "SVN and other Settings included"); 
    440341                } catch (FileNotFoundException e) { 
     
    445346        } 
    446347 
    447         public String getMyResearchGroup() { 
    448                 return myResearchGroup; 
    449         } 
    450  
    451         public String getMyResearchGroupUrl() { 
    452                 return myResearchGroupUrl; 
    453         } 
    454  
    455348} 
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsHandler.java

    r17 r20  
    77import org.eclipse.ui.handlers.HandlerUtil; 
    88 
    9 public class Settings extends AbstractHandler { 
     9public class SettingsHandler extends AbstractHandler { 
    1010 
    1111        @Override 
Note: See TracChangeset for help on using the changeset viewer.