View Directory | Revision Log | View Changeset
/hippo/experimental/repository-client-api
Revision 5137 - Directory Listing - [select for diffs]
Modified Fri Feb 23 09:26:49 2007 UTC (13 years, 4 months ago) by wgrevink
Diff to previous 5101 , to selected 4279
WCL-1 Deprecated trunk of repository-client-api, repository-update-notifier, cachemanager and webdav-clientlib

These projects have become subprojects of the 'Hippo Repository Java Adapter' project.
See https://svn.hippocms.org//repos/hippo/hipppo-repository-java-adapterr



Revision 5101 - Directory Listing - [select for diffs]
Modified Tue Feb 20 15:13:58 2007 UTC (13 years, 4 months ago) by wgrevink
Diff to previous 5093 , to selected 4279
WCL-1

Bump versions after release
Revision 5093 - Directory Listing - [select for diffs]
Modified Tue Feb 20 14:45:52 2007 UTC (13 years, 4 months ago) by wgrevink
Diff to previous 5091 , to selected 4279
WCL-1

Release repository-client-api 1.09.00
Revision 5091 - Directory Listing - [select for diffs]
Modified Tue Feb 20 14:44:00 2007 UTC (13 years, 4 months ago) by wgrevink
Diff to previous 5087 , to selected 4279
WCL-1

Prepare for release
Revision 5087 - Directory Listing - [select for diffs]
Modified Tue Feb 20 13:42:42 2007 UTC (13 years, 4 months ago) by wgrevink
Diff to previous 5065 , to selected 4279
WCL-1

1)Added executePropPatch service method to WebdavService
2)Made DocumentMetadata namespace aware
Revision 5065 - Directory Listing - [select for diffs]
Modified Mon Feb 19 10:23:39 2007 UTC (13 years, 4 months ago) by wgrevink
Diff to previous 4979 , to selected 4279
WCL-1

Moved Serializable declaration from DocumentPathImpl to DocumentPath interface
Revision 4979 - Directory Listing - [select for diffs]
Modified Tue Feb 13 12:22:06 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4865 , to selected 4279
WCL-1

Added jms reconnect to repository-update-notifier

Revision 4865 - Directory Listing - [select for diffs]
Modified Mon Feb 5 11:41:23 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4860 , to selected 4279
WCL-1

Bump versions after release
Revision 4860 - Directory Listing - [select for diffs]
Modified Mon Feb 5 11:32:31 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4857 , to selected 4279
WCL-1

release repository-client-api 1.08.00
Revision 4857 - Directory Listing - [select for diffs]
Modified Mon Feb 5 11:24:23 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4854 , to selected 4279
WCL-1

Prepare for release
Revision 4854 - Directory Listing - [select for diffs]
Modified Mon Feb 5 10:59:01 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4853 , to selected 4279
WCL-1

Added getDocumentPath() to DocumentMetadata
Revision 4853 - Directory Listing - [select for diffs]
Modified Fri Feb 2 16:11:36 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4846 , to selected 4279
WCL-1

Bump versions after release
Revision 4846 - Directory Listing - [select for diffs]
Modified Fri Feb 2 15:46:25 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4845 , to selected 4279
WCL-1

release repository-client-api 1.07.00
Revision 4845 - Directory Listing - [select for diffs]
Modified Fri Feb 2 15:44:56 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4839 , to selected 4279
WCL-1

Prepare for release
Revision 4839 - Directory Listing - [select for diffs]
Modified Fri Feb 2 14:40:22 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4836 , to selected 4279
WCL-1

Added getFacet(name) to FacetCollection
Revision 4836 - Directory Listing - [select for diffs]
Modified Fri Feb 2 13:16:56 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4834 , to selected 4279
WCL-1

Added Facets to webdav service
Revision 4834 - Directory Listing - [select for diffs]
Modified Fri Feb 2 11:59:32 2007 UTC (13 years, 5 months ago) by jreijn
Diff to previous 4833 , to selected 4279
WCL-1: Add PUT method to repository client api
Revision 4833 - Directory Listing - [select for diffs]
Modified Fri Feb 2 11:58:57 2007 UTC (13 years, 5 months ago) by jreijn
Diff to previous 4832 , to selected 4279
WCL-1: Add PUT method to repository client api
Revision 4832 - Directory Listing - [select for diffs]
Modified Fri Feb 2 11:52:51 2007 UTC (13 years, 5 months ago) by jreijn
Diff to previous 4829 , to selected 4279
WCL-1: Add PUT method to repository client api
Revision 4829 - Directory Listing - [select for diffs]
Modified Fri Feb 2 11:12:19 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4823 , to selected 4279
WCL-1

Added Facets result binding + test
Revision 4823 - Directory Listing - [select for diffs]
Modified Thu Feb 1 10:57:07 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4797 , to selected 4279
WCL-1

Implemented correct caching for the fetchDocumentById(), fetchMetadataById() and fetchContentById() methods in the WebdavService.

This implementation is much simpler than the proposed implementation using a dedicated ID cache with references to the 'real' cache.
The problem with that solution is that it introduces a new level of complexity (two tightly coupled cache instances) that can 
potentially be the source of a whole new category of bugs and instability. Even if the two caches are based on the same instance, it 
remains that a new and potentially problematic concept -'reference to a cache entry in a cache entry'- is introduced.

This implementation reuses existing concepts and is based on the following two observations:
1)A fetch..ById() method in the WebdavService allways binds the result of the inbuilt find-by-id dasl in order to retrieve the 
DocumentPath to the Document to be fetched. This means that we DO have the DocumentPath at our disposal during the execute of 
a fetch..ById() method.
2)We have the NOPCachingService at our disposal which enables us to do anything without the real cache knowing about it.

To cut a long story short, here's the code:

	public Document fetchDocumentById(String documentId) throws ClientException {
		assertDocumentIdIsEnabled();
		
		WebdavCacheKey key = new WebdavCacheKey(config, documentId, "ID-DOCUMENT");
		Object result = cache.get(key);
		if (result == null) {
			CachingService nullCache = new NOPCachingService();
			DocumentPath path = documentFactory.resolvePath(nullCache, documentId);
			if (path != null) {
				result = documentFactory.fetchDocument(nullCache, path);
				store(cache, key, result, path);
			}
		}
		return (Document) result;
	}

	private void store(CachingService cache, WebdavCacheKey key, Object object, DocumentPath path) throws ClientException {
		if (object == null) {
			return;
		}
		try {
			EventValidity eventValidity = new EventValidityImpl(path.getDocumentPath());
			CachedResponse cr = new CachedResponseImpl(eventValidity, object);
			cache.store(key, cr);
		} catch (IOException e) {
			throw new ClientException("Exception while caching the response", e);
		}
	}

The JMSEventCacheTest contains some tests to verify that this actually does what we want: Te cache entry is evicted only on a change event 
on the Document itself: testFindDocumentById(), testFindMetadataById() and testFindContentById()


Some more refactorings:
*) Removed getPath() method from interface CacheKey, it is webdav-eventcaching specific and doesn't belong in this general interface. 
   It's webdav-clientlib implementation (WebdavCacheKey) still has it and it is only used inside this lib.
*) Split up huge method in BindingFactory into several smaller methods: no functional change, just cleaning up.
*) Fixed compilation error in JMSEventCacheTest that was introduced by yesterday's change in constructing a JCSDefaultCache()
Revision 4797 - Directory Listing - [select for diffs]
Modified Mon Jan 29 14:53:12 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4786 , to selected 4279
WCL-1

Bump version after release
Revision 4786 - Directory Listing - [select for diffs]
Modified Mon Jan 29 14:17:18 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4785 , to selected 4279
WCL-1

Tag repository-client api
Revision 4785 - Directory Listing - [select for diffs]
Modified Mon Jan 29 14:11:43 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4783 , to selected 4279
WCL-1

Renamed documentMetadata.getID() -> documentMetadata.getId()
Revision 4783 - Directory Listing - [select for diffs]
Modified Mon Jan 29 14:06:49 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4781 , to selected 4279
WCL-1

Undo tag of repository-client-api
Revision 4781 - Directory Listing - [select for diffs]
Modified Mon Jan 29 13:47:31 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4780 , to selected 4279
WCL-1

Tag repository-client api
Revision 4780 - Directory Listing - [select for diffs]
Modified Mon Jan 29 13:44:57 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4769 , to selected 4279
WCL-1

Prepare for release
Revision 4769 - Directory Listing - [select for diffs]
Modified Mon Jan 29 12:54:39 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4765 , to selected 4279
WCL-1

Renamed documentMetadata.getUID() to documentMetadata.getID();
Revision 4765 - Directory Listing - [select for diffs]
Modified Mon Jan 29 11:28:06 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4758 , to selected 4279
WCL-1

1)Removed targetPath parameter from fetchDocumentById, fetchMetadataById and fetchContentById in webdav service
=> the fetch...ById methods now allways search the entire repository from the filesPath (preview or live) downwards.
2)Small optimailzation: moved searchbyid dasl template loading to static initializer
Revision 4758 - Directory Listing - [select for diffs]
Modified Fri Jan 26 16:30:45 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4741 , to selected 4279
WCL-1

Added fetchDocumentById, fetchMetadataById and fetchContentById to webdav service
Revision 4741 - Directory Listing - [select for diffs]
Modified Fri Jan 26 09:08:08 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4724 , to selected 4279
WCL-1

Added  project.xml.md5 to svn:ignore for cachemanager, repository-client-api and repository-update-notifier
Revision 4724 - Directory Listing - [select for diffs]
Modified Thu Jan 25 13:29:36 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4671 , to selected 4279
WCL-1

1)Added fetchMetadata(path) to webdav service
2)Renamed executeGet(path) to fetchContent() in webdav service

Revision 4671 - Directory Listing - [select for diffs]
Modified Tue Jan 23 16:19:30 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4664 , to selected 4279
WCL-1

Bump versions after release
Revision 4664 - Directory Listing - [select for diffs]
Modified Tue Jan 23 16:02:54 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4661 , to selected 4279
WCL-1

Release repository-client-api version 1.05.00 
Revision 4661 - Directory Listing - [select for diffs]
Modified Tue Jan 23 15:56:27 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4656 , to selected 4279
WCL-1

prepare for release

Revision 4656 - Directory Listing - [select for diffs]
Modified Tue Jan 23 15:44:23 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4638 , to selected 4279
WCL-1

Added service layer to cachemanager and repository-update-notifier

webdav-clientlib, cachemanager and repository-update-notifier now all implement repository-client-api,
cachemanager-api and repository-update-notifier-api become obsolete.



Revision 4638 - Directory Listing - [select for diffs]
Modified Mon Jan 22 11:06:14 2007 UTC (13 years, 5 months ago) by wgrevink
Diff to previous 4594 , to selected 4279
WCL-1

Implemented new interface/implementation naming convention.

interface -> no pre/postfix
implementation => impl postfix


Revision 4594 - Directory Listing - [select for diffs]
Modified Tue Jan 16 16:40:10 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4528 , to selected 4279
WCL-1

First implementation of the WebdavService

Revision 4528 - Directory Listing - [select for diffs]
Modified Fri Jan 12 16:24:55 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4520 , to selected 4279
HIPDOC-21

Bump version of cachemanager-api, cachemanager, repository-client-api, webdav-clientlib and jsf-repository-browser




Revision 4520 - Directory Listing - [select for diffs]
Modified Fri Jan 12 15:53:11 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4517 , to selected 4279
HIPDOC-21

tag repository-client-api





Revision 4517 - Directory Listing - [select for diffs]
Modified Fri Jan 12 15:37:57 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4513 , to selected 4279
HIPDOC-21

Bump version for next release





Revision 4513 - Directory Listing - [select for diffs]
Modified Fri Jan 12 15:34:41 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4503 , to selected 4279
HIPDOC-21

Updated documentation





Revision 4503 - Directory Listing - [select for diffs]
Modified Fri Jan 12 11:35:32 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4465 , to selected 4279
HIPDOC-21

Added IDocumentPath/DocumentPath with methods:
	public String getNamespace();
	public String getFilesPath();
	public String getRootPath();
	public String getRelativePath();
	public String getDocumentPath();

IDocument/Document now returns a IDocumentPath iso a String for the Document path

Removed SearchResultFactory, moved fetch.. method to DocumentFactory

Simplified cachekey computing, there is no need for crc calculation on a stream since the dasl is eventually converted to a string anyway 

Added SearchPerformanceTest for gaining insight in the speed






Revision 4465 - Directory Listing - [select for diffs]
Modified Thu Jan 11 12:36:21 2007 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4451 , to selected 4279
HIPDOC-21

Mainly cosmetic changes:

Added dependency to cachemanager-api in cachemanager project.xml
Added dependency to cachemanager-api and cachemanager in webdav-clientlib project.xml
Added .project, .classpath and target to .svnignore for cachemanager and cachemanager-api
Added NOTICE and LICENCE files
Removed unused imports
Removed unused local variables
Added serialversionUID for Serialized classes
Removed accidentally checked in class files
Removed eclipse generated TODO comments





Revision 4451 - Directory Listing - [select for diffs]
Modified Thu Jan 11 10:31:43 2007 UTC (13 years, 6 months ago) by aschrijvers
Diff to previous 4450 , to selected 4279
added relativeUri()

HIPDOC-21
Revision 4450 - Directory Listing - [select for diffs]
Modified Thu Jan 11 10:30:01 2007 UTC (13 years, 6 months ago) by aschrijvers
Diff to previous 4394 , to selected 4279
fix 2sax handler

HIPDOC-21
Revision 4394 - Directory Listing - [select for diffs]
Modified Thu Jan 4 13:37:08 2007 UTC (13 years, 6 months ago) by aschrijvers
Diff to previous 4353 , to selected 4279
HIPDOC-21

moved serializable to interfaces
Revision 4353 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:36:33 2006 UTC (13 years, 6 months ago) by adouma
Diff to previous 4347 , to selected 4279
HIPDOC-21: bumb to next developer version
Revision 4347 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:12:55 2006 UTC (13 years, 6 months ago) by adouma
Diff to previous 4345 , to selected 4279
HIPDOC-21: Release version 1.03.00 of the repository-client-api

- Removed IDocumentFactory and IDocumentCollectionFactory from API, they are too much webdav specific and not really nessessary
- IDocumentMetadata: Replaced method iterator() (returning an iterator of Map.Entry instances) with method propertyNames() (returning a Set of Strings)
- corrected svn:eol-style to native and adding svn:keywords "Id"
- added maven:site generation properties and JavaDocs menu item


Revision 4345 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:08:58 2006 UTC (13 years, 6 months ago) by adouma
Diff to previous 4343 , to selected 4279
HIPDOC-21: prepare for release
Revision 4343 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:04:58 2006 UTC (13 years, 6 months ago) by adouma
Diff to previous 4336 , to selected 4279
HIPDOC-21: adding maven:site generation properties and JavaDocs menu item
Revision 4336 - Directory Listing - [select for diffs]
Modified Wed Dec 27 10:42:34 2006 UTC (13 years, 6 months ago) by adouma
Diff to previous 4298 , to selected 4279
HIPDOC-21: correcting svn:eol-style to native and adding svn:keywords "Id"
Revision 4298 - Directory Listing - [select for diffs]
Modified Thu Dec 21 15:45:56 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4284 , to selected 4279
HIPDOC-21

API:
1> Removed IDocumentFactory and IDocumentCollectionFactory from API, they are too much webdav specific and not really nessessary.
2> IDocumentMetadata: Replaced method iterator() (returning an iterator of Map.Entry instances) with method propertyNames() (returning a Set of Strings)

JSF sample:
1> Split up monolithic tree.jsp into multiple jsp's
2> Implemented details pane as a TabbedPane
3> now there are two tabs: one for content and one for properties



Revision 4284 - Directory Listing - [select for diffs]
Modified Tue Dec 19 10:39:17 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4279
HIPDOC-21

Set version of repository-client-api, webdav-clientlib and jsf-repository-browser back to -dev on trunk after release.

Revision 4279 - Directory Listing - [selected]
Modified Tue Dec 19 10:06:57 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4277
HIPDOC-21

Release version 1.02.00 of the repository-client-api

Revision 4277 - Directory Listing - [select for diffs]
Modified Tue Dec 19 10:05:09 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4273 , to selected 4279
HIPDOC-21

Prepare for release

Revision 4273 - Directory Listing - [select for diffs]
Modified Tue Dec 19 09:37:49 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4261 , to selected 4279
HIPDOC-21

Introduced IDocumentFactory and IDocumentCollectionFactory
Revision 4261 - Directory Listing - [select for diffs]
Modified Mon Dec 18 17:14:02 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4258 , to selected 4279
HIPDOC-21

Changed API after consulting with Patrick

Revision 4258 - Directory Listing - [select for diffs]
Modified Mon Dec 18 13:39:26 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4253 , to selected 4279
HIPDOC-21

Set version of repositoy-client-api, webdav-clientlib and jsf-repository-browser back to -dev on trunk after release.

Revision 4253 - Directory Listing - [select for diffs]
Modified Mon Dec 18 13:10:57 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4251 , to selected 4279
HIPDOC-21

Release version 1.01.01 of the repository-client-api

Revision 4251 - Directory Listing - [select for diffs]
Modified Mon Dec 18 13:06:59 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4248 , to selected 4279
HIPDOC-21

Prepare for release

Revision 4248 - Directory Listing - [select for diffs]
Modified Mon Dec 18 12:58:41 2006 UTC (13 years, 6 months ago) by wgrevink
Diff to previous 4192 , to selected 4279
HIPDOC-21

Finalize API, update documentation

Revision 4192 - Directory Listing - [select for diffs]
Modified Fri Dec 15 15:42:09 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4189 , to selected 4279
HIPDOC-21

*)Removed getResponseAsJdom, it cannot be exposed in the repository-client-api because that module shouldn't have any dependencies.

As requested by Ard:
*)Added getResponseAsSaxContentHandler to IRawResponse/WebdavResponse
*)Added set/getContent to IResource/WebdavResource so that it becomes possible to construct
 an object containing both content (from a Get) and properties (from a Propfind) 



Revision 4189 - Directory Listing - [select for diffs]
Modified Fri Dec 15 14:45:33 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4188 , to selected 4279
HIPDOC-21

Initial import of the repository-client-api


Revision 4188 - Directory Listing - [select for diffs]
Modified Fri Dec 15 14:42:07 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4187 , to selected 4279
HIPDOC-21

Trunk for repository-client-api


Revision 4187 - Directory Listing - [select for diffs]
Modified Fri Dec 15 14:39:58 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4186 , to selected 4279
HIPDOC-21

Trunk for repository-client-api


Revision 4186 - Directory Listing - [select for diffs]
Modified Fri Dec 15 14:38:51 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4185 , to selected 4279
HIPDOC-21

Trunk for repository-client-api


Revision 4185 - Directory Listing - [select for diffs]
Modified Fri Dec 15 14:38:28 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4184 , to selected 4279
HIPDOC-21

Tags for repository-client-api


Revision 4184 - Directory Listing - [select for diffs]
Modified Fri Dec 15 14:38:02 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to previous 4183 , to selected 4279
HIPDOC-21

Branches for repository-client-api


Revision 4183 - Directory Listing - [select for diffs]
Added Fri Dec 15 14:36:50 2006 UTC (13 years, 7 months ago) by wgrevink
Diff to selected 4279
HIPDOC-21

New SVN module: repository-client-api
Containing readonly interfaces implemented by webdav-clientlib

Convenience Links