/*********************************************************************************** * * Copyright (c) 2014 Kamil Baczkowicz * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v1.0 which accompany this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * * Kamil Baczkowicz - initial API and implementation and/or initial documentation * */ package pl.baczkowicz.mqttspy.ui; import java.net.URL; import java.util.ResourceBundle; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.TextArea; import org.apache.commons.codec.binary.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import pl.baczkowicz.spy.utils.ConversionUtils; /** * Controller for the converter window. */ public class ConverterController implements Initializable { final static Logger logger = LoggerFactory.getLogger(ConverterController.class); @FXML private TextArea textToEncode; @FXML private TextArea textToDecode; @FXML private TextArea encodedText; @FXML private TextArea decodedText; @Override public void initialize(URL location, ResourceBundle resources) { textToEncode.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { encodedText.setText(Base64.encodeBase64String(ConversionUtils.stringToArray(newValue))); } }); textToDecode.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { decodedText.setText(ConversionUtils.arrayToString(Base64.decodeBase64(newValue))); } }); } }