blob: 6d8e1b30de65f63284af6e17cef0e9311fe0fde7 [file] [log] [blame]
/*****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
****************************************************************/
package org.apache.cayenne.modeler.layout;
import java.io.IOException;
import org.apache.cayenne.modeler.adapters.DataNodeAdapter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javafx.fxml.FXML;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
public class DataNodePasswordEncoderTabLayout
extends AbstractViewLayout
implements DetailEditorSupport<DataNodeAdapter>
{
private static final Logger LOGGER = LoggerFactory.getLogger(DataNodePasswordEncoderTabLayout.class);
@FXML
private ComboBox<String> passwordEncoderComboBox;
@FXML
private ChoiceBox<String> passwordLocationChoiceBox;
@FXML
private GridPane passwordSourceGridPane, passwordFilenameGridPane, passwordExecutableGridPane, passwordUrlGridPane;
@FXML
private TextField passwordSourceTextField, passwordFilenameTextField, passwordExecutableTextField, passwordUrlTextField;
private DataNodeAdapter dataNodeAdapter;
private final String passwordEncoderPlainTextSetting = "org.apache.cayenne.configuration.PlainTextPasswordEncoder";
private final String passwordEncoderRot13Setting = "org.apache.cayenne.configuration.Rot13PasswordEncoder";
private final String passwordEncoderRot47Setting = "org.apache.cayenne.configuration.Rot47PasswordEncoder";
private final String passwordLocationModelSetting = "Cayenne Model";
private final String passwordLocationClasspathSetting = "Java CLASSPATH Search (File System)";
private final String passwordLocationExecutableSetting = "Executable Program";
private final String passwordLocationUrlSetting = "URL (file:, https:, etc.)";
public DataNodePasswordEncoderTabLayout(final MainWindowSupport parentComponent) throws IOException
{
super(parentComponent, "/layouts/DataNodePasswordEncoderTabLayout.fxml");
}
@Override
public void initializeLayout()
{
super.initializeLayout();
passwordEncoderComboBox.getItems().add(passwordEncoderPlainTextSetting);
passwordEncoderComboBox.getItems().add(passwordEncoderRot13Setting);
passwordEncoderComboBox.getItems().add(passwordEncoderRot47Setting);
passwordEncoderComboBox.getSelectionModel().select(0);
passwordLocationChoiceBox.getItems().add(passwordLocationModelSetting);
passwordLocationChoiceBox.getItems().add(passwordLocationClasspathSetting);
passwordLocationChoiceBox.getItems().add(passwordLocationExecutableSetting);
passwordLocationChoiceBox.getItems().add(passwordLocationUrlSetting);
passwordLocationChoiceBox.valueProperty().addListener((observable, oldValue, newValue) ->
{
final boolean model = newValue.equals(passwordLocationModelSetting);
final boolean classpath = newValue.equals(passwordLocationClasspathSetting);
final boolean executable = newValue.equals(passwordLocationExecutableSetting);
final boolean url = newValue.equals(passwordLocationUrlSetting);
setVisibility(passwordSourceGridPane, model);
setVisibility(passwordFilenameGridPane, classpath);
setVisibility(passwordExecutableGridPane, executable);
setVisibility(passwordUrlGridPane, url);
});
passwordLocationChoiceBox.getSelectionModel().select(0);
}
// public void tabChanged(final Event event)
// {
// LOGGER.debug("event: " + event);
// getMainWindow().getCayenneProject().getDataMaps();
// }
@Override
public void setPropertyAdapter(final DataNodeAdapter dataNodeAdapter)
{
this.dataNodeAdapter = dataNodeAdapter;
}
// @Override
// public void beginEditing()
// {
// }
//
// @Override
// public void endEditing()
// {
// }
}