1 17 package org.alfresco.jcr.version; 18 19 import java.io.InputStream ; 20 import java.util.ArrayList ; 21 import java.util.Calendar ; 22 import java.util.Collection ; 23 import java.util.List ; 24 25 import javax.jcr.AccessDeniedException; 26 import javax.jcr.InvalidItemStateException; 27 import javax.jcr.Item; 28 import javax.jcr.ItemExistsException; 29 import javax.jcr.ItemNotFoundException; 30 import javax.jcr.ItemVisitor; 31 import javax.jcr.MergeException; 32 import javax.jcr.NoSuchWorkspaceException; 33 import javax.jcr.Node; 34 import javax.jcr.NodeIterator; 35 import javax.jcr.PathNotFoundException; 36 import javax.jcr.Property; 37 import javax.jcr.PropertyIterator; 38 import javax.jcr.ReferentialIntegrityException; 39 import javax.jcr.RepositoryException; 40 import javax.jcr.Session; 41 import javax.jcr.UnsupportedRepositoryOperationException; 42 import javax.jcr.Value; 43 import javax.jcr.ValueFormatException; 44 import javax.jcr.lock.Lock; 45 import javax.jcr.lock.LockException; 46 import javax.jcr.nodetype.ConstraintViolationException; 47 import javax.jcr.nodetype.NoSuchNodeTypeException; 48 import javax.jcr.nodetype.NodeDefinition; 49 import javax.jcr.nodetype.NodeType; 50 import javax.jcr.version.Version; 51 import javax.jcr.version.VersionException; 52 import javax.jcr.version.VersionHistory; 53 54 import org.alfresco.jcr.item.NodeRefNodeIteratorImpl; 55 import org.alfresco.jcr.util.JCRProxyFactory; 56 import org.alfresco.service.cmr.repository.NodeRef; 57 58 59 64 public class VersionImpl implements Version 65 { 66 private VersionHistoryImpl versionHistoryImpl; 67 private org.alfresco.service.cmr.version.Version version; 68 private Version proxy; 69 70 71 77 public VersionImpl(VersionHistoryImpl versionHistoryImpl, org.alfresco.service.cmr.version.Version version) 78 { 79 this.versionHistoryImpl = versionHistoryImpl; 80 this.version = version; 81 } 82 83 88 public Version getProxy() 89 { 90 if (proxy == null) 91 { 92 proxy = (Version)JCRProxyFactory.create(this, Version.class, versionHistoryImpl.getSessionImpl()); 93 } 94 return proxy; 95 } 96 97 101 public VersionHistory getContainingHistory() throws RepositoryException 102 { 103 return versionHistoryImpl.getProxy(); 104 } 105 106 110 public Calendar getCreated() throws RepositoryException 111 { 112 Calendar calendar = Calendar.getInstance(); 113 calendar.setTime(version.getCreatedDate()); 114 return calendar; 115 } 116 117 121 public Version[] getSuccessors() throws RepositoryException 122 { 123 Collection <org.alfresco.service.cmr.version.Version> successors = versionHistoryImpl.getVersionHistoryImpl().getSuccessors(version); 124 Version[] versions = new Version[successors.size()]; 125 int i = 0; 126 for (org.alfresco.service.cmr.version.Version sucessor : successors) 127 { 128 versions[i++] = new VersionImpl(versionHistoryImpl, sucessor).getProxy(); 129 } 130 return versions; 131 } 132 133 137 public Version[] getPredecessors() throws RepositoryException 138 { 139 org.alfresco.service.cmr.version.Version predecessor = versionHistoryImpl.getVersionHistoryImpl().getPredecessor(version); 140 Version[] versions = new Version[1]; 141 versions[0] = new VersionImpl(versionHistoryImpl, predecessor).getProxy(); 142 return versions; 143 } 144 145 149 public boolean hasNodes() throws RepositoryException 150 { 151 return true; 152 } 153 154 158 public NodeIterator getNodes() throws RepositoryException 159 { 160 List <NodeRef> nodeRefs = new ArrayList <NodeRef>(); 161 nodeRefs.add(version.getFrozenStateNodeRef()); 162 return new NodeRefNodeIteratorImpl(versionHistoryImpl.getSessionImpl(), nodeRefs); 163 } 164 165 169 public Node addNode(String relPath) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException 170 { 171 throw new UnsupportedRepositoryOperationException(); 172 } 173 174 public Node addNode(String relPath, String primaryNodeTypeName) throws ItemExistsException, PathNotFoundException, NoSuchNodeTypeException, LockException, VersionException, ConstraintViolationException, RepositoryException 175 { 176 throw new UnsupportedRepositoryOperationException(); 177 } 178 179 public void orderBefore(String srcChildRelPath, String destChildRelPath) throws UnsupportedRepositoryOperationException, VersionException, ConstraintViolationException, ItemNotFoundException, LockException, RepositoryException 180 { 181 throw new UnsupportedRepositoryOperationException(); 182 } 183 184 public Property setProperty(String name, Value value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 185 { 186 throw new UnsupportedRepositoryOperationException(); 187 } 188 189 public Property setProperty(String name, Value value, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 190 { 191 throw new UnsupportedRepositoryOperationException(); 192 } 193 194 public Property setProperty(String name, Value[] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 195 { 196 throw new UnsupportedRepositoryOperationException(); 197 } 198 199 public Property setProperty(String name, Value[] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 200 { 201 throw new UnsupportedRepositoryOperationException(); 202 } 203 204 public Property setProperty(String name, String [] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 205 { 206 throw new UnsupportedRepositoryOperationException(); 207 } 208 209 public Property setProperty(String name, String [] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 210 { 211 throw new UnsupportedRepositoryOperationException(); 212 } 213 214 public Property setProperty(String name, String value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 215 { 216 throw new UnsupportedRepositoryOperationException(); 217 } 218 219 public Property setProperty(String name, String value, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 220 { 221 throw new UnsupportedRepositoryOperationException(); 222 } 223 224 public Property setProperty(String name, InputStream value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 225 { 226 throw new UnsupportedRepositoryOperationException(); 227 } 228 229 public Property setProperty(String name, boolean value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 230 { 231 throw new UnsupportedRepositoryOperationException(); 232 } 233 234 public Property setProperty(String name, double value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 235 { 236 throw new UnsupportedRepositoryOperationException(); 237 } 238 239 public Property setProperty(String name, long value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 240 { 241 throw new UnsupportedRepositoryOperationException(); 242 } 243 244 public Property setProperty(String name, Calendar value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 245 { 246 throw new UnsupportedRepositoryOperationException(); 247 } 248 249 public Property setProperty(String name, Node value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException 250 { 251 throw new UnsupportedRepositoryOperationException(); 252 } 253 254 public Node getNode(String relPath) throws PathNotFoundException, RepositoryException 255 { 256 throw new UnsupportedRepositoryOperationException(); 257 } 258 259 public NodeIterator getNodes(String namePattern) throws RepositoryException 260 { 261 throw new UnsupportedRepositoryOperationException(); 262 } 263 264 public Property getProperty(String relPath) throws PathNotFoundException, RepositoryException 265 { 266 throw new UnsupportedRepositoryOperationException(); 267 } 268 269 public PropertyIterator getProperties() throws RepositoryException 270 { 271 throw new UnsupportedRepositoryOperationException(); 272 } 273 274 public PropertyIterator getProperties(String namePattern) throws RepositoryException 275 { 276 throw new UnsupportedRepositoryOperationException(); 277 } 278 279 public Item getPrimaryItem() throws ItemNotFoundException, RepositoryException 280 { 281 throw new UnsupportedRepositoryOperationException(); 282 } 283 284 public String getUUID() throws UnsupportedRepositoryOperationException, RepositoryException 285 { 286 throw new UnsupportedRepositoryOperationException(); 287 } 288 289 public int getIndex() throws RepositoryException 290 { 291 throw new UnsupportedRepositoryOperationException(); 292 } 293 294 public PropertyIterator getReferences() throws RepositoryException 295 { 296 throw new UnsupportedRepositoryOperationException(); 297 } 298 299 public boolean hasNode(String relPath) throws RepositoryException 300 { 301 throw new UnsupportedRepositoryOperationException(); 302 } 303 304 public boolean hasProperty(String relPath) throws RepositoryException 305 { 306 throw new UnsupportedRepositoryOperationException(); 307 } 308 309 public boolean hasProperties() throws RepositoryException 310 { 311 throw new UnsupportedRepositoryOperationException(); 312 } 313 314 public NodeType getPrimaryNodeType() throws RepositoryException 315 { 316 throw new UnsupportedRepositoryOperationException(); 317 } 318 319 public NodeType[] getMixinNodeTypes() throws RepositoryException 320 { 321 throw new UnsupportedRepositoryOperationException(); 322 } 323 324 public boolean isNodeType(String nodeTypeName) throws RepositoryException 325 { 326 throw new UnsupportedRepositoryOperationException(); 327 } 328 329 public void addMixin(String mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException 330 { 331 throw new UnsupportedRepositoryOperationException(); 332 } 333 334 public void removeMixin(String mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException 335 { 336 throw new UnsupportedRepositoryOperationException(); 337 } 338 339 public boolean canAddMixin(String mixinName) throws NoSuchNodeTypeException, RepositoryException 340 { 341 throw new UnsupportedRepositoryOperationException(); 342 } 343 344 public NodeDefinition getDefinition() throws RepositoryException 345 { 346 throw new UnsupportedRepositoryOperationException(); 347 } 348 349 public Version checkin() throws VersionException, UnsupportedRepositoryOperationException, InvalidItemStateException, LockException, RepositoryException 350 { 351 throw new UnsupportedRepositoryOperationException(); 352 } 353 354 public void checkout() throws UnsupportedRepositoryOperationException, LockException, RepositoryException 355 { 356 throw new UnsupportedRepositoryOperationException(); 357 } 358 359 public void doneMerge(Version version) throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException 360 { 361 throw new UnsupportedRepositoryOperationException(); 362 } 363 364 public void cancelMerge(Version version) throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException 365 { 366 throw new UnsupportedRepositoryOperationException(); 367 } 368 369 public void update(String srcWorkspaceName) throws NoSuchWorkspaceException, AccessDeniedException, LockException, InvalidItemStateException, RepositoryException 370 { 371 throw new UnsupportedRepositoryOperationException(); 372 } 373 374 public NodeIterator merge(String srcWorkspace, boolean bestEffort) throws NoSuchWorkspaceException, AccessDeniedException, MergeException, LockException, InvalidItemStateException, RepositoryException 375 { 376 throw new UnsupportedRepositoryOperationException(); 377 } 378 379 public String getCorrespondingNodePath(String workspaceName) throws ItemNotFoundException, NoSuchWorkspaceException, AccessDeniedException, RepositoryException 380 { 381 throw new UnsupportedRepositoryOperationException(); 382 } 383 384 public boolean isCheckedOut() throws RepositoryException 385 { 386 throw new UnsupportedRepositoryOperationException(); 387 } 388 389 public void restore(String versionName, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException 390 { 391 throw new UnsupportedRepositoryOperationException(); 392 } 393 394 public void restore(Version version, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, RepositoryException 395 { 396 throw new UnsupportedRepositoryOperationException(); 397 } 398 399 public void restore(Version version, String relPath, boolean removeExisting) throws PathNotFoundException, ItemExistsException, VersionException, ConstraintViolationException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException 400 { 401 throw new UnsupportedRepositoryOperationException(); 402 } 403 404 public void restoreByLabel(String versionLabel, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException 405 { 406 throw new UnsupportedRepositoryOperationException(); 407 } 408 409 public VersionHistory getVersionHistory() throws UnsupportedRepositoryOperationException, RepositoryException 410 { 411 throw new UnsupportedRepositoryOperationException(); 412 } 413 414 public Version getBaseVersion() throws UnsupportedRepositoryOperationException, RepositoryException 415 { 416 throw new UnsupportedRepositoryOperationException(); 417 } 418 419 public Lock lock(boolean isDeep, boolean isSessionScoped) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException 420 { 421 throw new UnsupportedRepositoryOperationException(); 422 } 423 424 public Lock getLock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException 425 { 426 throw new UnsupportedRepositoryOperationException(); 427 } 428 429 public void unlock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException 430 { 431 throw new UnsupportedRepositoryOperationException(); 432 } 433 434 public boolean holdsLock() throws RepositoryException 435 { 436 throw new UnsupportedRepositoryOperationException(); 437 } 438 439 public boolean isLocked() throws RepositoryException 440 { 441 throw new UnsupportedRepositoryOperationException(); 442 } 443 444 public String getPath() throws RepositoryException 445 { 446 throw new UnsupportedRepositoryOperationException(); 447 } 448 449 public String getName() throws RepositoryException 450 { 451 return version.getVersionLabel(); 452 } 453 454 public Item getAncestor(int depth) throws ItemNotFoundException, AccessDeniedException, RepositoryException 455 { 456 throw new UnsupportedRepositoryOperationException(); 457 } 458 459 public Node getParent() throws ItemNotFoundException, AccessDeniedException, RepositoryException 460 { 461 throw new UnsupportedRepositoryOperationException(); 462 } 463 464 public int getDepth() throws RepositoryException 465 { 466 throw new UnsupportedRepositoryOperationException(); 467 } 468 469 public Session getSession() throws RepositoryException 470 { 471 throw new UnsupportedRepositoryOperationException(); 472 } 473 474 public boolean isNode() 475 { 476 return true; 477 } 478 479 public boolean isNew() 480 { 481 return false; 482 } 483 484 public boolean isModified() 485 { 486 return false; 487 } 488 489 public boolean isSame(Item otherItem) throws RepositoryException 490 { 491 throw new UnsupportedRepositoryOperationException(); 492 } 493 494 public void accept(ItemVisitor visitor) throws RepositoryException 495 { 496 throw new UnsupportedRepositoryOperationException(); 497 } 498 499 public void save() throws AccessDeniedException, ItemExistsException, ConstraintViolationException, InvalidItemStateException, ReferentialIntegrityException, VersionException, LockException, NoSuchNodeTypeException, RepositoryException 500 { 501 throw new UnsupportedRepositoryOperationException(); 502 } 503 504 public void refresh(boolean keepChanges) throws InvalidItemStateException, RepositoryException 505 { 506 throw new UnsupportedRepositoryOperationException(); 507 } 508 509 public void remove() throws VersionException, LockException, ConstraintViolationException, RepositoryException 510 { 511 throw new UnsupportedRepositoryOperationException(); 512 } 513 514 515 } 516 | Popular Tags |