Search in sources :

Example 1 with InstanceScope

use of org.eclipse.core.runtime.preferences.InstanceScope in project cubrid-manager by CUBRID.

the class BrokerTblColumnSetHelp method loadSetting.

/**
	 * 
	 * Load broker interval settings from plugin preference
	 * 
	 * @param <T> the generic type which is the sub type of IColumnSetting
	 * @param statusColumn the instance of StatusColumn enumeration
	 * @param ts the instance of generic array
	 */
public <T extends IColumnSetting> void loadSetting(StatusColumn statusColumn, T[] ts) {
    synchronized (this) {
        IEclipsePreferences preference = new InstanceScope().getNode(CubridManagerUIPlugin.PLUGIN_ID);
        String xmlString = preference.get(statusColumn.name(), "");
        if (xmlString != null && xmlString.length() > 0) {
            try {
                ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
                IXMLMemento memento = XMLMemento.loadMemento(in);
                IXMLMemento[] children = memento.getChildren(statusColumn.name());
                for (IXMLMemento child : children) {
                    for (T t : ts) {
                        t.setValue(child.getInteger(t.getNick()));
                    }
                }
            } catch (Exception e) {
                LOGGER.error(e.getMessage());
            }
        }
    }
}
Also used : IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) ByteArrayInputStream(java.io.ByteArrayInputStream) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope)

Example 2 with InstanceScope

use of org.eclipse.core.runtime.preferences.InstanceScope in project cubrid-manager by CUBRID.

the class BrokerTblColumnSetHelp method saveSetting.

/**
	 * 
	 * Save broker interval to plugin preference
	 * 
	 * @param <T> the generic type which is the sub type of IColumnSetting
	 * @param statusColumn the instance of StatusColumn enumeration
	 * @param ts the instance of generic array
	 */
public <T extends IColumnSetting> void saveSetting(StatusColumn statusColumn, T[] ts) {
    synchronized (this) {
        try {
            XMLMemento memento = XMLMemento.createWriteRoot(statusColumn.name());
            IXMLMemento child = memento.createChild(statusColumn.name());
            for (T column : ts) {
                child.putString(column.getNick(), String.valueOf(column.getValue()));
            }
            String xmlString = memento.saveToString();
            IEclipsePreferences preference = new InstanceScope().getNode(CubridManagerUIPlugin.PLUGIN_ID);
            preference.put(statusColumn.name(), xmlString);
            preference.flush();
        } catch (Exception e) {
            LOGGER.error(e.getMessage());
        }
    }
}
Also used : IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) XMLMemento(com.cubrid.cubridmanager.core.common.xml.XMLMemento) IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope)

Example 3 with InstanceScope

use of org.eclipse.core.runtime.preferences.InstanceScope in project cubrid-manager by CUBRID.

the class NodeFilterManager method saveFilterSetting.

/**
	 * Save filter setting to plug-in preference
	 */
@SuppressWarnings("deprecation")
public void saveFilterSetting() {
    synchronized (this) {
        try {
            XMLMemento memento = XMLMemento.createWriteRoot("filters");
            if (memento == null) {
                LOGGER.error("XMLMemento.createWriteRoot('filters') is a null.");
                return;
            }
            Iterator<String> iterator = idFilterList.iterator();
            while (iterator.hasNext()) {
                String pattern = (String) iterator.next();
                IXMLMemento child = memento.createChild("idFilter");
                child.putString("id", pattern);
            }
            iterator = idGrayFilterList.iterator();
            while (iterator.hasNext()) {
                String pattern = (String) iterator.next();
                IXMLMemento child = memento.createChild("idGrayFilter");
                child.putString("id", pattern);
            }
            iterator = nameFilterList.iterator();
            while (iterator.hasNext()) {
                String pattern = (String) iterator.next();
                IXMLMemento child = memento.createChild("nameFilter");
                child.putString("pattern", pattern);
            }
            String xmlString = memento.saveToString();
            IEclipsePreferences preference = new InstanceScope().getNode(CommonUIPlugin.PLUGIN_ID);
            preference.put(FILTER_XML_CONTENT, xmlString);
            preference.flush();
        } catch (Exception e) {
            LOGGER.error("saveFilterSetting", e);
        }
    }
}
Also used : XMLMemento(com.cubrid.cubridmanager.core.common.xml.XMLMemento) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope) UnsupportedEncodingException(java.io.UnsupportedEncodingException)

Example 4 with InstanceScope

use of org.eclipse.core.runtime.preferences.InstanceScope in project cubrid-manager by CUBRID.

the class BrokerIntervalSettingManager method loadBrokerIntervalSettings.

/**
	 *
	 * Load broker interval settings from plugin preference
	 *
	 */
protected void loadBrokerIntervalSettings() {
    synchronized (this) {
        IEclipsePreferences preference = new InstanceScope().getNode(CubridManagerUIPlugin.PLUGIN_ID);
        String xmlString = preference.get(CUBRID_BROKER_INTERVAL_XML_CONTENT, "");
        if (xmlString != null && xmlString.length() > 0) {
            try {
                ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
                IXMLMemento memento = XMLMemento.loadMemento(in);
                IXMLMemento[] children = memento.getChildren("BrokerIntervalSetting");
                for (int i = 0; i < children.length; i++) {
                    String serverName = children[i].getString("serverName");
                    String brokerName = children[i].getString("brokerName");
                    String isOn = children[i].getString("isOn");
                    String interval = children[i].getString("interval");
                    BrokerIntervalSetting brokerInterval = new BrokerIntervalSetting(serverName, brokerName, interval, isOn != null && isOn.equals("true"));
                    brokerIntervalSettingList.add(brokerInterval);
                }
            } catch (Exception e) {
                LOGGER.error(e.getMessage());
            }
        }
    }
}
Also used : IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) ByteArrayInputStream(java.io.ByteArrayInputStream) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope)

Example 5 with InstanceScope

use of org.eclipse.core.runtime.preferences.InstanceScope in project cubrid-manager by CUBRID.

the class BrokerIntervalSettingManager method saveBrokerIntervals.

/**
	 *
	 * Save broker interval to plugin preference
	 *
	 */
public void saveBrokerIntervals() {
    synchronized (this) {
        if (!initialized) {
            init();
        }
        try {
            XMLMemento memento = XMLMemento.createWriteRoot("BrokerIntervalSettings");
            Iterator<BrokerIntervalSetting> iterator = brokerIntervalSettingList.iterator();
            while (iterator.hasNext()) {
                BrokerIntervalSetting brokerInterval = (BrokerIntervalSetting) iterator.next();
                IXMLMemento child = memento.createChild("BrokerIntervalSetting");
                child.putString("serverName", brokerInterval.getServerName());
                child.putString("brokerName", brokerInterval.getBrokerName());
                child.putString("isOn", brokerInterval.isOn() ? "true" : "false");
                child.putString("interval", brokerInterval.getInterval());
            }
            String xmlString = memento.saveToString();
            IEclipsePreferences preference = new InstanceScope().getNode(CubridManagerUIPlugin.PLUGIN_ID);
            preference.put(CUBRID_BROKER_INTERVAL_XML_CONTENT, xmlString);
            preference.flush();
        } catch (Exception e) {
            LOGGER.error(e.getMessage());
        }
    }
}
Also used : IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) XMLMemento(com.cubrid.cubridmanager.core.common.xml.XMLMemento) IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope)

Aggregations

InstanceScope (org.eclipse.core.runtime.preferences.InstanceScope)54 ProjectScope (org.eclipse.core.resources.ProjectScope)30 DefaultScope (org.eclipse.core.runtime.preferences.DefaultScope)16 IEclipsePreferences (org.eclipse.core.runtime.preferences.IEclipsePreferences)16 IScopeContext (org.eclipse.core.runtime.preferences.IScopeContext)15 IProject (org.eclipse.core.resources.IProject)11 BackingStoreException (org.osgi.service.prefs.BackingStoreException)9 IFile (org.eclipse.core.resources.IFile)7 ConfigurationScope (org.eclipse.core.runtime.preferences.ConfigurationScope)7 IXMLMemento (com.cubrid.cubridmanager.core.common.xml.IXMLMemento)6 IResource (org.eclipse.core.resources.IResource)5 Preferences (org.osgi.service.prefs.Preferences)5 ByteArrayInputStream (java.io.ByteArrayInputStream)4 ArrayList (java.util.ArrayList)4 HashSet (java.util.HashSet)4 Iterator (java.util.Iterator)4 Set (java.util.Set)4 IAdaptable (org.eclipse.core.runtime.IAdaptable)4 XMLMemento (com.cubrid.cubridmanager.core.common.xml.XMLMemento)3 List (java.util.List)3