Java Doc for InProcessLockingManager.java in  » GIS » GeoTools-2.4.1 » org » geotools » data » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » GIS » GeoTools 2.4.1 » org.geotools.data 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.geotools.data.InProcessLockingManager

InProcessLockingManager
public class InProcessLockingManager implements LockingManager(Code)
Provides In-Process FeatureLocking support for DataStore implementations.

If at all possible DataStore implementations should provide a real Feature Locking support that is persisted to disk or database and resepected by other processes.

This class provides a stop gap solution that implementations may use for GeoServer compatability.


author:
   Jody Garnett, Refractions Research
author:
   Chris Holmes, TOPP

Inner Class :interface Lock
Inner Class :class TransactionLock implements Lock,State
Inner Class :class MemoryLock implements Lock

Field Summary
protected  MaplockTables
    


Method Summary
protected  SetallLocks()
     Set of all locks.
public  voidassertAccess(String typeName, String featureID, Transaction transaction)
     Checks mutability of featureID for this transaction.

Two behaviors are defined by FeatureLocking:

  • TransactionLock (Blocking): lock held by a Transaction
    Authorization is granted to the Transaction holding the Lock.
public  FeatureWritercheckedWriter(FeatureWriter writer, Transaction transaction)
     Provides a wrapper on the provided writer that checks locks.
protected synchronized  LockcreateLock(Transaction transaction, FeatureLock featureLock)
     Creates the right sort of In-Process Lock.
public  booleanexists(String authID)
     Implment lockExists.
protected  LockgetLock(String typeName, String featureID)
     Lock for typeName & featureID if it exists.
public  booleanisLocked(String typeName, String featureID)
    
public synchronized  voidlockFeatureID(String typeName, String featureID, Transaction transaction, FeatureLock featureLock)
     Aquire lock on featureID.
protected  Maplocks(String typeName)
    
public synchronized  booleanrefresh(String authID, Transaction transaction)
     Refresh locks held by the authorization authID.
public  booleanrelease(String authID, Transaction transaction)
     Release locks held by the authorization authID.
public synchronized  voidunLockFeatureID(String typeName, String featureID, Transaction transaction, FeatureLock featureLock)
     Release indicated featureID, must have correct authroization.

Field Detail
lockTables
protected Map lockTables(Code)
lockTable access by typeName stores Transactions or MemoryLocks





Method Detail
allLocks
protected Set allLocks()(Code)
Set of all locks. Set of all locks



assertAccess
public void assertAccess(String typeName, String featureID, Transaction transaction) throws FeatureLockException(Code)
Checks mutability of featureID for this transaction.

Two behaviors are defined by FeatureLocking:

  • TransactionLock (Blocking): lock held by a Transaction
    Authorization is granted to the Transaction holding the Lock. Conflict will result in a block until the Transaction holding the lock completes. (This behavior is equivalent to a Database row-lock, or a java synchronized statement)
  • FeatureLock (Error): lock held by a FeatureLock
    Authorization is based on the set of Authorization IDs held by the provided Transaction. Conflict will result in an error. (This behavior is equivalent to the WFS locking specification)

Right now we are just going to error out with an exception


Parameters:
  typeName - Feature type to check against
Parameters:
  featureID - FeatureID to check
Parameters:
  transaction - Provides Authorization
throws:
  FeatureLockException - If transaction does not have sufficientauthroization



checkedWriter
public FeatureWriter checkedWriter(FeatureWriter writer, Transaction transaction)(Code)
Provides a wrapper on the provided writer that checks locks.
Parameters:
  writer - FeatureWriter requiring access control
Parameters:
  transaction - Transaction being used FeatureWriter with lock checking



createLock
protected synchronized Lock createLock(Transaction transaction, FeatureLock featureLock) throws FeatureLockException(Code)
Creates the right sort of In-Process Lock.
Parameters:
  transaction -
Parameters:
  featureLock - In-Process Lock
throws:
  FeatureLockException - When a Transaction lock is requestedagainst Transaction.AUTO_COMMIT



exists
public boolean exists(String authID)(Code)
Implment lockExists.

Remeber lock may have expired.


Parameters:
  authID - true if lock exists for authID
See Also:   org.geotools.data.LockingManager.lockExists(java.lang.String)



getLock
protected Lock getLock(String typeName, String featureID)(Code)
Lock for typeName & featureID if it exists.

This method will not return expired locks.


Parameters:
  typeName -
Parameters:
  featureID - Lock if exists, or null



isLocked
public boolean isLocked(String typeName, String featureID)(Code)
Used by test cases
Parameters:
  typeName -
Parameters:
  featureID - Return if feature is currently locked



lockFeatureID
public synchronized void lockFeatureID(String typeName, String featureID, Transaction transaction, FeatureLock featureLock) throws FeatureLockException(Code)
Aquire lock on featureID.

This method will fail if Lock is already held by another.


Parameters:
  typeName - TypeName storing feature
Parameters:
  featureID - FeatureID to lock
Parameters:
  transaction - Transaction to lock against
Parameters:
  featureLock - FeatureLock describing lock request
throws:
  FeatureLockException - Indicates a problem with the lock request



locks
protected Map locks(String typeName)(Code)
Access to a Map of locks for typeName
Parameters:
  typeName - typeName Map of Transaction or MemoryLock by featureID



refresh
public synchronized boolean refresh(String authID, Transaction transaction) throws IOException(Code)
Refresh locks held by the authorization authID.

(remember that the lock may have expired)


Parameters:
  authID - Authorization identifing Lock to refresh
Parameters:
  transaction - Transaction with authorization for lockID true if lock was found and refreshed
throws:
  IOException - If transaction not authorized to refresh authID
throws:
  IllegalArgumentException - If authID or transaction not provided



release
public boolean release(String authID, Transaction transaction) throws IOException(Code)
Release locks held by the authorization authID.

(remember that the lock may have expired)


Parameters:
  authID - Authorization identifing Lock to release
Parameters:
  transaction - Transaction with authorization for lockID true if lock was found and released
throws:
  IOException - If transaction not authorized to release authID
throws:
  IllegalArgumentException - If authID or transaction not provided



unLockFeatureID
public synchronized void unLockFeatureID(String typeName, String featureID, Transaction transaction, FeatureLock featureLock) throws IOException(Code)
Release indicated featureID, must have correct authroization.
Parameters:
  typeName -
Parameters:
  featureID -
Parameters:
  transaction -
Parameters:
  featureLock -
throws:
  IOException - If lock could not be released



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.