54 Commits

Author SHA1 Message Date
Britt Park
dfe49bf51b Introduces a new variant on the link() call that makes the update() call
way faster in the worst case, i.e. tolerable so far.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3808 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-15 20:00:54 +00:00
Britt Park
fc2bfb0315 Checkpoint of AVMSyncService support changes. Fix of AVMNodeConverter not liking
trailing '/'s.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3803 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-15 14:03:22 +00:00
Britt Park
83b4cdb76d Fixed an embarassing not so corner case failure. Non primary
layered directories cannot be just linked in for update, but must instead
be recursively linked in.  


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3801 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-15 03:04:57 +00:00
Britt Park
348ec8b265 This in theory makes AVMSyncService feature complete, by added flatten, which
essentially resets a users layer to be as much like the target tree as possible
to keep comparisons fast.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3797 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-14 19:59:08 +00:00
Britt Park
1386cedef5 AVMSyncService checkpoint. Compare() substantially works but is only
lightly tested.  This uncovered a bug in LayeredDirectoryNodeImpl of 
relatively ancient etiology. I thought I had a test that would have 
caught it. I was wrong.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3796 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-14 18:43:22 +00:00
Britt Park
bf1fdd9cd6 Checkpoint for AVMSyncService. Update (that's promote to use
preferred parlance or submit if you have a certain background) is
substantially working, passing a handful of basic tests. Compare
harmlessly returns no differences always, so Kev can program against
it if he's so inclined.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3785 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-14 00:28:16 +00:00
Britt Park
7fd363c599 Added link call to AVMService. It essentially creates a hard link
without the bad aftertaste.  It's needed for the AVMSyncService's
update method which will move new versions of nodes from one AVM
tree to another.  Also a checkpoint for AVMSyncService. One can safely
call compare and get back an empty List of AVMDifferences.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3784 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-13 19:26:11 +00:00
Britt Park
a06fc74aef The outside hooks for AVMSyncService are in place and the implementation
of the simplest method, resetLayer is done.
Also fixed goofy merge induced bug in DbNodeServiceImpl.
Can we make merging a punishment for naughty Alfrescans?


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3778 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-13 05:45:24 +00:00
Britt Park
d5294a4879 Fixed two tests that now need to authenticate. Added 'statstore, storename'
command to avm.jsp doohickey.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3775 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-12 19:56:52 +00:00
Britt Park
37b5003ae4 Added API methods to query AVM store properties by key pattern.
Cleaned up some warnings in AVMInterpreter.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3765 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-12 05:43:36 +00:00
Britt Park
be6a222554 Extended the content model to include relevant avm specific types.
cm:avmcontent and cm:avmfolder are 'abstract'.  cm:avmplaincontent is derived
from cm:avmcontent and is just a plain file. cm:avmlayeredcontent is derived
from cm:avmcontent and is (surprise) a layered file and has a d:noderef mandatory
property, cm:avmfileindirection, that is the (possibly non-existent) file that
the layered file is transparent to.  cm:avmplainfolder is derived from 
cm:avmfolder and is just a plain directory.  cm:avmlayeredfolder is a layered
directory and has a property, cm:avmdirinderection, that is the (possibly
non-existent) directory that the layered directory is transparent to.
The ContentModel QName constants are.
TYPE_AVM_PLAIN_FOLDER
TYPE_AVM_LAYERED_FOLDER
TYPE_AVM_PLAIN_CONTENT
TYPE_AVM_LAYERED_CONTENT
PROP_AVM_DIR_INDIRECTION
PROP_AVM_FILE_INDIRECTION
One can now create all four flavors of avm nodes through 
AVMNodeService.createNode().  The advantage of using these over the
corresponding AVMService methods is that since (for now) AVMService, is
permission and indexing unaware.
Backed out cm:mounted aspect and dispatching code in DbNodeServiceImpl.  
(Dave and Derek, you may now relax) as we are implementing the UI with
AVM dedicated screens.
Finally, beginning interface for AVM node tree synchronization and comparison.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-12 03:16:10 +00:00
Britt Park
5e0378deb2 This exposes DeletedNodes through AVMService via calls for lookup
and directory listing that take an includeLinks flag.  Original calls 
(w/o a flag) should have unchanged behavior. 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3752 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-11 00:00:57 +00:00
Britt Park
8a95b09b98 Added new AVM node type DeletedNode (aka, ghost, tombstone), a marker node for a
node that has been deleted in a version. This makes tree comparisons easier by
resolving the cases in which one wants to know whether a deletions is more or less 
recent than another version of a node.  Along the way got rid of DeletedChild and 
friends including a table in the schema, since DeletedNode takes on all the work
that it performed.
Deleted two illegally named files in Virgin content.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3748 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-10 17:20:35 +00:00
Britt Park
08ecce31b6 Added types cm:avmcontent (derived from cm:content) TYPE_AVM_CONTENT and
cm:avmfolder (derived from cm:folder) TYPE_AVM_FOLDER as handles for UI.
Fixed configuration goofs I introduced recently that caused Node Browsing
to barf on content nodes. 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3725 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-08 04:47:21 +00:00
Britt Park
9c8ae2b7c4 Changed configuration to index nodes in AVM stores. Indexing only occurs
for avm nodes created/manipulated via NodeService.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3714 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-07 16:57:32 +00:00
Britt Park
17284e4dae More touch ups to AVM permissions stuff. ACLs are properly copied on write.
OrphanReaper cleans up ACLs.  Tests of same.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3710 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-06 20:53:38 +00:00
Britt Park
fff09ab01d Aspects on AVM nodes are copied on write. Also missing configuration change
from last checkin.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3699 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-05 18:22:40 +00:00
Britt Park
db3c29b45e Moved stuff around to be more Alfresco standard.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3658 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-09-02 00:45:48 +00:00
Britt Park
368f01a338 The AVM repository does name validation. Changed internal representation
of AVM NodeRefs to make the Node Browser in the UI happier.  Added minimal
test to ensure that AVM is case insensitive.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3627 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-08-29 17:46:32 +00:00
Britt Park
d67b926589 Marking of AVM Nodes with Aspects works (according to some minimal tests).
Schema has been updated, DAO written, garbage collection updated to clean
out aspects.  Also some seemingly unnecessary changes in visibility 
declarations to deal with strange intermittent Spring wiring failures in 
one of my tests.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3560 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-08-22 01:22:01 +00:00
Britt Park
c8ddf97f62 Server side implementation of AVM remote interface. Made Serializable
several classes that needed to be.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3489 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-08-14 02:34:39 +00:00
Britt Park
06df2021c8 This changes the AVM service to use ContentService for storage. This gives us,
in theory, AVM working underneath (more or less) NodeService and ContentService.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3481 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-08-10 21:50:34 +00:00
Britt Park
9a2a67605c Fixed WCM-11. Semantics of getDirectoryListingDirect() are consistent now.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3456 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-08-03 21:13:16 +00:00
Britt Park
9455745ba8 Added deleteNodeProperties to AVMService interface. Fits in well with NodeService
behavior.  Outline of implementation of AVMNodeService, an AVM based 
implementationof NodeService.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3438 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-31 16:38:39 +00:00
Britt Park
c50a4aa669 Relaxed path requirements. foo://figwump/thneedle///wart/ is now seen
as equivalent to foo:/figwump/thneedle/wart.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3392 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-24 16:14:14 +00:00
Britt Park
55c4d49fbf Added getDirectoryListingDirect() and getDeleted() to AVMService
interface.  These return respectively those nodes directly
contained by a directory and the names of those nodes that
have been deleted in a directory.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3383 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-24 00:35:18 +00:00
Britt Park
a6fc3aef83 Made hard coded attributes of AVMStore into Properties.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3377 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-21 23:03:19 +00:00
Britt Park
24e1b31567 Added QName indexed properties to AVMRepositories.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3376 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-21 21:54:26 +00:00
Britt Park
f15c1b4cc6 Added deleteProperty to service interface.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3375 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-21 16:31:36 +00:00
Britt Park
2e3e8f4ad2 Extended Properties to batch updates. This is really a salvage
from an aborted attempt to make basic attributes 
(creator, modifier, owner, modtime etc.) plain Properties.  This resulted
in a 30% performance hit.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3362 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-21 08:37:05 +00:00
Britt Park
e2eec832f1 Added QName indexed Properties to AVMNodes.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3357 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-19 22:15:09 +00:00
Britt Park
e5eb45da0f Introducing a new API call into AVMService:
LayeringDescriptor getLayeringInfo(version, path);

LayeringDescriptor has three methods:

isBackground() Is the looked up node a background node.
getPathAVMStore() Gets a descriptor for the store the path was looked up in.
getNativeAVMStore() Gets the store that the actual node was found in.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3348 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-18 19:08:21 +00:00
Britt Park
60cdda3f13 Renamed a few things. What used to be SuperRepository (kind of meaning free name
wasn't it) is now AVMRepository.  What used to be Repository is now AVMStore as it
more closely matches what is meant by a store in Alfresco.  Many adjustments
in ancillary class names, references, and comments followed.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3329 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-16 18:19:59 +00:00
Britt Park
37843668a4 A new flavor of createFile. Slightly slower. Significantly safer.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3277 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-07-03 16:36:31 +00:00
Britt Park
d859972f4c Added getCommonAncestor to AVMService + test. Added to console test app.
Changed createSnapshot flavors to return version ids just created instead of void.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3270 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-30 18:14:06 +00:00
Britt Park
106273bde8 AVM now configures itself via Spring. Also adjusted jndi-client and catalina-virtual
to be semi-not-broken.  The current limitation is that you've got to start tomcat from
$TOMCAT_HOME for things to work (fix soon).


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3267 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-29 21:37:17 +00:00
Britt Park
39728a6f86 Added the opacity bit to layered directories, and a method to set it. The opacity
status is returned in AVMNodeDescriptors now. Basic test added.  Also restored
a bunch of commented out checks in a number of tests.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3257 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-27 21:26:39 +00:00
Britt Park
b580c28494 Got rid of a lot of no longer needed work in Lookup.add(). Minimized
the number of explicit session.flush()s. Fixed several places that
were throwing uninformative exceptions.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3227 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-23 14:57:26 +00:00
Britt Park
ff4fe08d04 Added getRepository() and getRepositories() to AVMService, removed getRepositoryNames()
from same.  These new methods return a RepositoryDescriptor and a List of 
RepositoryDescriptors.  Note, Hibernate mapping has changed.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3207 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-22 21:19:07 +00:00
Britt Park
1318a5204b Changed copy on write to occur during lookup, rather than after lookup.
Much carnage, but it's way faster.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3172 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-21 13:07:42 +00:00
Britt Park
8cb3db78e3 Got rid of warning from ehcache. Wrote equals and hashCode for MergeLinkImpl
and HistoryLinkImpl (oops).  GetDirectoryListing now returns
Map<String, AVMNodeDescriptor>.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3156 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-20 00:56:36 +00:00
Britt Park
6fff182633 Added a semi intelligible toString to VersionDescriptor. Added an interactive
console program for debugging.  Made it so you can't snapshot a version if there's 
nothing to snapshot.  Fixed inactive to active transition in OrphanReaper.
Other odds and ends.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3132 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-18 01:19:39 +00:00
Britt Park
9c17cfa1e0 Purge tests cover more now. Moved purging queries into mapping file.
Added call to AVMService to get Versions
by creation date.  GetRepositoryVersions methods now return Lists of 
VersionDescriptors, value objects with the attributes of a version.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3131 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-17 18:48:44 +00:00
Britt Park
a215fb72b6 Repository and version purging are working. Also deleting a bunch of left over
junk I didn't get after the merge.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3130 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-17 02:37:52 +00:00
Britt Park
936f6d7021 This checks in the current state of WCM development.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3128 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-06-16 16:59:15 +00:00
Britt Park
6b52660c8a A handful of tests of more arcane scenarios. Fixed issues as found.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@2975 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-05-24 21:45:41 +00:00
Britt Park
d800048a10 A handful of more involved tests. Surprisingly few things needed fixing.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@2962 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-05-23 22:47:15 +00:00
Britt Park
7440ae18a6 Added a sanity performance test.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@2941 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-05-23 00:05:50 +00:00
Britt Park
bd0752eb4a Fairly complete test coverage of basic sanity type operations: createFile, createDirectory,
createBranch, createLayeredDirectory, createLayeredFile, rename, delete, read, write, snapshot,
listDirectory.  Rename, createLayeredDirectory, createBranch all tested across repositories also. 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@2940 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-05-22 19:03:46 +00:00
Britt Park
df28c98983 Retyped a counter so had to muck with many beans. Forced creation of layered directories
to work.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@2930 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2006-05-21 21:59:41 +00:00