// ============================================================================ // // Copyright (C) 2006-2012 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.repository.model; import java.io.IOException; import org.eclipse.jface.preference.IPersistentPreferenceStore; import org.eclipse.jface.util.IPropertyChangeListener; import org.talend.commons.exception.PersistenceException; import org.talend.core.model.properties.Status; import org.talend.core.model.properties.helper.StatusHelper; /** * DOC tguiu class global comment. Detailled comment Implementation for local repository remote implementation will * save/load content using methods on RepositoryFactory <br/> * * $Id: RepositoryPreferenceStore.java 77219 2012-01-24 01:14:15Z mhirt $ * */ public class RepositoryPreferenceStore implements IPersistentPreferenceStore { private String initialTechStatusList, techStatusList, defaultTechnicalStatusList; private String initialDocStatusList, docStatusList, defaultDocumentationStatusList; private final IProxyRepositoryFactory factory; /** * DOC tguiu RepositoryPreferenceStore constructor comment. */ public RepositoryPreferenceStore(IProxyRepositoryFactory factory) { super(); this.factory = factory; } public void save() throws IOException { try { factory.setDocumentationStatus(StatusHelper.parse(docStatusList)); factory.setTechnicalStatus(StatusHelper.parse(techStatusList)); } catch (PersistenceException e) { // TODO Auto-generated catch block throw new IOException(e.getMessage()); } } public void load() throws PersistenceException { initialTechStatusList = StatusHelper.flat(factory.getTechnicalStatus()); techStatusList = initialTechStatusList; defaultTechnicalStatusList = "DEV development;TEST testing;PROD production"; //$NON-NLS-1$ initialDocStatusList = StatusHelper.flat(factory.getDocumentationStatus()); docStatusList = initialDocStatusList; // defaultDocumentationStatusList = "1ER 1er lecture;2EM 2eme lecture;VAL validate"; //$NON-NLS-1$ defaultDocumentationStatusList = "UCK unchecked;CHK checked;VAL validated"; //$NON-NLS-1$ } public void setValue(String name, String value) { if (Status.TECHNICAL_STATUS.equals(name)) { techStatusList = value; } else if (Status.DOCUMENTATION_STATUS.equals(name)) { docStatusList = value; } } public String getString(String name) { if (Status.TECHNICAL_STATUS.equals(name)) { return techStatusList; } if (Status.DOCUMENTATION_STATUS.equals(name)) { return docStatusList; } return null; } public void addPropertyChangeListener(IPropertyChangeListener listener) { } public boolean contains(String name) { return false; } public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) { } public boolean getBoolean(String name) { return false; } public boolean getDefaultBoolean(String name) { return false; } public double getDefaultDouble(String name) { return 0; } public float getDefaultFloat(String name) { return 0; } public int getDefaultInt(String name) { return 0; } public long getDefaultLong(String name) { return 0; } public String getDefaultString(String name) { if (Status.TECHNICAL_STATUS.equals(name)) { return defaultTechnicalStatusList; } else if (Status.DOCUMENTATION_STATUS.equals(name)) { return defaultDocumentationStatusList; } return null; } public double getDouble(String name) { return 0; } public float getFloat(String name) { return 0; } public int getInt(String name) { return 0; } public long getLong(String name) { return 0; } public boolean isDefault(String name) { return false; } public boolean needsSaving() { return !(docStatusList.equals(initialDocStatusList) && techStatusList.equals(initialTechStatusList)); } public void putValue(String name, String value) { } public void removePropertyChangeListener(IPropertyChangeListener listener) { } public void setDefault(String name, double value) { } public void setDefault(String name, float value) { } public void setDefault(String name, int value) { } public void setDefault(String name, long value) { } public void setDefault(String name, String value) { if (Status.TECHNICAL_STATUS.equals(name)) { defaultTechnicalStatusList = value; } else if (Status.DOCUMENTATION_STATUS.equals(name)) { defaultDocumentationStatusList = value; } } public void setDefault(String name, boolean value) { } public void setToDefault(String name) { if (Status.TECHNICAL_STATUS.equals(name)) { techStatusList = defaultTechnicalStatusList; } else if (Status.DOCUMENTATION_STATUS.equals(name)) { docStatusList = defaultDocumentationStatusList; } } public void setValue(String name, double value) { } public void setValue(String name, float value) { } public void setValue(String name, int value) { } public void setValue(String name, long value) { } public void setValue(String name, boolean value) { } }