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 (11 years, 9 months ago) by wgrevink
Diff to previous 5101
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 (11 years, 9 months ago) by wgrevink
Diff to previous 5093
WCL-1

Bump versions after release
Revision 5093 - Directory Listing - [select for diffs]
Modified Tue Feb 20 14:45:52 2007 UTC (11 years, 9 months ago) by wgrevink
Diff to previous 5091
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 (11 years, 9 months ago) by wgrevink
Diff to previous 5087
WCL-1

Prepare for release
Revision 5087 - Directory Listing - [select for diffs]
Modified Tue Feb 20 13:42:42 2007 UTC (11 years, 9 months ago) by wgrevink
Diff to previous 5065
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 (11 years, 9 months ago) by wgrevink
Diff to previous 4979
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4865
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4860
WCL-1

Bump versions after release
Revision 4860 - Directory Listing - [select for diffs]
Modified Mon Feb 5 11:32:31 2007 UTC (11 years, 10 months ago) by wgrevink
Diff to previous 4857
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4854
WCL-1

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

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

Bump versions after release
Revision 4846 - Directory Listing - [select for diffs]
Modified Fri Feb 2 15:46:25 2007 UTC (11 years, 10 months ago) by wgrevink
Diff to previous 4845
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4839
WCL-1

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

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

Added Facets to webdav service
Revision 4834 - Directory Listing - [select for diffs]
Modified Fri Feb 2 11:59:32 2007 UTC (11 years, 10 months ago) by jreijn
Diff to previous 4833
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 (11 years, 10 months ago) by jreijn
Diff to previous 4832
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 (11 years, 10 months ago) by jreijn
Diff to previous 4829
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4823
WCL-1

Added Facets result binding + test
Revision 4823 - Directory Listing - [select for diffs]
Modified Thu Feb 1 10:57:07 2007 UTC (11 years, 10 months ago) by wgrevink
Diff to previous 4797
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4786
WCL-1

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

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

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

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

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

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

Renamed documentMetadata.getUID() to documentMetadata.getID();
Revision 4765 - Directory Listing - [select for diffs]
Modified Mon Jan 29 11:28:06 2007 UTC (11 years, 10 months ago) by wgrevink
Diff to previous 4758
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4741
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4724
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4671
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4664
WCL-1

Bump versions after release
Revision 4664 - Directory Listing - [select for diffs]
Modified Tue Jan 23 16:02:54 2007 UTC (11 years, 10 months ago) by wgrevink
Diff to previous 4661
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4656
WCL-1

prepare for release

Revision 4656 - Directory Listing - [select for diffs]
Modified Tue Jan 23 15:44:23 2007 UTC (11 years, 10 months ago) by wgrevink
Diff to previous 4638
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 (11 years, 10 months ago) by wgrevink
Diff to previous 4594
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 (11 years, 11 months ago) by wgrevink
Diff to previous 4528
WCL-1

First implementation of the WebdavService

Revision 4528 - Directory Listing - [select for diffs]
Modified Fri Jan 12 16:24:55 2007 UTC (11 years, 11 months ago) by wgrevink
Diff to previous 4520
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 (11 years, 11 months ago) by wgrevink
Diff to previous 4517
HIPDOC-21

tag repository-client-api





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

Bump version for next release





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

Updated documentation





Revision 4503 - Directory Listing - [select for diffs]
Modified Fri Jan 12 11:35:32 2007 UTC (11 years, 11 months ago) by wgrevink
Diff to previous 4465
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 (11 years, 11 months ago) by wgrevink
Diff to previous 4451
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 (11 years, 11 months ago) by aschrijvers
Diff to previous 4450
added relativeUri()

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

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

moved serializable to interfaces
Revision 4353 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:36:33 2006 UTC (11 years, 11 months ago) by adouma
Diff to previous 4347
HIPDOC-21: bumb to next developer version
Revision 4347 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:12:55 2006 UTC (11 years, 11 months ago) by adouma
Diff to previous 4345
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 (11 years, 11 months ago) by adouma
Diff to previous 4343
HIPDOC-21: prepare for release
Revision 4343 - Directory Listing - [select for diffs]
Modified Thu Dec 28 10:04:58 2006 UTC (11 years, 11 months ago) by adouma
Diff to previous 4336
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 (11 years, 11 months ago) by adouma
Diff to previous 4298
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 (11 years, 11 months ago) by wgrevink
Diff to previous 4284
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 (11 years, 11 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 - [select for diffs]
Modified Tue Dec 19 10:06:57 2006 UTC (11 years, 11 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 (11 years, 11 months ago) by wgrevink
Diff to previous 4273
HIPDOC-21

Prepare for release

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

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

Changed API after consulting with Patrick

Revision 4258 - Directory Listing - [select for diffs]
Modified Mon Dec 18 13:39:26 2006 UTC (12 years ago) by wgrevink
Diff to previous 4253
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 (12 years ago) by wgrevink
Diff to previous 4251
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 (12 years ago) by wgrevink
Diff to previous 4248
HIPDOC-21

Prepare for release

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

Finalize API, update documentation

Revision 4192 - Directory Listing - [select for diffs]
Modified Fri Dec 15 15:42:09 2006 UTC (12 years ago) by wgrevink
Diff to previous 4189
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 (12 years ago) by wgrevink
Diff to previous 4188
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 (12 years ago) by wgrevink
Diff to previous 4187
HIPDOC-21

Trunk for repository-client-api


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

Trunk for repository-client-api


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

Trunk for repository-client-api


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

Tags for repository-client-api


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

Branches for repository-client-api


Revision 4183 - Directory Listing - [select for diffs]
Added Fri Dec 15 14:36:50 2006 UTC (12 years ago) by wgrevink
HIPDOC-21

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

Convenience Links