/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.wcs.netbeans.liquiface.ui.wizards.column; /* * #%L * Liquiface - GUI for Liquibase * %% * Copyright (C) 2013 Webstar Csoport Kft. * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import com.wcs.netbeans.liquiface.facade.ColumnTypeFacade; import com.wcs.netbeans.liquiface.model.util.ColumnConfigUtil; import java.awt.event.ItemEvent; import liquibase.change.ColumnConfig; import liquibase.change.ConstraintsConfig; /** * * @author botond */ public class UiColumnPanel extends javax.swing.JPanel { /** * Creates new form AddColumnPanel */ public UiColumnPanel() { initComponents(); } public ColumnConfig getColumnConfig() { ColumnConfig columnConfig = new ColumnConfig(); columnConfig.setName(columnBean.getName()); columnConfig.setType(columnBean.getType()); columnConfig.setAutoIncrement(columnBean.isAutoIncrement()); //csak akkor setelünk contraints-et, ha legalább az egyik igaz, hogy tisztább legyen a generált changeset if (columnBean.isNotNull() || columnBean.isUnique()) { ConstraintsConfig constraints = new ConstraintsConfig(); if (columnBean.isNotNull()) { constraints.setNullable(false); //csak false-t setelünk, hogy tisztább legyen a generált changeset } if (columnBean.isUnique()) { constraints.setUnique(true); //csak true-t setelünk, hogy tisztább legyen a generált changeset } columnConfig.setConstraints(constraints); } return columnConfig; } public void setState(ColumnConfig columnConfig) { columnBean = new com.wcs.netbeans.liquiface.ui.wizards.column.UiColumnBean(); columnBean.setName(columnConfig.getName()); columnBean.setType(columnConfig.getType()); columnBean.setAutoIncrement(columnConfig.isAutoIncrement()); columnBean.setNotNull(ColumnConfigUtil.isNotNull(columnConfig)); columnBean.setUnique(ColumnConfigUtil.isUnique(columnConfig)); } public void resetState() { columnBean.setName(""); columnBean.setType(""); columnBean.setAutoIncrement(false); columnBean.setNotNull(false); columnBean.setUnique(false); } /** * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The * content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); columnBean = new com.wcs.netbeans.liquiface.ui.wizards.column.UiColumnBean(); nameLabel = new javax.swing.JLabel(); typeLabel = new javax.swing.JLabel(); nameTextField = new javax.swing.JTextField(); autoIncrementCheckBox = new javax.swing.JCheckBox(); uniqueCheckBox = new javax.swing.JCheckBox(); notNullCheckBox = new javax.swing.JCheckBox(); typeBox = new javax.swing.JComboBox(); org.openide.awt.Mnemonics.setLocalizedText(nameLabel, org.openide.util.NbBundle.getMessage(UiColumnPanel.class, "UiColumnPanel.nameLabel.text")); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(typeLabel, org.openide.util.NbBundle.getMessage(UiColumnPanel.class, "UiColumnPanel.typeLabel.text")); // NOI18N org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, columnBean, org.jdesktop.beansbinding.ELProperty.create("${name}"), nameTextField, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); org.openide.awt.Mnemonics.setLocalizedText(autoIncrementCheckBox, org.openide.util.NbBundle.getMessage(UiColumnPanel.class, "UiColumnPanel.autoIncrementCheckBox.text")); // NOI18N binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, columnBean, org.jdesktop.beansbinding.ELProperty.create("${autoIncrement}"), autoIncrementCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected")); bindingGroup.addBinding(binding); org.openide.awt.Mnemonics.setLocalizedText(uniqueCheckBox, org.openide.util.NbBundle.getMessage(UiColumnPanel.class, "UiColumnPanel.uniqueCheckBox.text")); // NOI18N binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, columnBean, org.jdesktop.beansbinding.ELProperty.create("${unique}"), uniqueCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected")); bindingGroup.addBinding(binding); org.openide.awt.Mnemonics.setLocalizedText(notNullCheckBox, org.openide.util.NbBundle.getMessage(UiColumnPanel.class, "UiColumnPanel.notNullCheckBox.text")); // NOI18N binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, columnBean, org.jdesktop.beansbinding.ELProperty.create("${notNull}"), notNullCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected")); bindingGroup.addBinding(binding); typeBox.setEditable(true); typeBox.setModel(new javax.swing.DefaultComboBoxModel(ColumnTypeFacade.getInstance().getColumnTypes())); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, columnBean, org.jdesktop.beansbinding.ELProperty.create("${type}"), typeBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(typeLabel) .addComponent(nameLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(nameTextField) .addGroup(layout.createSequentialGroup() .addComponent(autoIncrementCheckBox) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(uniqueCheckBox) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(notNullCheckBox) .addGap(0, 130, Short.MAX_VALUE)) .addComponent(typeBox, javax.swing.GroupLayout.Alignment.TRAILING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(16, 16, 16) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(nameLabel) .addComponent(nameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(typeLabel) .addComponent(typeBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(autoIncrementCheckBox) .addComponent(uniqueCheckBox) .addComponent(notNullCheckBox)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); bindingGroup.bind(); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JCheckBox autoIncrementCheckBox; private com.wcs.netbeans.liquiface.ui.wizards.column.UiColumnBean columnBean; private javax.swing.JLabel nameLabel; private javax.swing.JTextField nameTextField; private javax.swing.JCheckBox notNullCheckBox; private javax.swing.JComboBox typeBox; private javax.swing.JLabel typeLabel; private javax.swing.JCheckBox uniqueCheckBox; private org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration//GEN-END:variables }