/* * ------------------------------------------------------------------------- * Copyright 2014 * Centre for Information Modeling - Austrian Centre for Digital Humanities * * Licensed 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.emile.cirilo.gui; import voodoosoft.jroots.core.CServiceProvider; import voodoosoft.jroots.gui.CGuiComposite; import java.awt.*; import org.emile.cirilo.ServiceNames; import java.util.ResourceBundle; import javax.swing.*; import java.awt.event.*; import org.apache.log4j.Logger; /** * Description of the Class * * @author hstigler * @created 11.03 2011 */ public class GuiIngestObjectDialog extends CGuiComposite { private static Logger log = Logger.getLogger(GuiIngestObjectDialog.class); protected Container container; protected JTextField jtfIdentifier; protected JTextField jtfPID; protected JTextField jtfTitle; protected JTextField jtfSubject; protected JTextField jtfDescription; protected JTextField jtfCreator; protected JTextField jtfPublisher; protected JTextField jtfContributor; protected JTextField jtfDate; protected JTextField jtfType; protected JTextField jtfFormat; protected JTextField jtfSource; protected JTextField jtfLanguage; protected JTextField jtfRelation; protected JTextField jtfCoverage; protected JTextField jtfRights; protected JComboBox jcbStatus; protected JComboBox jcbContentModel; protected JComboBox jcbNamespace; protected JComboBox jcbUser; protected JCheckBox jcbOAIProvider; protected JCheckBox jcbGenerated; protected JCheckBox jcbSimulate; protected JButton jbClose; protected JButton jbReset; protected JButton jbIngest; protected JButton jbImport; protected JButton jbEXCEL; protected JButton jbShowLogfile; protected Object[] namespaces = { "o:", "context:"}; /** * Constructor for the GuiNewObjectDialog object */ public GuiIngestObjectDialog() { super( "GuiIngestObjectDialog" ); try { jbInit(); setRootComponent( container ); setup(); } catch ( Exception e ) { log.error(e.getLocalizedMessage(),e); } } /** * Description of the Method */ protected void setup() { setWidgetName( jbClose, "jbClose" ); setWidgetName( jbIngest, "jbIngest" ); setWidgetName( jbImport, "jbImport" ); setWidgetName( jbEXCEL, "jbEXCEL" ); setWidgetName( jbReset, "jbReset" ); setWidgetName( jcbStatus, "jcbStatus" ); setWidgetName( jcbContentModel, "jcbContentModel" ); setWidgetName( jcbNamespace, "jcbNamespace" ); setWidgetName( jcbUser, "jcbUser" ); setWidgetName( jtfPID, "jtfPID" ); setWidgetName( jtfTitle, "jtfTitle" ); setWidgetName( jtfSubject, "jtfSubject" ); setWidgetName( jtfDescription, "jtfDescription" ); setWidgetName( jtfCreator, "jtfCreator" ); setWidgetName( jtfPublisher, "jtfPublisher" ); setWidgetName( jtfContributor, "jtfContributor" ); setWidgetName( jtfDate, "jtfDate" ); setWidgetName( jtfType, "jtfType" ); setWidgetName( jtfFormat, "jtfFormat" ); setWidgetName( jtfSource, "jtfSource" ); setWidgetName( jtfLanguage, "jtfLanguage" ); setWidgetName( jtfRelation, "jtfRelation" ); setWidgetName( jtfCoverage, "jtfCoverage" ); setWidgetName( jtfRights, "jtfRights" ); setWidgetName( jcbOAIProvider, "jcbOAIProvider" ); setWidgetName( jcbGenerated, "jcbGenerated" ); setWidgetName( jcbSimulate, "jcbSimulate" ); setWidgetName( jbShowLogfile, "jbShowLogfile" ); } /** * Description of the Method * * @exception Exception Description of the Exception */ private void jbInit() throws Exception { ResourceBundle res=(ResourceBundle) CServiceProvider.getService(ServiceNames.RESOURCES); container = new Container(); container.setLayout(new net.miginfocom.swing.MigLayout("insets 10","[][grow]","")); jcbOAIProvider = new JCheckBox( res.getString("checkoai") ); jcbGenerated = new JCheckBox( "PID:" ); jcbSimulate = new JCheckBox( res.getString("ingestsim") ); jtfPID = new JTextField(); jtfPID.setBackground( new Color (238,238,238) ); jtfPID.setEnabled(false); jtfPID.setPreferredSize(new Dimension(400, jtfPID.getPreferredSize().height)); jtfPID.addKeyListener( new PidKeyListener() ); String[] objectStatus = {res.getString("active"), res.getString("inactive")}; jcbStatus = new JComboBox( objectStatus ); jcbStatus.setBackground( Color.yellow ); jcbUser = new JComboBox(); jcbUser.setBackground( Color.YELLOW ); jcbContentModel = new JComboBox(); jcbContentModel.setBackground( Color.YELLOW ); jcbNamespace = new JComboBox(namespaces); jcbNamespace.setBackground( Color.YELLOW ); jtfTitle = new JTextField(); jtfTitle.setBackground( Color.YELLOW ); jtfTitle.addKeyListener( new TextKeyListener() ); jtfSubject = new JTextField(); jtfSubject.addKeyListener( new TextKeyListener() ); jtfDescription = new JTextField(); jtfDescription.addKeyListener( new TextKeyListener() ); jtfCreator = new JTextField(); jtfCreator.addKeyListener( new TextKeyListener() ); jtfPublisher = new JTextField(); jtfPublisher.addKeyListener( new TextKeyListener() ); jtfContributor = new JTextField(); jtfContributor.addKeyListener( new TextKeyListener() ); jtfDate = new JTextField(); jtfDate.addKeyListener( new TextKeyListener() ); jtfType = new JTextField(); jtfType.addKeyListener( new TextKeyListener() ); jtfFormat = new JTextField(); jtfFormat.addKeyListener( new TextKeyListener() ); jtfSource = new JTextField(); jtfSource.addKeyListener( new TextKeyListener() ); jtfLanguage = new JTextField(); jtfLanguage.addKeyListener( new TextKeyListener() ); jtfRelation = new JTextField(); jtfRelation.addKeyListener( new TextKeyListener() ); jtfCoverage = new JTextField(); jtfCoverage.addKeyListener( new TextKeyListener() ); jtfRights = new JTextField(); jtfRights.addKeyListener( new TextKeyListener() ); jbIngest = new JButton(res.getString("ingestdir") ); jbImport = new JButton(res.getString("ingestex") ); jbEXCEL = new JButton(res.getString("ingestexcel") ); jbClose = new JButton( res.getString("close") ); jbReset = new JButton( res.getString("reset") ); jbShowLogfile = new JButton( res.getString("showlog") ); container.add( jcbGenerated ); Box c0 = Box.createHorizontalBox(); c0.add( jcbNamespace ); c0.add( new JLabel (" ")); c0.add( jtfPID ); c0.add( new JLabel (" Content model: ")); c0.add( jcbContentModel ); c0.add( new JLabel (" Owner: ")); c0.add( jcbUser ); container.add(c0,"wrap 5"); container.add( new JLabel( "dc:Title" ) ); container.add( jtfTitle, "grow, wrap 5" ); container.add( new JLabel( "dc:Description" ) ); container.add( jtfDescription, "grow, wrap 5" ); container.add( new JLabel( "dc:Subject" ) ); container.add( jtfSubject, "grow, wrap 5" ); container.add( new JLabel( "dc:Creator" ) ); container.add( jtfCreator, "grow, wrap 5" ); container.add( new JLabel( "dc:Publisher" ) ); container.add( jtfPublisher, "grow, wrap 5" ); container.add( new JLabel( "dc:Contributor" ) ); container.add( jtfContributor, "grow, wrap 5" ); container.add( new JLabel( "dc:Language" ) ); Box c1 = Box.createHorizontalBox(); c1.add( jtfLanguage ); c1.add( new JLabel( " dc:Date " ) ); c1.add( jtfDate ); container.add(c1,"grow, wrap 5"); container.add( new JLabel( "dc:Type" ) ); Box c2 = Box.createHorizontalBox(); c2.add( jtfType ); c2.add( new JLabel( " dc:Format " ) ); c2.add( jtfFormat ); container.add(c2,"grow, wrap 5"); container.add( new JLabel( "dc:Source" ) ); container.add( jtfSource, "grow, wrap 5" ); container.add( new JLabel( "dc:Relation" ) ); container.add( jtfRelation, "grow, wrap 5" ); container.add( new JLabel( "dc:Coverage" ) ); container.add( jtfCoverage, "grow, wrap 5" ); container.add( new JLabel( "dc:Rights" ) ); container.add( jtfRights, "grow, wrap 5" ); container.add( new JLabel( "" ) ); container.add( jcbSimulate, "wrap 10" ); Box c3 = Box.createHorizontalBox(); c3.add( jbIngest ); c3.add( new JLabel( " " ) ); c3.add( jbImport ); c3.add( new JLabel( " " ) ); c3.add( jbEXCEL ); c3.add( new JLabel( " " ) ); c3.add( jbShowLogfile ); c3.add( new JLabel( " " ) ); c3.add( jbReset ); c3.add( new JLabel( " " ) ); c3.add( jbClose ); container.add( new JLabel( "" ) ); container.add (c3, "gapleft push, wrap 10"); } /** * Description of the Class * * @author yoda * @created 07. September 2006 */ static class PidKeyListener implements KeyListener { /** * Description of the Method * * @param e Description of the Parameter */ public void keyTyped( KeyEvent e ) { char ch = e.getKeyChar(); if ( ch >= 'A' && ch <= 'Z' ) { e.setKeyChar( (char) ( ch + 32 ) ); return; } if ( ch >= 'a' && ch <= 'z' ) { return; } if ( ch >= '0' && ch <= '9' ) { return; } if ( ch == (char) 8 ) { return; } if ( ch == '-' ) { return; } if ( ch == '.' ) { return; } Toolkit.getDefaultToolkit().beep(); e.consume(); } /** * Description of the Method * * @param e Description of the Parameter */ public void keyPressed( KeyEvent e ) { } /** * Description of the Method * * @param e Description of the Parameter */ public void keyReleased( KeyEvent e ) { } } static class TextKeyListener implements KeyListener { /** * Description of the Method * * @param e Description of the Parameter */ public void keyTyped( KeyEvent e ) { char ch = e.getKeyChar(); if (ch == '&' || ch == '<' || ch == '>') { Toolkit.getDefaultToolkit().beep(); e.consume(); } else { return; } } /** * Description of the Method * * @param e Description of the Parameter */ public void keyPressed( KeyEvent e ) { } /** * Description of the Method * * @param e Description of the Parameter */ public void keyReleased( KeyEvent e ) { } } }