package se.cambio.cds.gdl.editor.view.dialog; import se.cambio.cds.gdl.editor.controller.EditorManager; import se.cambio.cds.gdl.editor.util.GDLEditorLanguageManager; import se.cambio.cds.gdl.editor.view.panels.FileSelectionPanel; import se.cambio.openehr.util.UserConfigurationManager; import se.cambio.openehr.view.dialogs.DialogEditor; import javax.swing.*; import java.awt.*; import java.io.File; /** * @author icorram * */ public class DialogRepositoriesPaths extends DialogEditor { /** * */ private static final long serialVersionUID = 2562412853124970610L; private JFileChooser _archetypesFolderChooser = null; private JFileChooser _templatesFolderChooser = null; private JFileChooser _terminologiesFolderChooser = null; private JFileChooser _ontologiesFolderChooser = null; private JFileChooser _guidesFolderChooser = null; private FileSelectionPanel archetypesRepositoryFolderPanel = null; private FileSelectionPanel templatesRepositoryFolderPanel = null; private FileSelectionPanel terminologiesRepositoryFolderPanel = null; private FileSelectionPanel ontologiesRepositoryFolderPanel = null; private FileSelectionPanel guidesRepositoryFolderPanel = null; //private String _archetypeFolderStr = null; //private String _templateFolderStr = null; /** * This is the default constructor */ public DialogRepositoriesPaths() { super(EditorManager.getActiveEditorWindow(), GDLEditorLanguageManager.getMessage("SelectRepositories"), new Dimension(500, 380),true); initialize(); } /** * This method initializes this */ private void initialize() { getJPanel().setLayout(new BorderLayout()); JPanel panelAux = new JPanel(); panelAux.setLayout(new BoxLayout(panelAux, BoxLayout.Y_AXIS)); getJPanel().add(panelAux, BorderLayout.NORTH); panelAux.add(Box.createVerticalStrut(5)); panelAux.add(getArchetypeRepositoryFolderPanel()); panelAux.add(getTemplateRepositoryFolderPanel()); panelAux.add(getTerminologiesRepositoryFolderPanel()); panelAux.add(getOntologiesRepositoryFolderPanel()); panelAux.add(getGuidesRepositoryFolderPanel()); JPanel panelAux2 = new JPanel(new FlowLayout(FlowLayout.CENTER)); panelAux2.add(getAcceptButton()); panelAux2.add(getCancelButton()); getJPanel().add(panelAux2, BorderLayout.SOUTH); } private FileSelectionPanel getArchetypeRepositoryFolderPanel(){ if (archetypesRepositoryFolderPanel==null){ archetypesRepositoryFolderPanel = new FileSelectionPanel(getArchetypeFolderChooser()); archetypesRepositoryFolderPanel.setBorder( BorderFactory.createTitledBorder(GDLEditorLanguageManager.getMessage("ArchetypeRepository"))); } return archetypesRepositoryFolderPanel; } public JFileChooser getArchetypeFolderChooser(){ if (_archetypesFolderChooser==null){ _archetypesFolderChooser = new JFileChooser(); String path = UserConfigurationManager.getParameterWithDefault(UserConfigurationManager.ARCHETYPES_FOLDER_KW); _archetypesFolderChooser.setSelectedFile(new File(path)); _archetypesFolderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); _archetypesFolderChooser.setDialogTitle(GDLEditorLanguageManager.getMessage("SelectArchetypeRepository")); } return _archetypesFolderChooser; } private FileSelectionPanel getTemplateRepositoryFolderPanel(){ if (templatesRepositoryFolderPanel==null){ templatesRepositoryFolderPanel = new FileSelectionPanel(getTemplateFolderChooser()); templatesRepositoryFolderPanel.setBorder( BorderFactory.createTitledBorder(GDLEditorLanguageManager.getMessage("TemplateRepository"))); } return templatesRepositoryFolderPanel; } public JFileChooser getTemplateFolderChooser(){ if (_templatesFolderChooser==null){ _templatesFolderChooser = new JFileChooser(); _templatesFolderChooser.setSelectedFile(new File(UserConfigurationManager.getParameterWithDefault(UserConfigurationManager.TEMPLATES_FOLDER_KW))); _templatesFolderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); _templatesFolderChooser.setDialogTitle(GDLEditorLanguageManager.getMessage("SelectTemplateRepository")); } return _templatesFolderChooser; } private FileSelectionPanel getTerminologiesRepositoryFolderPanel(){ if (terminologiesRepositoryFolderPanel==null){ terminologiesRepositoryFolderPanel = new FileSelectionPanel(getTerminologiesFolderChooser()); terminologiesRepositoryFolderPanel.setBorder( BorderFactory.createTitledBorder(GDLEditorLanguageManager.getMessage("TerminologiesRepository"))); } return terminologiesRepositoryFolderPanel; } public JFileChooser getTerminologiesFolderChooser(){ if (_terminologiesFolderChooser==null){ _terminologiesFolderChooser = new JFileChooser(); String path = UserConfigurationManager.getParameterWithDefault(UserConfigurationManager.TERMINOLOGIES_FOLDER_KW); _terminologiesFolderChooser.setSelectedFile(new File(path)); _terminologiesFolderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); _terminologiesFolderChooser.setDialogTitle(GDLEditorLanguageManager.getMessage("SelectTerminologiesRepository")); } return _terminologiesFolderChooser; } private FileSelectionPanel getOntologiesRepositoryFolderPanel(){ if (ontologiesRepositoryFolderPanel==null){ ontologiesRepositoryFolderPanel = new FileSelectionPanel(getOntologiesFolderChooser()); ontologiesRepositoryFolderPanel.setBorder( BorderFactory.createTitledBorder(GDLEditorLanguageManager.getMessage("OntologiesRepository"))); } return ontologiesRepositoryFolderPanel; } public JFileChooser getOntologiesFolderChooser(){ if (_ontologiesFolderChooser==null){ _ontologiesFolderChooser = new JFileChooser(); _ontologiesFolderChooser.setSelectedFile(new File(UserConfigurationManager.getParameterWithDefault(UserConfigurationManager.ONTOLOGIES_FOLDER_KW))); _ontologiesFolderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); _ontologiesFolderChooser.setDialogTitle(GDLEditorLanguageManager.getMessage("SelectOntologiesRepository")); } return _ontologiesFolderChooser; } private FileSelectionPanel getGuidesRepositoryFolderPanel(){ if (guidesRepositoryFolderPanel==null){ guidesRepositoryFolderPanel = new FileSelectionPanel(getGuidesFolderChooser()); guidesRepositoryFolderPanel.setBorder( BorderFactory.createTitledBorder(GDLEditorLanguageManager.getMessage("GuidelinesRepository"))); } return guidesRepositoryFolderPanel; } public JFileChooser getGuidesFolderChooser(){ if (_guidesFolderChooser==null){ _guidesFolderChooser = new JFileChooser(); _guidesFolderChooser.setSelectedFile(new File(UserConfigurationManager.getParameterWithDefault(UserConfigurationManager.GUIDES_FOLDER_KW))); _guidesFolderChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); _guidesFolderChooser.setDialogTitle(GDLEditorLanguageManager.getMessage("SelectGuidesRepository")); } return _guidesFolderChooser; } protected boolean acceptDialog(){ String archetypeFolderStrSelected = getArchetypeRepositoryFolderPanel().getFileNameJTextField().getText(); String templateFolderStrSelected = getTemplateRepositoryFolderPanel().getFileNameJTextField().getText(); String terminologiesFolderStrSelected = getTerminologiesRepositoryFolderPanel().getFileNameJTextField().getText(); String guidesFolderStrSelected = getGuidesRepositoryFolderPanel().getFileNameJTextField().getText(); String ontologiesFolderStrSelected = getOntologiesRepositoryFolderPanel().getFileNameJTextField().getText(); UserConfigurationManager.setParameterWithDefault(UserConfigurationManager.ARCHETYPES_FOLDER_KW, archetypeFolderStrSelected); UserConfigurationManager.setParameterWithDefault(UserConfigurationManager.TEMPLATES_FOLDER_KW, templateFolderStrSelected); UserConfigurationManager.setParameterWithDefault(UserConfigurationManager.TERMINOLOGIES_FOLDER_KW, terminologiesFolderStrSelected); UserConfigurationManager.setParameterWithDefault(UserConfigurationManager.GUIDES_FOLDER_KW, guidesFolderStrSelected); UserConfigurationManager.setParameterWithDefault(UserConfigurationManager.ONTOLOGIES_FOLDER_KW, ontologiesFolderStrSelected); JOptionPane.showMessageDialog(EditorManager.getActiveEditorWindow(), GDLEditorLanguageManager.getMessage("MustRestartForChangesToTakeEffect")); return UserConfigurationManager.saveConfig(); } } /* * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 2.0/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 2.0 (the 'License'); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an 'AS IS' basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * * The Initial Developers of the Original Code are Iago Corbal and Rong Chen. * Portions created by the Initial Developer are Copyright (C) 2012-2013 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Software distributed under the License is distributed on an 'AS IS' basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * ***** END LICENSE BLOCK ***** */