This ZIP file contains the sample code from Core Jini, published by Prentice-Hall PTR (ISBN 013014469X), by W. Keith Edwards. When you unzip the file, the contents will be extracted into a directory called "corejini." I recommend that you unzip the contents so that the "corejini" directory is created under C:\ (on Windows) or /files (on Solaris or other UNIX) for consistency with the examples in the book. If you find bugs or misprints in the code, please drop me a note at kedwards@parc.xerox.com so that I can correct the problem. If you have trouble accessing the Prentice-Hall FTP server, please send email to ftpadmin@prenhall.com. As corrections are made I'll periodically update the ZIP file. Check at the Prentice-Hall FTP site or my web page (address below) for new versions. See the book for instructions on building and running the programs here, as well as code walk-throughs. This README file contains a list of the contents of the ZIP file, as well as additional instructions and explanations where needed. Happy Hacking! -Keith Author Contact Information: W. Keith Edwards Xerox Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, CA 94304 kedwards@parc.xerox.com http://www.parc.xerox.com/kedwards/ This file was last modified on June 10, 1999. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Contents -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= policy This is the sample policy file used throughout the book. I recommend that you copy it to C:\policy (on Windows) or /files/policy (on Solaris) for consistency with the descriptions in the book. scripts/ lookup.bat lookup.sh txnmgr.bat txnmgr.sh javaspaces.bat javaspaces.sh This directory contains the scripts used to start the various Jini services. The scripts ending in ".bat" are the Windows versions, while the scripts ending in ".sh" are the UNIX ones. For the UNIX versions, you may need to make the files executable before you can use them: chmod +x *.sh chapter5/ HelloWorldClient.java HelloWorldClientWithEvents.java HelloWorldClientWithLeases.java HelloWorldService.java HelloWorldServiceBackend.java HelloWorldServiceInterface.java HelloWorldServiceWithLeases.java chapter6/ DiscoveryExample.java LocatorExample.java Unicast.java chapter7/ Capacity.java CapacityBean1.java CapacityBean2.java CapacityBeanBeanInfo.java CapacityBean1.java is the non-GUI version of the CapacityBean class used in the first bean example of the book. To use it, you must copy it to CapacityBean.java so that it can be compiled (since the class it defines is named CapacityBean). Likewise, CapacityBean2.java is the GUI version of the bean used in the second bean example. So you must copy it to CapacityBean.java if you wish it to be the default version that will be found at runtime. chapter8/ Federate.java ServiceInfoSearcher.java ServiceInfoWatcher.java ServiceWrapper.java TunnelService.java chapter9/ AdminPanel.java Browser.java DestroyAdminPanel.java DiscoveryAdminPanel.java JoinAdminPanel.java ListBox.java StorageLocationAdminPanel.java The file Browser.java contains many of the separate small classes that are used in this chapter, including: LookupCellRenderer, ServiceCellRenderer, AttrCellRenderer, VectorListModel, Discoverer, Listener, and ListClickListener. chapter10/ Demo.java LeaseRenewalService.java LeaseService.java LeaseServiceProxy.java RemoteLeaseRenewalEvent.java RemoteLeaseRenewer.java chapter11/ SlotClient.java SlotProvider.java SlotProviderImpl.java SlotResult.java chapter12/ AdminLeaseService.java AttrLeaseService.java LeaseAdminProxy.java SplashScreen.gif SplashScreen.java The file SplashScreen.gif contains the "splash screen" image used by SplashScreen.java. Since this file is loaded as a Java resource, the GIF file must be placed under the corejini/chapter12 directory in your classpath. chapter13/ BasicUnicastAdmin.java BasicUnicastService.java Client.java PrintAdmin.java PrintAdminPanel.java Printer.java PrintListener.java PrintProxy.java PrintService.java PrintServiceEvent.java RemotePrinter.java The file PrintService.java contains many of the separate small classes mentioned in Chapter 13, including: PrintServiceData, PrintRecord, RemotePrintAdmin, PrintAdminImpl, and JobRecord. chapter14/ BasicRegistrationLandlord.java EventMailbox.java EventMailboxRegistration.java HeartbeatClient.java HeartbeatGenerator.java MailboxClient.java Registration.java chapter15/ DiscoveryEventEntry.java DjinnConsumer.java DjinnWatcher.java ServiceEventEntry.java WatcherEntry.java chapter16/ EntryMover.java appendixa/ NextNumber.java NextNumberClient.java NextNumberImpl.java