// uniCenta oPOS - Touch Friendly Point Of Sale // Copyright (C) 2008-2009 Openbravo, S.L. // http://www.unicenta.net/unicentaopos // // This file is part of uniCenta oPOS // // uniCenta oPOS 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. // // uniCenta oPOS 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 uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>. package com.openbravo.pos.payment; import com.openbravo.pos.forms.AppConfig; import com.openbravo.pos.forms.AppLocal; import com.openbravo.pos.util.AltEncrypter; import javax.swing.JPanel; /** * * @author Mikel Irurita */ public class ConfigPaymentPanelCaixa extends javax.swing.JPanel implements PaymentConfiguration { /** Creates new form ConfigPaymentPanelCaixa */ public ConfigPaymentPanelCaixa() { initComponents(); } @Override public JPanel getComponent() { return this; } @Override public void loadProperties(AppConfig config) { String sCommerceID = config.getProperty("payment.commerceid"); String sCommerceTerminal = config.getProperty("payment.terminal"); String sCommerceSign = config.getProperty("payment.commercesign"); String sCommerceSHA = config.getProperty("payment.SHA"); if (sCommerceID!=null && sCommerceTerminal!=null && sCommerceSign!=null && sCommerceSHA!=null && sCommerceSign.startsWith("crypt:")) { jtxtCommerceCode.setText(config.getProperty("payment.commerceid")); AltEncrypter cypher = new AltEncrypter("cypherkey"); jtxtCommerceTerminal.setText(comboValue(config.getProperty("payment.terminal"))); jtxtCommerceSign.setText(cypher.decrypt(config.getProperty("payment.commercesign").substring(6))); jCheckBox1.setSelected(Boolean.valueOf(config.getProperty("payment.SHA")).booleanValue()); } } @Override public void saveProperties(AppConfig config) { config.setProperty("payment.commerceid", comboValue(jtxtCommerceCode.getText())); config.setProperty("payment.terminal", comboValue(jtxtCommerceTerminal.getText())); AltEncrypter cypher = new AltEncrypter("cypherkey"); config.setProperty("payment.commercesign", "crypt:" + cypher.encrypt(new String(jtxtCommerceSign.getPassword()))); config.setProperty("payment.SHA", comboValue(jCheckBox1.isSelected())); } private String comboValue(Object value) { return value == null ? "" : value.toString(); } /** 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() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jtxtCommerceCode = new javax.swing.JTextField(); jtxtCommerceSign = new javax.swing.JPasswordField(); jCheckBox1 = new javax.swing.JCheckBox(); jtxtCommerceTerminal = new javax.swing.JTextField(); jLabel1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel1.setText(AppLocal.getIntString("label.merchantcode")); // NOI18N jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel2.setText(AppLocal.getIntString("label.terminal")); // NOI18N jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel3.setText(AppLocal.getIntString("label.commercesign")); // NOI18N jLabel4.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jLabel4.setText(AppLocal.getIntString("label.sha")); // NOI18N jtxtCommerceCode.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jtxtCommerceSign.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jCheckBox1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N jCheckBox1.setText("Ampliado"); jtxtCommerceTerminal.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N 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(jLabel1) .addComponent(jLabel2) .addComponent(jLabel3) .addComponent(jLabel4)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(42, 42, 42) .addComponent(jCheckBox1)) .addGroup(layout.createSequentialGroup() .addGap(46, 46, 46) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jtxtCommerceTerminal, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxtCommerceSign, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxtCommerceCode, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addContainerGap(276, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxtCommerceCode, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(6, 6, 6) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxtCommerceTerminal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jtxtCommerceSign, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jCheckBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(14, Short.MAX_VALUE)) ); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JCheckBox jCheckBox1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JTextField jtxtCommerceCode; private javax.swing.JPasswordField jtxtCommerceSign; private javax.swing.JTextField jtxtCommerceTerminal; // End of variables declaration//GEN-END:variables }