200 likes | 360 Views
The iiuf Java Package Part II. Simon Schubiger and Oliver Hitz DIUF, University of Fribourg. Outline. Introduction CVS: Concurrent Versions System XML/DOM Java Imaging Utilities Conclusion. Introduction. Goal: Share common source with minimal overhead through CVS. 21.02.2001:
E N D
The iiuf Java PackagePart II Simon Schubiger and Oliver Hitz DIUF, University of Fribourg
Outline • Introduction • CVS: Concurrent Versions System • XML/DOM • Java Imaging • Utilities • Conclusion
Introduction • Goal: Share common source with minimal overhead through CVS. • 21.02.2001: • 1413 Classes • 906 Source files • 127141 lines of code
Concurrent Versions System • Same source code, multiple developers • Source code history management • No more manual versioning (file1, file2, file3...) • Who made a given change? When? Why? What other changes at the same time? • Different development branches • Remote access • Low bandwidth
CVS Overview • One central file repository • Every developer works on a local copy of the files • By default, no locking of files (contrary to RCS) • Conflicts are resolved manually • Website: • http://www.cvshome.org
Repository Structure • /home/iiufdev/cvsroot • java iiuf edu org • rtsp • grabx
Unix Setup • Become a member of the group "iiufdev" (for file access privileges) • Setup CVSROOT: • setenv CVSROOT :pserver:<user>@iiuf00:/home/iiufdev/cvsroot • Login to CVS: • cvs login • Get a local copy of a project: • cvs checkout <directory>
Common Tasks • Bring the local copy up to date: • cvs update [filename(s)] • Add a file to the repository: • cvs add <filename> • Commit changes: • cvs commit [filename(s)]
Common Tasks • View revision history of a file: • cvs log [filename(s)] • View changes made to the local version: • cvs diff [filename(s)] • Get an older version: • cvs update -r <revision> [filename(s)]
Conflicts • Problem: two developers change the same file at the same time • Conflicts occur at "commit" time • Different portion in the source code: • changes are merged automatically • Same portion: • user is asked to resolve the conflict manually, corresponding source code region is marked
Other Clients • jCVS - Java CVS Client (http://www.jcvs.org)
Other Clients • MacCVS & WinCVS (http://www.cvsgui.org)
XML & DOM • DOM: object representation of XML data • wrapper for different XML parsers • iiuf.dom.DOMUtils • provides access to elements within a DOM structure
Imaging • JAI: Java Advanced Imaging • 100+ different image processing operations, some native implementations • add, subtract, composite... • rotate, scale, warp... • load/save on TIFF, GIF, JPEG... • complex images, (I)FFT... • extreme, histogram, mean... • convolve, edge extract...
Imaging • iiuf.jai provides extensions and utilities for JAI: • DisplayImagePanel • ImageViewer sample application
Document Imaging • Document analysis operators for JAI: • RLSA • Connected components analysis • Projection profiles • iiuf.das.ocr: Ready to use Java interface to the ScanWorX OCR program
iiuf.log.Log • Replacement for System.out.println()-style debugging • Single debugging console for distributed applications • Output sent using the Syslog protocol to a standalone application on a specific machine • Also handles exceptions
iiuf.log.Log • Servers • List • Overview
iiuf.net.winnetou • Simple web server • Extensible through plugins
Conclusion • Use it and contribute! • Documentation: • http://www-iiuf.unifr.ch/iiufdev/doc • 3rd-party libraries: • /home/iiufdev/distr