Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Google Summer of CodeImage Modified

Summary

The aim of this page is to describe my work during the Google Summer of Code project on Fedora Repository. I have divided this page into x subcategories depending on into which part of "project's life cycle" it belongs. I have created the topic branch for this purpose in Git and all my changes are available from https://github.com/Jiri-Kremser/fcrepo/tree/fcrepo-452.

Here, I would like to thank to all the members of Fedora commiter team, especially to my GSoC mentor A. Soroka and Chris Wilper. I hope that my work will be beneficial for the future release.



Panel
Table of Contents
maxLevel3
minLevel2
maxLevel3
outlinetrue
stylenone

Changes to the Build Process

...

The deployment itself is done in cxf.xml file where the MTOM is enabled for the MTOMized endpoints and jax-ws handlers (they are called handlers in the JAX-WS terminology and interceptors in the CXF terminology) are plugged in.

Changes in the Code

bla

WS implementations

Exceptions

The code is of course self descriptive (wink) but I should drop a few lines here as well.

WS implementations

Impl classes:

All the WS operations implemented in these classes are performed by _Default{Acess|Management}_ classes, therefore there is no complicated business logic here. It only delegates the work to another class and logs the exception if there is any.

In the previous WS impl classes there were different type of context object which has to be passed to _Default{Acess|Management}_ classes. Therefore, I had to make changes also to the static method ReadOnlyContext.getSoapContext(ctx). Also, there are different types than in Axis 1.3 (String[] -> ArrayOfString, ObjectMethodsDef[] -> List<ObjectMethodsDef>, T[] -> List<T>, etc.). Hence, the TypeUtility class which provide static methods for converting the types had to be altered. The backward compatibility still holds, because on the SOAP msg level it is still the same. The different types are here because of the different binding strategy in the past. Now it is widely used JAX-B.

Exceptions

AsisFault -> SoapFault

fcrepo-client-admin

fcrepo-security-pep

Conclusion

For the old clients there are backward-compatible SOAP endpoints exposed by default on localhost:8080/services/{access|management} and for the clients build, after this changes comes into a public Fedora release, there are the SOAP endpoints (localhost:8080/services/{access|management}MTOM) with the MTOM support.