Examples of IDfSysObject


Examples of com.documentum.fc.client.IDfSysObject

        while (list.next())
          ids.add((IDfSysObject) session.getObject(new DfId(list.getString("r_object_id"))));
        list.close();
        for (Iterator<IDfSysObject> i = ids.iterator(); i.hasNext();) {
          try {
            IDfSysObject child = (IDfSysObject) i.next();
            monitor.log().debug(DctmUtils.getPath(child));
            if (unlink
                && child.getValueCount("i_folder_id") > 1) {
              child.unlink(obj.getObjectId().toString());
              child.save();
             
              if (useTransaction) {
                events.add(new String[] {"u",child.getObjectId().getId(),obj.getObjectId().getId()});
              } else {
                sources.getConnection().fireElementUnlink(obj.getObjectId().getId(),child.getObjectId().getId());
              }
             
            } else {
              delete(child);
            }
View Full Code Here

Examples of com.documentum.fc.client.IDfSysObject

 
  private int move(DctmElement target, DctmElement element, int cnt) throws CaoException {
   
    if (monitor.isCanceled()) return cnt;
    try {
      IDfSysObject src = (IDfSysObject) session.getObject(new DfId(element.getId()));
      IDfFolder trg = (IDfFolder) session.getObject(new DfId(target.getId()));
     
      monitor.log().debug("Move " + src.getObjectId() + " to " + trg.getObjectId());
     
      if (src instanceof IDfFolder) {
        do {
          String dql = "dm_folder WHERE FOLDER(ID('"+trg.getObjectId()+"')) and object_name='"+MSql.escape(src.getObjectName())+"'";
          IDfPersistentObject existing = session.getObjectByQualification(dql);
          if ( existing != null ) {
           
            // Target folder already exists - this is the short way, use the existing folder to continue
           
            monitor.log().debug("  Target folder already exists " + existing.getObjectId());
           
            int nextIndex = 1;
            String name = src.getObjectName();
            int pos = name.lastIndexOf('_');
            if (pos > 0 && MCast.toint(name.substring(pos+1),0) > 0) {
              nextIndex = MCast.toint(name.substring(pos+1),0)+1;
              name = name.substring(0,pos);
            }
            name = name + "_" + nextIndex;
           
            src.setObjectName(name);
            src.save();
            events.add(new String[] { "c", src.getObjectId().getId(), "" } );
          } else
            break;
        } while (true);
      }
     
      LinkedList<String> tmp = new LinkedList<String>();
      for ( int i = 0; i < src.getFolderIdCount(); i++) {
        String folderId = src.getFolderId(i).getId();
        tmp.add(folderId);
        events.add(new String[] { "u", src.getObjectId().getId(), folderId } );
      }
      src.link(trg.getObjectId().getId());
      events.add(new String[] { "l", src.getObjectId().getId(), trg.getObjectId().getId() } );
     
      for (String id : tmp )
        src.unlink(id);
     
      src.save();
   
      cnt++;
      monitor.worked(cnt);
     
    } catch (Exception e) {
View Full Code Here

Examples of com.documentum.fc.client.IDfSysObject

    try {
      //      String aclName   = element.getString("acl_name");
//      String aclDomain = element.getString("acl_domain");   
//      IDfACL acl = ((DctmConnection)element.getConnection()).getSession().getACL(aclDomain, aclName);

      IDfSysObject obj = (IDfSysObject)((DctmConnection)element.getConnection()).getDctmObject(element.getId());
      IDfACL acl = obj.getACL();
      switch (obj.getPermit()) {
      default:
      case 7:
        setBoolean(DELETE, true);
      case 6:
        setBoolean(WRITE, true);
      case 5:
        setBoolean(VERSION, true);
      case 4:
        setBoolean(LINK, true);
      case 3:
        setBoolean(SEARCH, true);
      case 2:
        setBoolean(READ, true);
      case 1:
      case 0:
      }
      int xper = obj.getXPermit(null);
      setBoolean(EXECUTE, true); //??
      setBoolean(LOCATION, true); //??
      setBoolean(STATE, (xper & 65536) == 65536);   // Bit 16
      setBoolean(GRANT, (xper & 131072) == 131072)// Bit 17
      setBoolean(OWNER, false);
View Full Code Here

Examples of com.documentum.fc.client.IDfSysObject

public class DctmUtils {

  public static String getPath(IDfPersistentObject obj) throws DfException {
    if (obj instanceof IDfSysObject) {

      IDfSysObject sys = (IDfSysObject) obj;

      if (sys.getFolderIdCount() == 0)
        return "/" + sys.getObjectName();
      IDfFolder folder = (IDfFolder) sys.getSession().getObject(
          sys.getFolderId(0));

      if (folder.getFolderPathCount() == 0)
        return "/" + folder.getObjectName() + "/" + sys.getObjectName();

      return folder.getFolderPath(0) + "/" + sys.getObjectName();
    } else
      return obj.getObjectId().toString();
  }
View Full Code Here

Examples of com.documentum.fc.client.IDfSysObject

 
  private int copy(DctmElement target, DctmElement element, int cnt) throws CaoException {
   
    if (monitor.isCanceled()) return cnt;
    try {
      IDfSysObject src = (IDfSysObject) session.getObject(new DfId(element.getId()));
      IDfFolder trg = (IDfFolder) session.getObject(new DfId(target.getId()));
      cnt = copy(trg,src,cnt);
    } catch (Exception e) {
      throw new CaoException("Copy " + element.getId(),e);
    }
View Full Code Here

Examples of com.documentum.fc.client.IDfSysObject

        while (res.next())
          children.add(res.getString("r_object_id"));
        res.close();
       
        for(String id : children) {
          IDfSysObject newSrc = (IDfSysObject) session.getObject(new DfId(id));
          cnt = copy((IDfFolder)existing,newSrc,cnt);
        }

        return cnt;
       
      }
    }
    LinkedList<String> tmp = new LinkedList<String>();
    for ( int i = 0; i < src.getFolderIdCount(); i++)
      tmp.add(src.getFolderId(i).getId());
   
    src.link(trg.getObjectId().getId());
   
    for (String id : tmp )
      src.unlink(id);
   
    IDfId newId = src.saveAsNew(true);
    monitor.log().debug("  Created: " + newId);
    src.revert();
    IDfPersistentObject newItem = session.getObject(newId);
    cnt++;
    monitor.worked(cnt);
   
    // fire events
    if (useTransaction) {
      events.add(new String[] {newId.getId(),trg.getObjectId().getId()});
    } else {
      target.getConnection().fireElementCreated( newId.getId() );
      target.getConnection().fireElementLink(trg.getObjectId().getId(), newId.getId());
    }
   
    if (src instanceof IDfFolder) {
      IDfFolder srcFolder = (IDfFolder)src;
      IDfFolder trgFolder = (IDfFolder)newItem;
      String dql = "select r_object_id from dm_sysobject where FOLDER(ID('"+srcFolder.getObjectId()+"'))";
      IDfCollection res = new DfQuery(dql).execute(session, IDfQuery.READ_QUERY);
      LinkedList<String> children = new LinkedList<String>();
      while (res.next())
        children.add(res.getString("r_object_id"));
      res.close();
     
      for(String id : children) {
        IDfSysObject newSrc = (IDfSysObject) session.getObject(new DfId(id));
        cnt = copy(trgFolder,newSrc,cnt);
      }
    }
   
    return cnt;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.