- Timestamp:
- 03/14/10 09:12:55 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Jav_Wsp/src/com/scenari/m/bdp/item/fs/WspSrcNodeItem.java
r14497 r15098 393 393 try { 394 394 vSubCopyMove.moveFrom(pFrom); 395 String vIdTarget = SrcFeatureIds.getSrcId(getSubSrcNode());396 if (vIdTarget == null || !vIdFrom.equals(vIdTarget)) {397 //L'Id n'a pas suivi, on renomme les items pointeurs...398 xRenamePointers(pFrom.getSrcUri(), vIdFrom);399 }400 395 } finally { 401 396 //On force un revalidation de l'item source et target. 397 //FIXME sauf si listener auto sur subSrc 402 398 xValidateItem(pFrom); 403 399 xValidateItem(this); 400 } 401 String vIdTarget = SrcFeatureIds.getSrcId(getSubSrcNode()); 402 if (vIdTarget == null || !vIdFrom.equals(vIdTarget)) { 403 //L'Id n'a pas suivi, on renomme les items pointeurs... 404 xRenamePointers(pFrom.getSrcUri(), vIdFrom); 405 } else { 406 //On ne fait qu'un refresh pour réévaluer les refUri 407 xRefreshPointers(pFrom.getSrcUri()); 404 408 } 405 409 } else { … … 428 432 protected void xValidateItem(ISrcNode pFrom) { 429 433 try { 430 IHItemDef vItemDefFrom = pFrom.getAspect(IWspSrc.ITEMDEF_ASPECT_TYPE); 431 if (vItemDefFrom != null) { 432 InputStream vIn = pFrom.newInputStream(false); 433 HStreamHandler vStreamHandler = vIn != null ? new HStreamHandler(vIn) : null; 434 try { 435 IHItemType vItemType = HTreatIdentif.findItemType(vItemDefFrom.hGetWorkspace(), pFrom.getSrcUri(), null, vStreamHandler); 436 IUser vUser = ThreadUser.getUser(); 437 int vClientId = ContextBdp.getThreadClientInt(); 438 vItemType.hGetModuleSave().hValidateItem(vItemDefFrom, vStreamHandler, vUser != null ? vUser.getAccount() : null, vClientId, null); 439 } finally { 440 if (vStreamHandler != null) vStreamHandler.hCloseAndPurgeCache(); 434 if (pFrom.getContentStatus() <= ISrcContent.STATUS_NONE) { 435 IHWorkspace vWspFrom = pFrom.getAspect(IWspSrc.WORKSPACE_ASPECT_TYPE); 436 if (vWspFrom != null) { 437 vWspFrom.refreshUri(pFrom.getSrcUri()); 438 } 439 } else { 440 IHItemDef vItemDefFrom = pFrom.getAspect(IWspSrc.ITEMDEF_ASPECT_TYPE); 441 if (vItemDefFrom != null) { 442 InputStream vIn = pFrom.newInputStream(false); 443 HStreamHandler vStreamHandler = vIn != null ? new HStreamHandler(vIn) : null; 444 try { 445 IHItemType vItemType = HTreatIdentif.findItemType(vItemDefFrom.hGetWorkspace(), pFrom.getSrcUri(), null, vStreamHandler); 446 IUser vUser = ThreadUser.getUser(); 447 int vClientId = ContextBdp.getThreadClientInt(); 448 vItemType.hGetModuleSave().hValidateItem(vItemDefFrom, vStreamHandler, vUser != null ? vUser.getAccount() : null, vClientId, null); 449 } finally { 450 if (vStreamHandler != null) vStreamHandler.hCloseAndPurgeCache(); 451 } 441 452 } 442 453 } … … 485 496 } 486 497 498 /** 499 * Revalide les items pointeurs de cet item suite à un renommage. 500 */ 501 protected void xRefreshPointers(String pUriFrom) throws Exception { 502 //On transforme les items pointeurs sur pFrom 503 ISearchRequestEditable vReq = SrcFeatureSearch.newRequest(); 504 vReq.setMainExpression(new LinkParents().setStartPath(pUriFrom)); 505 Iterator<ISearchResultRow> vIt = SrcFeatureSearch.execute(vReq, getWorkspace().findNodeByUri(URI_ROOT)); 506 while (vIt.hasNext()) { 507 XItemCache vItemCache = fItemCacheData.getItemCache().getWsp().xGetOrCreateItemCache(vIt.next().getRowUri(), false); 508 vItemCache.xUnlinkChilds(); 509 vItemCache.xLinkChilds(); 510 } 511 } 512 487 513 public void fillFields(IFieldsCollector pFieldsToCollect) throws Exception { 488 514 //Fields du subSource.
Note: See TracChangeset
for help on using the changeset viewer.