/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2013, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.gses.webui.manager;
import com.vaadin.ui.Button;
import com.vaadin.ui.Form;
import com.vaadin.ui.Table;
import com.vaadin.ui.TextField;
import org.tepi.filtertable.FilterTable;
import ru.codeinside.adm.AdminServiceProvider;
import ru.codeinside.gses.beans.DirectoryBeanProvider;
import ru.codeinside.gses.service.impl.DeclarantServiceImpl;
import ru.codeinside.gses.webui.DeclarantTypeChanged;
import ru.codeinside.gses.webui.Flash;
public class AddTupleButtonListener implements Button.ClickListener {
private static final long serialVersionUID = 11323321L;
final Form createFieldForm;
final FilterTable directoryTable;
final TextField keyField;
final TextField valField;
final Table dirMapTable;
public AddTupleButtonListener(Form createFieldForm, FilterTable directoryTable, TextField keyField, TextField valField, Table dirMapTable) {
this.createFieldForm = createFieldForm;
this.directoryTable = directoryTable;
this.keyField = keyField;
this.valField = valField;
this.dirMapTable = dirMapTable;
}
@Override
public void buttonClick(Button.ClickEvent event) {
try {
createFieldForm.commit();
Object rowId = directoryTable.getValue();
final String dirName = (String) directoryTable.getContainerProperty(rowId, "name").getValue();
final String key = keyField.getValue().toString();
final String value = valField.getValue().toString();
DirectoryBeanProvider.get().add(dirName, key, value);
AdminServiceProvider.get().createLog(Flash.getActor(), "Directory value", dirName, "add",
"key => ".concat(key).concat("value =>").concat(value), true);
keyField.setValue("");
valField.setValue("");
ManagerWorkplace.reloadMap(dirName, dirMapTable);
if(DeclarantServiceImpl.DECLARANT_TYPES.equals(dirName)){
Flash.fire(new DeclarantTypeChanged(this));
}
} catch (Exception e) {
//
}
}
}