bookshoprecordtask.java
来自「主要是对串口驱动的的一些控制源码!!! 在下载javacomm20-win32」· Java 代码 · 共 131 行
JAVA
131 行
package de.fhm.jkf.bookshop.cl;
/*
* <br><br><center><table border="1" width="80%"><hr>
* <strong>
* <a href="http://jkf.sourceforge.net">The JKF Project</a>
* </strong>
* <p>
* Copyright (C) 2002 by Theodor Willax
* <p>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p>
* This library 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
* Lesser General Public License for more details.
* <p>
* You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
* GNU Lesser General Public License</a> along with this library; if not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
* <hr></table></center>
*/
import de.fhm.jkf.bookshop.clsv.Book;
import de.fhm.jkf.bookshop.clsv.BookTO;
import de.fhm.jkf.comm.cl.JKFFactory;
import de.fhm.jkf.comm.cl.ObjectFactory;
import de.fhm.jkf.gui.CommunicationException;
import de.fhm.jkf.gui.CommunicationTask;
import de.fhm.jkf.gui.JKFErrorFrame;
import de.fhm.jkf.gui.JKFView;
import de.fhm.jkf.resource.cl.JKFClientLogger;
/**
* Task for recording new books.
*
* @author Theodor Willax
* @version $Revision: 1.6 $
*/
public class BookshopRecordTask extends CommunicationTask {
/**
* jndi name for a book entity.
*/
private final static String jndiName = "bookshop/Book";
/**
* Saves the transfer object which was received from the
* server after the create for displaying in the gui thread.
*/
private BookTO bookTO = null;
/**
* Constructor for BookshopRecordTask. Passes the
* view to the super class.
*
* @param panel The view we need for automated data exchange.
*/
public BookshopRecordTask(JKFView panel) {
super(panel);
}
/**
* Presents the result of the query.
* If an exception occured an error frame is shown.
* Set's the transfer object in the panel if no error occured.
*
* @see de.fhm.jkf.gui.CommunicationTask#doPresentation()
*/
public void doPresentation() {
if (super.getError() != null) {
Exception e = super.getError();
JKFClientLogger.error(e.getMessage(), e);
new JKFErrorFrame(e).show();
return;
}
// display the saved information in the view
try {
super.getPanel().setTransferObject(this.bookTO);
} catch (Exception e) {
JKFClientLogger.error(e.getMessage(), e);
new JKFErrorFrame(e).show();
}
}
/**
* Creates a new book entity instance.
*
* @see de.fhm.jkf.gui.CommunicationTask#doQuery()
*/
public void doQuery() {
BookTO to = new BookTO();
try {
super.getPanel().getTransferObject(to);
ObjectFactory factory = JKFFactory.instance().getFactory();
// prepare parameters for ejbCreate()
Object[] param = new Object[4];
param[0] = to.getIsbn();
param[1] = to.getTitle();
param[2] = to.getAuthor();
param[3] = to.getPrice();
// create the entity bean
Book book = (Book) factory.createEJB(Book.class, param, jndiName);
// now let's find the created entity bean by its primary key
param = new Object[1];
param[0] = to.getIsbn();
book = (Book) factory.findByPrimaryKey(Book.class, param, jndiName);
// save result for displaying in doPresentation()
this.bookTO = book.getBookTO();
} catch (Exception e) {
throw new CommunicationException(e);
}
}
/**
* Is called when the query should be interrupted. Only usefull
* when a loop is done in the query. The loop should end as soon
* as interrupt is called.
*
* @see de.fhm.jkf.thread.cl.InterruptableTask#interrupt()
*/
public void interrupt() {
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?