Wednesday 18 January 2012

Get all objects from a Project


If you want to get all objects for a given project , the below job will help .

static void listAllObjectosFromProject(Args _args)
{

  ProjName        projName = "Your Project Name";

  ProjectListNode   list = infolog.projectRootNode().AOTfindChild("Shared");

  TreeNodeIterator  ir = list.AOTiterator();
  ProjectNode      pnProj;
  ProjectNode      pn = list.AOTfindChild(projName);

  void searchAllObj(projectNode rootNode)
  {
    #TreeNodeSysNodeType

    TreeNode          childNode;
    TreeNodeIterator      rootNodeIterator;
    ;

    if (rootNode)
    {
      rootNodeIterator = rootNode.AOTiterator();
      childNode = rootNodeIterator.next();
      while (childnode)
      {

        if (childNode.AOTgetNodeType() == #NT_PROJECT_GROUP)
         searchAllObj(childNode);

        else
          info(strfmt("Group :%1 - Object: %2", rootNode.AOTname(), childNode.AOTname()));

        childNode = rootNodeIterator.next();
      }
    }
  }
  ;

  if (pn)
  {
    info(strFmt("Project %1:", projName));
    pnProj = pn.loadForInspection();
    searchAllObj(pnProj);
    pnproj.treeNodeRelease();
  }
  else
    info("Projet objects");
}

3 comments:

  1. if (childNode.treeNodeType().id() == #NT_PROJECT_GROUP)

    searchAllObj(childNode);

    ReplyDelete
  2. I faced error for above that code when i modified from this code it has been worked fine

    ReplyDelete