package ru.testing.client.elements.tabs;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.control.Tab;
import javafx.scene.control.Tooltip;
import javafx.scene.image.ImageView;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.testing.client.MainApp;
import ru.testing.client.common.HttpTypes;
import ru.testing.client.controllers.TabRestController;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
/**
* Tab with detail message
*/
public class RestTab extends Tab {
private static final Logger LOGGER = LoggerFactory.getLogger(SettingsTab.class.getName());
private TabRestController controller;
public RestTab(HttpTypes httpTypes) {
String urlInfo = MainApp.getMainController().getServerUrl().getText();
// Setup tab tooltip
setTooltip(new Tooltip(String.format("Response from %s", urlInfo)));
try {
URI uri = new URI(urlInfo);
urlInfo = uri.getPath();
} catch (URISyntaxException e) {
LOGGER.error("Error get uri", e.getMessage());
}
setText(String.format("%s %s", httpTypes.getName(), urlInfo));
setGraphic(new ImageView("/images/message.png"));
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/tab.rest.message.fxml"));
Parent root = loader.load();
controller = loader.getController();
setContent(root);
} catch (IOException e) {
LOGGER.error("Error load view form: {}", e);
}
}
public TabRestController getController() {
return controller;
}
}