Skip to Content.
Sympa Menu

shibboleth-dev - Java Target Code Checkin Checklist

Subject: Shibboleth Developers

List archive

Java Target Code Checkin Checklist


Chronological Thread 
  • From: "Howard Gilbert" <>
  • To: <>
  • Subject: Java Target Code Checkin Checklist
  • Date: Wed, 27 Oct 2004 14:52:24 -0400

What is going to happen when I check in the Java Target?

/lib

I will add xbean.jar, xbean_xpath.jar, and xmltypes.jar to the set of JAR files.

Issue: I believe that opensaml.jar in the library doesn't have debugging symbols in it. During development I replace it with one that does, but I won't check that one in.

/src/conf

I will add some target XML configuration files similar to the ones that were previously in /opt/shibboleth/etc/shibboleth in the old target. No matter what I put in here now, they will be subject to change when the packaging is decided (localhost, INQueue, ...). All of these are new files.

You can't exactly put the real C++ configuration files in because they have complete pathnames to the files and the files are now in a different place.

If you want the origin and target to talk to each other, then origin.xml and shibboleth.xml have to be configured to know about each other (in Meatadata and maybe Trust).

This directory will be incomplete or inconsistent (requiring configuration or some alternative tarball configuration) until we discuss what it should look like.

There is also some tension in this directory between "distribution" and "development". For distribution you want a directory configured for some simple install and run configuration model. For development, you want a bunch of different configurations that test all sorts of conditions and errors. But that too is for a later time.

/src/internet2/middleware/commons/log4j

An optional request logging package also described separately and distributed as its own jar file. But for now I will check it in here so it doesn't get lost.

/src/.../common

AAP.java (new) - an interface for the AAP pluggable component.

AttributeRule (new) - an interface for an AAP element

ShibResource.java - I propose a change to line 67, probable bug fix. The existing code defaults to find resources from the JRE part of the classpath. I change it to use the local ClassLoader and therefore to find resources in the WEB-INF directory.

XML.java - Add a few character string constants along with the ones already there.

/src/.../metadata

Generally speaking, there are a few changes made to frequently dummy methods that were created to conform to the earlier version of the SAML 2 spec. As the spec was refined, a few things were added, a few were deleted, and a few were changed.

Endpoint.java - delete getVersion() method which is no longer part of the spec.

KeyDescriptor.java - delete getKeySize() method. Change getEncryptionMethod to return String[] instead of String to conform with the spec.

Add comments to Provider.java and ProviderRole.java.

Add interfaces for AttributeAuthorityRole, EntityDescriptor, EntityLocator, IDPProviderRole.

Add constants class named SAML2Metadata.java. The idea is to place in this class the strings that we decide are the official version of Bindings and such when we officially decide how to embed Shibboleth the protocol into SAML 2.0 Metadata.

Now in metadata/provider/XMLMetadata, you change implementation methods to agree with the changed interfaces. getEncryptionMethod still returns null, but now it is a null String[] instead of a null String.

/src/.../target

A new package containing most of the new code.

Too numerous to mention here, and they are all new and don't change or conflict with anything.

/src/schemas

Add XSD schemas for the Target configuration XML files and for the SAML 2.0 standard metadata. [I know that these may be based on a prior "for comment" drop of the SAML files, so these need to be updated at some point with final form. They work and we don't need better right now.]

/webAppConfig

Add target.xml which gets remapped into /WEB-INF/web.xml when the WAR file is built for distribution.

/webApplication

The Ant script seems to require that some things (/lib JAR files, XSD schemas) appear in both the source tree and the prototype application directory. This should be fixed.

Error Pages

The HTML files that are sent on an error have to move somewhere. In the C++ target they were in an absolute file location such as /opt/shibboleth/etc/shibboleth/shireError.html. I propose to put them in the root of the Web Application directory.

Ant Build

This is probably the hardest part. There is one Ant build designed to build a distributable target. I have made changes toward building a testable image. This will be the last thing I check in and I may have comments on it later.

 




Archive powered by MHonArc 2.6.16.

Top of Page