woproject/projects/woenvironment/src/java/org/objectstyle/woenvironment/pb PBXProject.java,1.4,1.5

[email protected] Thu, 6 Apr 2006 14:23:07 -0700 (PDT)
Newsgroups gmane.comp.web.webobjects.woproject.cvs
Message-ID <[email protected]>
Update of /cvsroot/woproject/woproject/projects/woenvironment/src/java/org/objectstyle/woenvironment/pb
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9166/projects/woenvironment/src/java/org/objectstyle/woenvironment/pb

Modified Files:
	PBXProject.java 
Log Message:
fix for http://objectstyle.org/jira/browse/WOL-226

Patched by  Bod Schwarzmann


Index: PBXProject.java
===================================================================
RCS file: /cvsroot/woproject/woproject/projects/woenvironment/src/java/org/objectstyle/woenvironment/pb/PBXProject.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- PBXProject.java	25 Mar 2006 01:14:19 -0000	1.4
+++ PBXProject.java	6 Apr 2006 21:22:35 -0000	1.5
@@ -79,14 +79,22 @@
 		_sourceRefs.add( path );
 	}
 	
-	public void addFileReference( String path ) {
-		_fileRefs.add( path );
+	public void addResourceFileReference( String path ) {
+		_resourceFileRefs.add( path );
 	}
 	
-	public void addFolderReference( String path ) {
-		_folderRefs.add( path );
+	public void addResourceFolderReference( String path ) {
+		_resourceFolderRefs.add( path );
 	}
 	
+	public void addWSResourceFileReference( String path ) {
+		_wsresourceFileRefs.add( path );
+	}
+	
+	public void addWSResourceFolderReference( String path ) {
+		_wsresourceFolderRefs.add( path );
+	}
+        
 	public void addFrameworkReference( String path ) {
 		_frameworkRefs.add( path );
 	}
@@ -110,11 +118,13 @@
 	    
 	    ArrayList sourceBuildFileIDs = new ArrayList();
 	    ArrayList resourceBuildFileIDs = new ArrayList();
-	    ArrayList frameworkBuildFileIDs = new ArrayList();
+            ArrayList wsresourceBuildFileIDs = new ArrayList();
+            ArrayList frameworkBuildFileIDs = new ArrayList();
 	    
 	    ArrayList sourceFileIDs = new ArrayList();
 	    ArrayList resourceFileIDs = new ArrayList();
-	    ArrayList frameworkFileIDs = new ArrayList();
+            ArrayList wsresourceFileIDs = new ArrayList();
+            ArrayList frameworkFileIDs = new ArrayList();
 	    
 	    //	Walk refs, creating the appropriate reference type and an associated
 	    //  build file for each and adding it to the objects table and group children list.
@@ -134,7 +144,8 @@
 			sourceBuildFileIDs.add(objectsTable.insert(newBuildFile(refID)));
 		}
 
-		it = _fileRefs.iterator();
+                
+		it = _resourceFileRefs.iterator();
 		while( it.hasNext() ) {
 		    path = (String) it.next();
 		    if(path.indexOf(projectPath) == 0) {
@@ -147,7 +158,7 @@
 			resourceBuildFileIDs.add(objectsTable.insert(newBuildFile(refID)));
 		}
 
-		it = _folderRefs.iterator();
+		it = _resourceFolderRefs.iterator();
 		while( it.hasNext() ) {
 		    path = (String) it.next();
 		    if(path.indexOf(projectPath) == 0) {
@@ -160,6 +171,34 @@
 			resourceBuildFileIDs.add(objectsTable.insert(newBuildFile(refID)));
 		}
 
+                
+		it = _wsresourceFileRefs.iterator();
+		while( it.hasNext() ) {
+		    path = (String) it.next();
+		    if(path.indexOf(projectPath) == 0) {
+		        path = path.substring(projectPath.length()+1);
+		    }
+		    File file = new File(path);
+		    Map reference = newFileReference(file.getName(), path);
+			ObjectsTable.ID refID = objectsTable.insert(reference);
+			wsresourceFileIDs.add(refID);
+			wsresourceBuildFileIDs.add(objectsTable.insert(newBuildFile(refID)));
+		}
+
+		it = _wsresourceFolderRefs.iterator();
+		while( it.hasNext() ) {
+		    path = (String) it.next();
+		    if(path.indexOf(projectPath) == 0) {
+		        path = path.substring(projectPath.length()+1);
+		    }
+		    File file = new File(path);
+		    Map reference = newFolderReference(file.getName(), path);
+			ObjectsTable.ID refID = objectsTable.insert(reference);
+			wsresourceFileIDs.add(refID);
+			wsresourceBuildFileIDs.add(objectsTable.insert(newBuildFile(refID)));
+		}
+
+                
 		it = _frameworkRefs.iterator();
 		while( it.hasNext() ) {
 			path = (String) it.next();
@@ -170,9 +209,10 @@
 		}
 		
 		ArrayList childrenIDs = new ArrayList();
-	    childrenIDs.add(objectsTable.insert(newGroup( "Sources", sourceFileIDs)));
+                childrenIDs.add(objectsTable.insert(newGroup( "Sources", sourceFileIDs)));
 		childrenIDs.add(objectsTable.insert(newGroup( "Resources", resourceFileIDs)));
-		childrenIDs.add(objectsTable.insert(newGroup( "Frameworks", frameworkFileIDs)));
+                childrenIDs.add(objectsTable.insert(newGroup( "WebServerResources", wsresourceFileIDs)));
+                childrenIDs.add(objectsTable.insert(newGroup( "Frameworks", frameworkFileIDs)));
 		
 		//	Create the PBXGroup and add it to the objects table.
 		ObjectsTable.ID mainGroupID = objectsTable.insert( newGroup( "Root", childrenIDs) );
@@ -182,7 +222,8 @@
 		if (hasBuildPhases()) {
 			buildPhaseIDs.add( objectsTable.insert( newSourcesBuildPhase( sourceBuildFileIDs)));
 			buildPhaseIDs.add( objectsTable.insert( newResourcesBuildPhase( resourceBuildFileIDs)));
-			buildPhaseIDs.add( objectsTable.insert( newFrameworkBuildPhase( frameworkBuildFileIDs)));
+                        buildPhaseIDs.add( objectsTable.insert( newWSResourcesBuildPhase( wsresourceBuildFileIDs)));
+                        buildPhaseIDs.add( objectsTable.insert( newFrameworkBuildPhase( frameworkBuildFileIDs)));
 		}
 		
 		//	Create the PBXToolTarget and add it to the objects table and
@@ -202,8 +243,10 @@
 	//---------------------------------------------------------------
 	//	Implementation stuff.
 	
-	protected ArrayList _folderRefs = new ArrayList();
-	protected ArrayList _fileRefs = new ArrayList();
+	protected ArrayList _resourceFolderRefs = new ArrayList();
+	protected ArrayList _resourceFileRefs = new ArrayList();
+	protected ArrayList _wsresourceFolderRefs = new ArrayList();
+	protected ArrayList _wsresourceFileRefs = new ArrayList();
 	protected ArrayList _frameworkRefs = new ArrayList();
 	protected ArrayList _sourceRefs = new ArrayList();
 	
@@ -257,6 +300,12 @@
 			"files",	buildFileIDs });
 	}
 
+	protected Map newWSResourcesBuildPhase( List buildFileIDs ) {
+		return map( new Object[] {
+			"isa",		"PBXResourcesBuildPhase",
+			"files",	buildFileIDs });
+	}
+        
 	protected Map newSourcesBuildPhase( List buildFileIDs ) {
 		return map( new Object[] {
 			"isa",		"PBXSourcesBuildPhase",



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642