[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model ...

Marshall Culpepper mculpepper at jboss.com
Thu Feb 15 17:45:50 EST 2007


  User: mculpepper
  Date: 07/02/15 17:45:50

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model 
                        PackagesCore.java
  Log:
  javadoc'd getTopLevelPackage, and added getTopLevelPackages (returns all packages that refer to a certain node)
  
  Revision  Changes    Path
  1.13      +36 -0     jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/PackagesCore.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PackagesCore.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/PackagesCore.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -b -r1.12 -r1.13
  --- PackagesCore.java	9 Feb 2007 19:05:17 -0000	1.12
  +++ PackagesCore.java	15 Feb 2007 22:45:50 -0000	1.13
  @@ -207,6 +207,13 @@
   		return null;
   	}
   	
  +	/**
  +	 * Returns the top-level IPackage this node is under.
  +	 * Note that if this node is under a package that is being referenced elsewhere, you will need to
  +	 * use getTopLevelPackages() to retrieve all packages.
  +	 * @param node The node who's top-level package to retrieve
  +	 * @return
  +	 */
   	public static IPackage getTopLevelPackage (IPackageNode node)
   	{
   		IPackageNode tmp = node.getParent(), top = tmp;
  @@ -222,6 +229,35 @@
   	}
   	
   	/**
  +	 * Returns all top-level IPackages that this node is under (either explicitly, or through package reference)
  +	 * @param node
  +	 * @return
  +	 */
  +	public static IPackage[] getTopLevelPackages (IPackageNode node)
  +	{
  +		ArrayList packages = new ArrayList();
  +		packages.add(getTopLevelPackage(node));
  +		
  +		IPackageNode tmp = node.getParent(), top = tmp;
  +		while (tmp != null)
  +		{
  +			top = tmp;
  +			if (top.getNodeType() == IPackageNode.TYPE_PACKAGE)
  +			{
  +				IPackage pkg = (IPackage) top;
  +				IPackageReference refs[] = pkg.getReferences();
  +				for (int i = 0; i < refs.length; i++)
  +				{
  +					packages.add(getTopLevelPackage(refs[i]));
  +				}
  +			}
  +			tmp = tmp.getParent();
  +		}
  +		
  +		return (IPackage[]) packages.toArray(new IPackage[packages.size()]);
  +	}
  +	
  +	/**
   	 * This will return an IPackageType instance for the passed-in packageType ID.
   	 * @param packageType The ID of the package type
   	 * @return A package type
  
  
  



More information about the jboss-cvs-commits mailing list