package at.medevit.elexis.gdt.defaultfilecp; import at.medevit.elexis.gdt.constants.GDTConstants; import ch.elexis.core.data.activator.CoreHub; import ch.elexis.core.ui.preferences.SettingsPreferenceStore; import ch.rgw.io.Settings; public class FileCommPartner { public static final String DEFAULT_COMM_PARTNER_ID = "DEFAULT"; private static final String CFG_GDT = "GDT"; private static final String FILETRANSFER_NAME = "fileTransferName"; private static final String FILETRANSFER_USED_TYPE = "fileTransferUsedType"; private static final String FILETRANSFER_DIRECTORY = "fileTransferDirectory"; private static final String FILETRANSFER_IN_DIRECTORY = "fileTransferInDirectory"; private static final String FILETRANSFER_OUT_DIRECTORY = "fileTransferOutDirectory"; private static final String FILETRANSFER_LONG_ID_RECEIVER = "longIDReceiver"; private static final String FILETRANSFER_SHORT_ID_RECEIVER = "longIDReceiver"; private static final String FILETRANSFER_EXECUTABLE = "executable"; private static final String FILETRANSFER_ADDITIONAL_PARAMS = "additionalParams"; public static final String CFG_GDT_FILETRANSFER_IDS = CFG_GDT + "/fileTransferTypes"; private static final String CFG_GDT_FILETRANSFER_GLOBAL = CFG_GDT + "fileTransferSettingsGlobal"; public static final String COMM_PARTNER_SEPERATOR = ",;,"; private String id; private final SettingsPreferenceStore preferenceStore; public FileCommPartner(){ this(DEFAULT_COMM_PARTNER_ID); } public FileCommPartner(String id){ this.id = id; preferenceStore = new SettingsPreferenceStore(FileCommPartner.isFileTransferGlobalConfigured() ? CoreHub.globalCfg : CoreHub.localCfg); } public static String[][] comboCharsetSelektor = new String[][] { { "7Bit", GDTConstants.ZEICHENSATZ_7BIT_CHARSET_STRING }, { "IBM (Standard) CP 437", GDTConstants.ZEICHENSATZ_IBM_CP_437_CHARSET_STRING }, { "ISO8859-1 (ANSI) CP 1252", GDTConstants.ZEICHENSATZ_ISO8859_1_ANSI_CP_1252_CHARSET_STRING } }; public String getFileTransferName(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_NAME; } public String getFileTransferUsedType(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_USED_TYPE; } public String getFileTransferDirectory(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_DIRECTORY; } public String getFileTransferInDirectory(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_IN_DIRECTORY; } public String getFileTransferOutDirectory(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_OUT_DIRECTORY; } public String getFileTransferIdReceiver(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_LONG_ID_RECEIVER; } public String getFileTransferShortIdReceiver(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_SHORT_ID_RECEIVER; } public String getFileTransferExecuteable(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_EXECUTABLE; } public String getFileAdditionalParams(){ return CFG_GDT + "/" + getId() + "/" + FILETRANSFER_ADDITIONAL_PARAMS; } public String getId(){ return id; } public static boolean isFileTransferGlobalConfigured(){ return CoreHub.globalCfg.get(FileCommPartner.CFG_GDT_FILETRANSFER_GLOBAL, false); } public static void setFileTransferConfiguration(boolean global){ CoreHub.globalCfg.set(FileCommPartner.CFG_GDT_FILETRANSFER_GLOBAL, global); } public static String[] getAllFileCommPartnersArray(){ if (isFileTransferGlobalConfigured()) { return CoreHub.globalCfg .get(FileCommPartner.CFG_GDT_FILETRANSFER_IDS, FileCommPartner.DEFAULT_COMM_PARTNER_ID) .split(FileCommPartner.COMM_PARTNER_SEPERATOR); } else { return CoreHub.localCfg .get(FileCommPartner.CFG_GDT_FILETRANSFER_IDS, FileCommPartner.DEFAULT_COMM_PARTNER_ID) .split(FileCommPartner.COMM_PARTNER_SEPERATOR); } } public Settings getSettings(){ return preferenceStore.getBase(); } }