// ============================================================================
//
// 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.designer.core.ui.views.statsandlogs;
import java.util.List;
import org.eclipse.emf.common.util.EList;
import org.eclipse.gef.commands.CommandStack;
import org.eclipse.jface.preference.IPreferenceStore;
import org.talend.commons.exception.PersistenceException;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.process.Element;
import org.talend.core.model.process.IElement;
import org.talend.core.model.process.IElementParameter;
import org.talend.core.model.process.IProcess2;
import org.talend.core.model.properties.ConnectionItem;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.utils.TalendTextUtils;
import org.talend.core.properties.tab.IDynamicProperty;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.designer.core.DesignerPlugin;
import org.talend.designer.core.model.components.EParameterName;
import org.talend.designer.core.model.components.EmfComponent;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.ui.AbstractMultiPageTalendEditor;
import org.talend.designer.core.ui.editor.cmd.ChangeValuesFromRepository;
import org.talend.designer.core.ui.editor.process.Process;
import org.talend.repository.UpdateRepositoryUtils;
import org.talend.repository.model.IProxyRepositoryFactory;
/**
* ftang class global comment. Detailed comment. <br/>
*
*/
public class StatsAndLogsViewHelper {
private static final String LANGUAGE_PREFIX = LanguageManager.getCurrentLanguage().toString() + "_"; //$NON-NLS-1$
private static final IPreferenceStore PREFERENCE_STORE = DesignerPlugin.getDefault().getPreferenceStore();
public static final String FILE_NAME_REGEX = "[^\\>\\<\\\\\\/\\!\\:\\|\\?\\\"\\'\\s\\.]" //$NON-NLS-1$
+ "+[\\.][^\\>\\<\\\\\\/\\!\\:\\|\\?\\\"\\'\\s\\.]+"; //$NON-NLS-1$
public static final String OTHER_FILE_NAME_REGEX = "[^\\\"\\'\\s]*"; //$NON-NLS-1$
public static final String CONNECTION_ITEM_LABEL = "_CONNECTION_ITEM_LABEL"; //$NON-NLS-1$
/**
* yzhang Comment method "applySettings".
*
* @param element
* @param dynamicProperty
*/
public static void applySettings(IElement element, IElement applyTo, IDynamicProperty dynamicProperty) {
List<? extends IElementParameter> elementParameters = applyTo.getElementParameters();
for (IElementParameter elementParameterType : elementParameters) {
String parameterName = elementParameterType.getName();
if (parameterName.equals(EParameterName.ON_STATCATCHER_FLAG.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.ON_STATCATCHER_FLAG.getName())
.getValue());
continue;
}
if (parameterName.equals(EParameterName.ON_LOGCATCHER_FLAG.getName())) {
elementParameterType
.setValue(element.getElementParameter(EParameterName.ON_LOGCATCHER_FLAG.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.ON_METERCATCHER_FLAG.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.ON_METERCATCHER_FLAG.getName())
.getValue());
continue;
}
if (parameterName.equals(EParameterName.ON_FILES_FLAG.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.ON_FILES_FLAG.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.FILE_PATH.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.FILE_PATH.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.FILENAME_STATS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.FILENAME_STATS.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.FILENAME_LOGS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.FILENAME_LOGS.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.FILENAME_METTER.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.FILENAME_METTER.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.ON_DATABASE_FLAG.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.ON_DATABASE_FLAG.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.PROPERTY_TYPE.getName())) {
String id = (String) element.getElementParameter(
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.REPOSITORY_PROPERTY_TYPE.getName()) //$NON-NLS-1$
.getValue();
String propertyType = (String) element.getElementParameter(
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.PROPERTY_TYPE.getName()).getValue(); //$NON-NLS-1$
/* 16969 */
Connection repositoryConnection = null;
// Map<String, ConnectionItem> repositoryConnectionItemMap =
// dynamicProperty.getRepositoryConnectionItemMap();
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
Item item = null;
try {
IRepositoryViewObject repobj = factory.getLastVersion(id);
if (repobj != null) {
Property tmpproperty = repobj.getProperty();
if (tmpproperty != null) {
item = tmpproperty.getItem();
}
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
if (item != null && item instanceof ConnectionItem) {
repositoryConnection = ((ConnectionItem) item).getConnection();
} else {
repositoryConnection = null;
}
// if (repositoryConnectionItemMap.containsKey(id)) {
// repositoryConnection = repositoryConnectionItemMap.get(id).getConnection();
// } else {
// repositoryConnection = null;
// }
ChangeValuesFromRepository cmd1 = new ChangeValuesFromRepository((Element) applyTo, repositoryConnection,
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.PROPERTY_TYPE.getName(), propertyType); //$NON-NLS-1$
ChangeValuesFromRepository cmd2 = new ChangeValuesFromRepository((Element) applyTo, repositoryConnection,
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.REPOSITORY_PROPERTY_TYPE.getName(), id); //$NON-NLS-1$
AbstractMultiPageTalendEditor part = (AbstractMultiPageTalendEditor) ((IProcess2) applyTo).getEditor();
if (part instanceof AbstractMultiPageTalendEditor) {
Object adapter = ((AbstractMultiPageTalendEditor) part).getTalendEditor().getAdapter(CommandStack.class);
if (adapter != null) {
CommandStack commandStack = ((CommandStack) adapter);
commandStack.execute(cmd1);
commandStack.execute(cmd2);
}
} else {
// zli for bug 12335
CommandStack commandStack = ((Process) applyTo).getCommandStack();
commandStack.execute(cmd1);
commandStack.execute(cmd2);
}
continue;
}
if (PREFERENCE_STORE.getString(LANGUAGE_PREFIX + EParameterName.PROPERTY_TYPE.getName()).equals(EmfComponent.BUILTIN)) {
if (parameterName.equals(EParameterName.DB_TYPE.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.DB_TYPE.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.HOST.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.HOST.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.PORT.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.PORT.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.DBNAME.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.DBNAME.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.PROPERTIES.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.PROPERTIES.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.DBFILE.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.DBFILE.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.SCHEMA_DB.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.SCHEMA_DB.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.USER.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.USER.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.PASS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.PASS.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.TABLE_STATS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.TABLE_STATS.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.TABLE_LOGS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.TABLE_LOGS.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.TABLE_METER.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.TABLE_METER.getName()).getValue());
continue;
}
if (parameterName.equals(EParameterName.CATCH_RUNTIME_ERRORS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.CATCH_RUNTIME_ERRORS.getName())
.getValue());
continue;
}
if (parameterName.equals(EParameterName.CATCH_USER_ERRORS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.CATCH_USER_ERRORS.getName())
.getValue());
continue;
}
if (parameterName.equals(EParameterName.CATCH_USER_WARNING.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.CATCH_USER_WARNING.getName())
.getValue());
continue;
}
if (parameterName.equals(EParameterName.CATCH_REALTIME_STATS.getName())) {
elementParameterType.setValue(element.getElementParameter(EParameterName.CATCH_REALTIME_STATS.getName())
.getValue());
continue;
}
}
}
}
public static void applySettings(EList<ElementParameterType> elementParameterTypes, Element elem) {
for (ElementParameterType elementParameterType : elementParameterTypes) {
String parameterTypeName = elementParameterType.getName();
if (parameterTypeName.equals(EParameterName.ON_STATCATCHER_FLAG.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.ON_STATCATCHER_FLAG.getName()).getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.ON_LOGCATCHER_FLAG.getName())) {
elementParameterType.setValue(String.valueOf(elem
.getElementParameter(EParameterName.ON_LOGCATCHER_FLAG.getName()).getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.ON_METERCATCHER_FLAG.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.ON_METERCATCHER_FLAG.getName()).getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.ON_FILES_FLAG.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.ON_FILES_FLAG.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.FILE_PATH.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.FILE_PATH.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.FILENAME_STATS.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.FILENAME_STATS.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.FILENAME_LOGS.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.FILENAME_LOGS.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.FILENAME_METTER.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.FILENAME_METTER.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.ON_DATABASE_FLAG.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.ON_DATABASE_FLAG.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.PROPERTY_TYPE.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.PROPERTY_TYPE.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.PROPERTY_TYPE.getName() + ":" //$NON-NLS-1$
+ EParameterName.REPOSITORY_PROPERTY_TYPE.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.REPOSITORY_PROPERTY_TYPE.getName()) //$NON-NLS-1$
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.PROPERTY_TYPE.getName())) { //$NON-NLS-1$
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.PROPERTY_TYPE.getName()).getValue())); //$NON-NLS-1$
continue;
}
if (elem.getElementParameter(EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.PROPERTY_TYPE.getName()) //$NON-NLS-1$
.getValue().equals(EmfComponent.BUILTIN)) {
if (parameterTypeName.equals(EParameterName.DB_TYPE.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.DB_TYPE.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.HOST.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.HOST.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.PORT.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(EParameterName.PORT.getName())
.getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.DBNAME.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.DBNAME.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.PROPERTIES.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.PROPERTIES.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.DBFILE.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.DBFILE.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.SCHEMA_DB.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.SCHEMA_DB.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.USER.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.USER.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.PASS.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.PASS.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.TABLE_STATS.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.TABLE_STATS.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.TABLE_LOGS.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.TABLE_LOGS.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.TABLE_METER.getName())) {
elementParameterType.setValue(checkAndAddQuote(String.valueOf(elem.getElementParameter(
EParameterName.TABLE_METER.getName()).getValue())));
continue;
}
if (parameterTypeName.equals(EParameterName.CATCH_RUNTIME_ERRORS.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.CATCH_RUNTIME_ERRORS.getName()).getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.CATCH_USER_ERRORS.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.CATCH_USER_ERRORS.getName()).getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.CATCH_USER_WARNING.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.CATCH_USER_WARNING.getName()).getValue()));
continue;
}
if (parameterTypeName.equals(EParameterName.CATCH_REALTIME_STATS.getName())) {
elementParameterType.setValue(String.valueOf(elem.getElementParameter(
EParameterName.CATCH_REALTIME_STATS.getName()).getValue()));
continue;
}
}
}
}
/**
* ftang Comment method "reloadValuesFromPreferencePage".
*
* @param preferenceStore
* @param element
*/
public static void reloadValuesFromPreferencePage(Element element, IDynamicProperty propertyComposite) {
List<? extends IElementParameter> elementParameters = element.getElementParameters();
for (IElementParameter elementParameter : elementParameters) {
String name = elementParameter.getName();
if (name.equals(EParameterName.ON_STATCATCHER_FLAG.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.ON_STATCATCHER_FLAG.getName()));
continue;
}
if (name.equals(EParameterName.ON_LOGCATCHER_FLAG.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.ON_LOGCATCHER_FLAG.getName()));
continue;
}
if (name.equals(EParameterName.ON_METERCATCHER_FLAG.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.ON_METERCATCHER_FLAG.getName()));
continue;
}
if (name.equals(EParameterName.ON_FILES_FLAG.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX + EParameterName.ON_FILES_FLAG.getName()));
continue;
}
if (name.equals(EParameterName.FILE_PATH.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.FILE_PATH.getName())));
continue;
}
if (name.equals(EParameterName.FILENAME_STATS.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.FILENAME_STATS.getName())));
continue;
}
if (name.equals(EParameterName.FILENAME_LOGS.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.FILENAME_LOGS.getName())));
continue;
}
if (name.equals(EParameterName.FILENAME_METTER.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.FILENAME_METTER.getName())));
continue;
}
if (name.equals(EParameterName.ON_DATABASE_FLAG.getName())) {
elementParameter
.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX + EParameterName.ON_DATABASE_FLAG.getName()));
continue;
}
if (name.equals(EParameterName.PROPERTY_TYPE.getName())) {
String propertyType = PREFERENCE_STORE.getString(LANGUAGE_PREFIX + EParameterName.PROPERTY_TYPE.getName());
String id = PREFERENCE_STORE.getString(LANGUAGE_PREFIX + EParameterName.REPOSITORY_PROPERTY_TYPE.getName());
/* 16969 */
Connection repositoryConnection = null;
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
Item item = null;
try {
IRepositoryViewObject repobj = factory.getLastVersion(id);
if (repobj != null) {
Property tmpproperty = repobj.getProperty();
if (tmpproperty != null) {
item = tmpproperty.getItem();
}
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
if (item != null && item instanceof ConnectionItem) {
repositoryConnection = ((ConnectionItem) item).getConnection();
} else {
repositoryConnection = null;
}
// Map<String, ConnectionItem> repositoryConnectionItemMap =
// propertyComposite.getRepositoryConnectionItemMap();
//
// if (repositoryConnectionItemMap.containsKey(id)) {
// repositoryConnection = repositoryConnectionItemMap.get(id).getConnection();
// } else {
// repositoryConnection = null;
// }
ChangeValuesFromRepository cmd1 = new ChangeValuesFromRepository(element, repositoryConnection,
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.PROPERTY_TYPE.getName(), propertyType); //$NON-NLS-1$
ChangeValuesFromRepository cmd2 = new ChangeValuesFromRepository(element, repositoryConnection,
EParameterName.PROPERTY_TYPE.getName() + ":" + EParameterName.REPOSITORY_PROPERTY_TYPE.getName(), id); //$NON-NLS-1$
AbstractMultiPageTalendEditor part = (AbstractMultiPageTalendEditor) ((IProcess2) element).getEditor();
if (part instanceof AbstractMultiPageTalendEditor) {
Object adapter = ((AbstractMultiPageTalendEditor) part).getTalendEditor().getAdapter(CommandStack.class);
if (adapter != null) {
CommandStack commandStack = ((CommandStack) adapter);
commandStack.execute(cmd1);
commandStack.execute(cmd2);
}
}
continue;
}
if (PREFERENCE_STORE.getString(LANGUAGE_PREFIX + EParameterName.PROPERTY_TYPE.getName()).equals(EmfComponent.BUILTIN)) {
if (name.equals(EParameterName.DB_TYPE.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getString(LANGUAGE_PREFIX + EParameterName.DB_TYPE.getName()));
continue;
}
if (name.equals(EParameterName.HOST.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.HOST.getName())));
continue;
}
if (name.equals(EParameterName.PORT.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.PORT.getName())));
continue;
}
if (name.equals(EParameterName.DBNAME.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.DBNAME.getName())));
continue;
}
if (name.equals(EParameterName.PROPERTIES.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.PROPERTIES.getName())));
continue;
}
if (name.equals(EParameterName.DBFILE.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.DBFILE.getName())));
continue;
}
if (name.equals(EParameterName.SCHEMA_DB.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.SCHEMA_DB.getName())));
continue;
}
if (name.equals(EParameterName.USER.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.USER.getName())));
continue;
}
if (name.equals(EParameterName.PASS.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.PASS.getName())));
continue;
}
}
if (name.equals(EParameterName.TABLE_STATS.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.TABLE_STATS.getName())));
continue;
}
if (name.equals(EParameterName.TABLE_LOGS.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.TABLE_LOGS.getName())));
continue;
}
if (name.equals(EParameterName.TABLE_METER.getName())) {
elementParameter.setValue(checkAndAddQuote(PREFERENCE_STORE.getString(LANGUAGE_PREFIX
+ EParameterName.TABLE_METER.getName())));
continue;
}
if (name.equals(EParameterName.CATCH_RUNTIME_ERRORS.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.CATCH_RUNTIME_ERRORS.getName()));
continue;
}
if (name.equals(EParameterName.CATCH_USER_ERRORS.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.CATCH_USER_ERRORS.getName()));
continue;
}
if (name.equals(EParameterName.CATCH_USER_WARNING.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.CATCH_USER_WARNING.getName()));
continue;
}
if (name.equals(EParameterName.CATCH_REALTIME_STATS.getName())) {
elementParameter.setValue(PREFERENCE_STORE.getBoolean(LANGUAGE_PREFIX
+ EParameterName.CATCH_REALTIME_STATS.getName()));
continue;
}
}
}
/**
* ftang "saveValuesToPreferencePage".
*
* @param preferenceStore
* @param element
*/
public static void saveValuesToPreferencePage(IElement element, IDynamicProperty dynamicProperty) {
List<? extends IElementParameter> elementParameters = element.getElementParameters();
for (IElementParameter elementParameter : elementParameters) {
String name = elementParameter.getName();
Object elementValue = elementParameter.getValue();
if (name.equals(EParameterName.ON_STATCATCHER_FLAG.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.ON_STATCATCHER_FLAG.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.ON_LOGCATCHER_FLAG.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.ON_LOGCATCHER_FLAG.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.ON_METERCATCHER_FLAG.getName())) {
PREFERENCE_STORE
.setValue(LANGUAGE_PREFIX + EParameterName.ON_METERCATCHER_FLAG.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.ON_FILES_FLAG.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.ON_FILES_FLAG.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.FILE_PATH.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.FILE_PATH.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.FILENAME_STATS.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.FILENAME_STATS.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.FILENAME_LOGS.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.FILENAME_LOGS.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.FILENAME_METTER.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.FILENAME_METTER.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.ON_DATABASE_FLAG.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.ON_DATABASE_FLAG.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.DB_TYPE.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.DB_TYPE.getName(), (String) elementValue);
continue;
}
if (name.equals(EParameterName.HOST.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.HOST.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.PORT.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.PORT.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.DBNAME.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.DBNAME.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.PROPERTIES.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.PROPERTIES.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.DBFILE.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.DBFILE.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.SCHEMA_DB.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.SCHEMA_DB.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.USER.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.USER.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.PASS.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.PASS.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.TABLE_STATS.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.TABLE_STATS.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.TABLE_LOGS.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.TABLE_LOGS.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.TABLE_METER.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.TABLE_METER.getName(),
checkAndRemoveQuote((String) elementValue));
continue;
}
if (name.equals(EParameterName.CATCH_RUNTIME_ERRORS.getName())) {
PREFERENCE_STORE
.setValue(LANGUAGE_PREFIX + EParameterName.CATCH_RUNTIME_ERRORS.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.CATCH_USER_ERRORS.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.CATCH_USER_ERRORS.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.CATCH_USER_WARNING.getName())) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.CATCH_USER_WARNING.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.CATCH_REALTIME_STATS.getName())) {
PREFERENCE_STORE
.setValue(LANGUAGE_PREFIX + EParameterName.CATCH_REALTIME_STATS.getName(), (Boolean) elementValue);
continue;
}
if (name.equals(EParameterName.PROPERTY_TYPE.getName())) {
String itemId = (String) elementParameter.getChildParameters().get("REPOSITORY_PROPERTY_TYPE").getValue(); //$NON-NLS-1$
String propertyType = (String) elementParameter.getChildParameters().get("PROPERTY_TYPE").getValue(); //$NON-NLS-1$
Item item = UpdateRepositoryUtils.getConnectionItemByItemId(itemId);
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.PROPERTY_TYPE.getName(), propertyType);
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.REPOSITORY_PROPERTY_TYPE.getName(), itemId);
if (item != null) {
PREFERENCE_STORE.setValue(LANGUAGE_PREFIX + EParameterName.REPOSITORY_PROPERTY_TYPE.getName()
+ CONNECTION_ITEM_LABEL, item.getProperty().getLabel());
}
}
}
}
/*
* add quote.
*/
private static String checkAndAddQuote(String value) {
if (value == null) {
return TalendTextUtils.addQuotes(""); //$NON-NLS-1$
}
value = value.trim();
return value;
}
/*
* remove quote.
*/
private static String checkAndRemoveQuote(String value) {
if (value == null) {
return ""; //$NON-NLS-1$
}
value = value.trim();
return value;
}
}