[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal ...
Marshall Culpepper
mculpepper at jboss.com
Wed Dec 20 14:56:40 EST 2006
User: mculpepper
Date: 06/12/20 14:56:40
Modified: core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal
PackagesModel.java PackageNodeImpl.java
PackageBuildDelegate.java PackageFolderImpl.java
PackageImpl.java PackageFileSetImpl.java
Log:
got rid of the working copies idea, and eliminated the model bridge as it was making things too complicated. package nodes now keep references to their parents and children, (just like delegates). there shouldn't be any need for synch as addChild/removeChild take care of all the details there. the way to create a package node that isn't attached to the model yet is:
pkg = PackagesCore.createDetachedPackage(project, true);
pkg.setXXX..
PackagesCore.attach(pkg, monitor);
Revision Changes Path
1.11 +102 -119 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackagesModel.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackagesModel.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackagesModel.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- PackagesModel.java 8 Dec 2006 16:45:50 -0000 1.10
+++ PackagesModel.java 20 Dec 2006 19:56:40 -0000 1.11
@@ -64,7 +64,6 @@
public static final String PROJECT_PACKAGES_FILE = ".packages";
- private Hashtable modelBridge;
private Hashtable projectPackages;
private Hashtable packageTypes;
private Hashtable xbPackages;
@@ -74,7 +73,6 @@
private PackagesModel ()
{
- modelBridge = new Hashtable();
projectPackages = new Hashtable();
xbPackages = new Hashtable();
packageTypes = new Hashtable();
@@ -150,10 +148,6 @@
if (getProjectPackages(pkg.getProject()).contains(pkg))
getProjectPackages(pkg.getProject()).remove(pkg);
}
- if (modelBridge.containsKey(pkg))
- {
- modelBridge.remove(pkg);
- }
if (xbPackages.containsKey(pkg.getProject()))
{
PackageImpl packageImpl = (PackageImpl) pkg;
@@ -162,8 +156,8 @@
packages.removeChild(packageImpl.getNodeDelegate());
}
- saveModel(pkg.getProject());
- fireNodeRemoved(pkg, true);
+ saveModel(pkg.getProject(), null);
+ fireNodeRemoved(pkg);
}
public XbPackages getXbPackages(IProject project)
@@ -264,59 +258,33 @@
}
}
- protected void saveAndRegister (PackageNodeImpl node)
- {
- if (node.getNodeType() == IPackageNode.TYPE_PACKAGE)
- {
- PackageImpl pkg = (PackageImpl) node;
- if (pkg.isTopLevel())
- {
- XbPackages packages = getXbPackages(node.getProject());
- if (packages == null) {
- packages = new XbPackages();
- xbPackages.put(node.getProject(), packages);
- }
-
- if (packages.getChildren(XbPackage.class) == null || !packages.getChildren(XbPackage.class).contains(node.getNodeDelegate()))
- {
- packages.addChild(node.getNodeDelegate());
- }
- }
- }
-
- if (!isPackageNodeRegistered(node)) {
- registerPackageNode(node, node.getNodeDelegate());
- }
-
- saveModel(node.getProject());
- }
-
protected void clearModel (IProject project)
{
List packages = getProjectPackages(project);
for (Iterator iter = packages.iterator(); iter.hasNext(); )
{
PackageImpl pkg = (PackageImpl) iter.next();
- unregisterPackageNode(pkg, pkg.getNodeDelegate());
+ unregisterPackage(pkg);
}
}
- protected void saveModel (IProject project)
+ protected void saveModel (IProject project, IProgressMonitor monitor)
{
try {
- IProgressMonitor nullMonitor = new NullProgressMonitor();
+ if (monitor == null)
+ monitor = new NullProgressMonitor();
ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(bytesOut);
- XMLBinding.marshal(PackagesModel.instance().getXbPackages(project), writer, nullMonitor);
+ XMLBinding.marshal(PackagesModel.instance().getXbPackages(project), writer, monitor);
writer.close();
ByteArrayInputStream bytesIn = new ByteArrayInputStream(bytesOut.toByteArray());
IFile packagesFile = project.getFile(PackagesModel.PROJECT_PACKAGES_FILE);
if (!packagesFile.exists())
- packagesFile.create(bytesIn, true, nullMonitor);
+ packagesFile.create(bytesIn, true, monitor);
else
- packagesFile.setContents(bytesIn, true, true, nullMonitor);
+ packagesFile.setContents(bytesIn, true, true, monitor);
bytesIn.close();
bytesOut.close();
@@ -332,8 +300,6 @@
// TODO Auto-generated catch block
e.printStackTrace();
}
-
-
}
protected PackageNodeImpl createPackageNodeImpl (IProject project, XbPackageNode node)
@@ -362,14 +328,17 @@
{
XbPackageNode child = (XbPackageNode) iter.next();
- // we don't need to do anything with child node impl's as they will
- // be retrieved via lookup from the node delegates
- createPackageNodeImpl(project, child);
- }
+ PackageNodeImpl childImpl = createPackageNodeImpl(project, child);
if (nodeImpl != null)
{
- registerPackageNode(nodeImpl, node);
+ nodeImpl.addChildImpl(childImpl);
+ }
+ }
+
+ if (nodeImpl != null && nodeImpl.getNodeType() == IPackageNode.TYPE_PACKAGE)
+ {
+ registerPackage((PackageImpl)nodeImpl);
}
return nodeImpl;
@@ -409,8 +378,8 @@
});
}
- protected void fireNodeRemoved (final IPackageNode removed, boolean force) {
- fireEvent(removed, force, new Runnable() {
+ protected void fireNodeRemoved (final IPackageNode removed) {
+ fireEvent(removed, new Runnable() {
public void run() {
for (Iterator iter = modelListeners.iterator(); iter.hasNext(); )
{
@@ -420,9 +389,6 @@
}
});
}
- protected void fireNodeRemoved (final IPackageNode removed) {
- fireNodeRemoved(removed, false);
- }
protected void fireNodeChanged (final IPackageNode changed)
{
@@ -437,39 +403,29 @@
});
}
- protected void fireEvent (IPackageNode source, boolean force, Runnable runnable) {
- if (!force && !modelBridge.containsKey(source)) //not registered in the model, no event should be broadcast
- return;
-
- if (projectBeingRegistered != null && source.getProject().equals(projectBeingRegistered))
- return;
-
- PackageNodeImpl nodeImpl = (PackageNodeImpl) source;
- if (!nodeImpl.isWorkingCopy())
+ protected void fireNodeAttached (final IPackageNode attached)
{
- runnable.run();
+ fireEvent(attached, new Runnable() {
+ public void run ()
+ {
+ for (Iterator iter = modelListeners.iterator(); iter.hasNext(); )
+ {
+ IPackagesModelListener listener = (IPackagesModelListener) iter.next();
+ listener.packageNodeAttached(attached);
}
}
-
- protected void fireEvent (IPackageNode source, Runnable runnable)
- {
- fireEvent(source, false, runnable);
+ });
}
- public boolean isPackageNodeRegistered (IPackageNode node)
- {
- return modelBridge.containsKey(node);
- }
+ protected void fireEvent (IPackageNode source, Runnable runnable) {
+ if (projectBeingRegistered != null && source.getProject().equals(projectBeingRegistered))
+ return;
- protected void registerPackageNode(PackageNodeImpl nodeImpl, XbPackageNode node)
- {
- if (!modelBridge.containsKey(nodeImpl))
- {
- modelBridge.put(nodeImpl, node);
+ runnable.run();
+ }
- if (nodeImpl.getNodeType() == IPackageNode.TYPE_PACKAGE)
+ protected void registerPackage (PackageImpl pkg)
{
- PackageImpl pkg = (PackageImpl) nodeImpl;
if (pkg.isTopLevel() && pkg.shouldParentBeNull()) {
if (!projectPackages.containsKey(pkg.getProject()))
{
@@ -477,20 +433,24 @@
}
getProjectPackages(pkg.getProject()).add(pkg);
}
- }
- fireNodeAdded(nodeImpl);
- }
+ if (pkg.isTopLevel())
+ {
+ XbPackages packages = getXbPackages(pkg.getProject());
+ if (packages == null) {
+ packages = new XbPackages();
+ xbPackages.put(pkg.getProject(), packages);
}
- protected void unregisterPackageNode(PackageNodeImpl nodeImpl, XbPackageNode node) {
- if (modelBridge.containsKey(nodeImpl))
+ if (packages.getChildren(XbPackage.class) == null || !packages.getChildren(XbPackage.class).contains(pkg.getNodeDelegate()))
{
- modelBridge.remove(nodeImpl);
+ packages.addChild(pkg.getNodeDelegate());
+ }
+ }
+ }
- if (nodeImpl.getNodeType() == IPackageNode.TYPE_PACKAGE)
+ protected void unregisterPackage (PackageImpl pkg)
{
- IPackage pkg = (IPackage) nodeImpl;
if (pkg.isTopLevel()) {
if (projectPackages.containsKey(pkg.getProject()))
{
@@ -503,30 +463,53 @@
}
}
- fireNodeRemoved(nodeImpl);
- }
+ public IPackageType getPackageType (String packageType)
+ {
+ return (IPackageType) packageTypes.get(packageType);
}
- protected PackageNodeImpl getPackageNodeImpl(XbPackageNode node)
- {
- for (Iterator iter = modelBridge.keySet().iterator(); iter.hasNext(); )
+ public IPackage createDetachedPackage (IProject project, boolean isTopLevel)
{
- PackageNodeImpl nodeImpl = (PackageNodeImpl)iter.next();
- if (modelBridge.get(nodeImpl).equals(node))
- {
- return nodeImpl;
- }
+ IPackage pkg = createPackage(project, isTopLevel);
+ PackageImpl pkgImpl = (PackageImpl) pkg;
+
+ pkgImpl.setDetached(true);
+ return pkgImpl;
}
- return null;
+
+ public IPackageFolder createDetachedFolder (IProject project)
+ {
+ IPackageFolder folder = createPackageFolder(project);
+ PackageFolderImpl folderImpl = (PackageFolderImpl) folder;
+
+ folderImpl.setDetached(true);
+ return folderImpl;
}
- protected XbPackageNode getPackageNode(PackageNodeImpl nodeImpl)
+ public IPackageFileSet createDetachedFileSet (IProject project)
{
- return (XbPackageNode) modelBridge.get(nodeImpl);
+ IPackageFileSet fileset = createPackageFileSet(project);
+ PackageFileSetImpl filesetImpl = (PackageFileSetImpl) fileset;
+
+ filesetImpl.setDetached(true);
+ return filesetImpl;
}
- public IPackageType getPackageType(String packageType)
+ public void attach (IPackageNode nodeToAttach, IProgressMonitor monitor)
{
- return (IPackageType) packageTypes.get(packageType);
+ PackageNodeImpl node = (PackageNodeImpl) nodeToAttach;
+
+ if (node.isDetached())
+ {
+ node.setDetached(false);
+
+ fireNodeAttached(node);
+ if (node.getNodeType() == IPackageNode.TYPE_PACKAGE)
+ {
+ registerPackage((PackageImpl) node);
+ }
+
+ saveModel(node.getProject(), monitor);
+ }
}
}
1.4 +66 -43 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageNodeImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackageNodeImpl.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageNodeImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- PackageNodeImpl.java 6 Dec 2006 17:02:56 -0000 1.3
+++ PackageNodeImpl.java 20 Dec 2006 19:56:40 -0000 1.4
@@ -29,21 +29,21 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.Assert;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeBase;
import org.jboss.ide.eclipse.packages.core.model.IPackageNodeVisitor;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbFileSet;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbFolder;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackage;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackageNode;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackageNodeWithProperties;
+import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackages;
-public abstract class PackageNodeImpl implements IPackageNode, IPackageNodeWorkingCopy {
+public abstract class PackageNodeImpl implements IPackageNode {
protected XbPackageNodeWithProperties nodeDelegate;
protected IProject project;
- protected ArrayList childrenToRegister, childrenToUnregister;
- protected boolean hasWorkingCopy;
+ protected IPackageNode parent;
+ protected ArrayList children;
+ protected boolean detached, hasWorkingCopy;
protected static int nodeTypeToIntType (Class type)
{
@@ -70,9 +70,10 @@
{
nodeDelegate = delegate;
this.project = project;
- childrenToRegister = new ArrayList();
- childrenToUnregister = new ArrayList();
hasWorkingCopy = false;
+ detached = false;
+
+ children = new ArrayList();
}
public PackageNodeImpl ()
@@ -85,46 +86,51 @@
return nodeDelegate;
}
- private IPackageNode[] nodesToChildren (List nodes)
- {
- IPackageNode children[] = new IPackageNode[nodes.size()];
- int i = 0;
-
- for (Iterator iter = nodes.iterator(); iter.hasNext();)
+ public IPackageNode[] getAllChildren ()
{
- XbPackageNode node = (XbPackageNode) iter.next();
- children[i] = PackagesModel.instance().getPackageNodeImpl(node);
- i++;
+ return (IPackageNode[]) children.toArray(new IPackageNode[children.size()]);
}
- return children;
- }
-
- public IPackageNodeBase[] getAllChildren ()
+ public IPackageNode[] getChildren(int type) {
+ ArrayList typedChildren = new ArrayList();
+ for (Iterator iter = children.iterator(); iter.hasNext(); )
+ {
+ IPackageNode child = (IPackageNode) iter.next();
+ if (child.getNodeType() == type)
{
- return nodesToChildren(nodeDelegate.getAllChildren());
+ typedChildren.add(child);
+ }
}
- public IPackageNodeBase[] getChildren(int type) {
- return nodesToChildren(nodeDelegate.getChildren(intTypeToNodeType(type)));
+ return (IPackageNode[]) typedChildren.toArray(new IPackageNode[typedChildren.size()]);
}
public boolean hasChildren () {
return nodeDelegate.hasChildren();
}
- public boolean hasChild (IPackageNodeBase child)
+ public boolean hasChild (IPackageNode child)
{
PackageNodeImpl childImpl = (PackageNodeImpl)child;
return nodeDelegate.getAllChildren().contains(childImpl.nodeDelegate);
}
- public IPackageNodeBase getParent() {
- XbPackageNode parent = nodeDelegate.getParent();
- if (parent != null)
- return PackagesModel.instance().getPackageNodeImpl(parent);
+ public IPackageNode getParent() {
+ return parent;
+ }
- return null;
+ public void setParent (IPackageNode parent)
+ {
+ if (parent != null)
+ {
+ this.parent = parent;
+ nodeDelegate.setParent(((PackageNodeImpl)parent).getNodeDelegate());
+ }
+ else if (getNodeType() == TYPE_PACKAGE) {
+ this.parent = null;
+ XbPackages packages = PackagesModel.instance().getXbPackages(getProject());
+ nodeDelegate.setParent(packages);
+ }
}
public IProject getProject() {
@@ -148,7 +154,7 @@
}
public boolean accept(IPackageNodeVisitor visitor, boolean depthFirst) {
- IPackageNodeBase children[] = getAllChildren();
+ IPackageNode children[] = getAllChildren();
boolean keepGoing = true;
if (!depthFirst)
@@ -177,9 +183,21 @@
nodeDelegate.addChild(impl.nodeDelegate);
- PackagesModel.instance().saveModel(node.getProject());
+ addChildImpl(impl);
+
+ if (!detached)
+ {
+ PackagesModel.instance().saveModel(node.getProject(), null);
PackagesModel.instance().fireNodeAdded(node);
}
+ }
+
+ // convenience so we can skip adding in the delegate
+ protected void addChildImpl (PackageNodeImpl childImpl)
+ {
+ children.add(childImpl);
+ childImpl.setParent(this);
+ }
public void removeChild(IPackageNode node) {
Assert.isNotNull(node);
@@ -190,9 +208,15 @@
nodeDelegate.removeChild(impl.nodeDelegate);
}
- PackagesModel.instance().saveModel(node.getProject());
+ if (children.contains(node))
+ children.remove(node);
+
+ if (!detached)
+ {
+ PackagesModel.instance().saveModel(node.getProject(), null);
PackagesModel.instance().fireNodeRemoved(node);
}
+ }
public Object getAdapter(Class adapter) {
if (adapter.equals(IProject.class))
@@ -202,12 +226,11 @@
else return null;
}
- public boolean isWorkingCopy ()
- {
- return getOriginal() != null;
+ public boolean isDetached() {
+ return detached;
}
- protected void finalize() throws Throwable {
- if (getOriginal() != null) ((PackageNodeImpl)getOriginal()).hasWorkingCopy = false;
+ public void setDetached(boolean detached) {
+ this.detached = detached;
}
}
1.7 +7 -3 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageBuildDelegate.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackageBuildDelegate.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageBuildDelegate.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- PackageBuildDelegate.java 6 Dec 2006 17:02:56 -0000 1.6
+++ PackageBuildDelegate.java 20 Dec 2006 19:56:40 -0000 1.7
@@ -50,7 +50,6 @@
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
import org.jboss.ide.eclipse.packages.core.model.IPackageFolder;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeBase;
import org.jboss.ide.eclipse.packages.core.model.IPackageNodeVisitor;
import org.jboss.ide.eclipse.packages.core.model.IPackagesBuildListener;
import org.jboss.ide.eclipse.packages.core.model.IPackagesModelListener;
@@ -104,6 +103,11 @@
nodesToRemove.add(removed);
}
+ public void packageNodeAttached(IPackageNode attached) {
+ // TODO Auto-generated method stub
+
+ }
+
private void fireStartedBuild (IProject project)
{
for (Iterator iter = PackagesModel.instance().getBuildListeners().iterator(); iter.hasNext(); )
@@ -457,7 +461,7 @@
{
// Is this right?? Is the parent guarenteed to be a package?
for( int i = 0; i < filesets.length; i++ ) {
- IPackageNodeBase n = filesets[i].getParent();
+ IPackageNode n = filesets[i].getParent();
if( n instanceof IPackage )
packagesBeingChanged.add(n);
}
@@ -482,7 +486,7 @@
{
ArrayList parents = new ArrayList();
- IPackageNodeBase parent = fileset.getParent();
+ IPackageNode parent = fileset.getParent();
while (parent != null)
{
parents.add(0, parent);
1.4 +6 -48 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageFolderImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackageFolderImpl.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageFolderImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- PackageFolderImpl.java 6 Dec 2006 17:02:56 -0000 1.3
+++ PackageFolderImpl.java 20 Dec 2006 19:56:40 -0000 1.4
@@ -27,23 +27,19 @@
import org.jboss.ide.eclipse.packages.core.model.IPackage;
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
import org.jboss.ide.eclipse.packages.core.model.IPackageFolder;
-import org.jboss.ide.eclipse.packages.core.model.IPackageFolderWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeBase;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbFolder;
/**
* A PackageFolderImpl.
*
* @author <a href="marshall at jboss.org">Marshall Culpepper</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class PackageFolderImpl extends PackageNodeImpl implements
- IPackageFolder, IPackageFolderWorkingCopy {
+ IPackageFolder {
private XbFolder folderDelegate;
- private PackageFolderImpl original;
public PackageFolderImpl(IProject project, XbFolder delegate)
{
@@ -57,20 +53,20 @@
}
public IPackageFileSet[] getFileSets() {
- IPackageNodeBase nodes[] = getChildren(TYPE_PACKAGE_FILESET);
+ IPackageNode nodes[] = getChildren(TYPE_PACKAGE_FILESET);
IPackageFileSet filesets[] = new IPackageFileSet[nodes.length];
System.arraycopy(nodes, 0, filesets, 0, nodes.length);
return filesets;
}
public IPackageFolder[] getFolders() {
- IPackageNodeBase nodes[] = getChildren(TYPE_PACKAGE_FOLDER);
+ IPackageNode nodes[] = getChildren(TYPE_PACKAGE_FOLDER);
IPackageFolder folders[] = new IPackageFolder[nodes.length];
System.arraycopy(nodes, 0, folders, 0, nodes.length);
return folders;
}
public IPackage[] getPackages() {
- IPackageNodeBase nodes[] = getChildren(TYPE_PACKAGE);
+ IPackageNode nodes[] = getChildren(TYPE_PACKAGE);
IPackage pkgs[] = new IPackage[nodes.length];
System.arraycopy(nodes, 0, pkgs, 0, nodes.length);
return pkgs;
@@ -96,48 +92,10 @@
folderDelegate.setName(name);
}
- public IPackageNodeWorkingCopy createWorkingCopy() {
- return createFolderWorkingCopy();
- }
-
- public IPackageFolderWorkingCopy createFolderWorkingCopy() {
- PackageFolderImpl copy = new PackageFolderImpl(project, new XbFolder(folderDelegate));
- copy.original = this;
- hasWorkingCopy = true;
-
- return copy;
- }
-
- public boolean hasWorkingCopy() {
- return hasWorkingCopy;
- }
-
- public IPackageNode save() {
- return saveFolder();
- }
-
- public IPackageFolder saveFolder() {
- PackageFolderImpl originalImpl = (PackageFolderImpl) original;
- originalImpl.getFolderDelegate().copyFrom(folderDelegate);
-
- PackagesModel.instance().saveAndRegister(original);
- PackagesModel.instance().fireNodeChanged(original);
- original.hasWorkingCopy = false;
- return original;
- }
-
- public IPackageNode getOriginal() {
- return getOriginalFolder();
- }
-
- public IPackageFolder getOriginalFolder() {
- return original;
- }
-
public IPath getPackageRelativePath() {
String path = new String(getName());
- IPackageNodeBase parent = getParent(), save = null;
+ IPackageNode parent = getParent(), save = null;
while (true) {
if (parent.getNodeType() == IPackageNode.TYPE_PACKAGE)
path = ((IPackage)parent).getName() + "/" + path;
1.7 +6 -47 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackageImpl.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageImpl.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- PackageImpl.java 6 Dec 2006 20:17:55 -0000 1.6
+++ PackageImpl.java 20 Dec 2006 19:56:40 -0000 1.7
@@ -35,9 +35,6 @@
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
import org.jboss.ide.eclipse.packages.core.model.IPackageFolder;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeBase;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeWorkingCopy;
-import org.jboss.ide.eclipse.packages.core.model.IPackageWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackage;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackages;
import org.jboss.ide.eclipse.packages.core.model.types.IPackageType;
@@ -46,12 +43,11 @@
* A Package.
*
* @author <a href="marshall at jboss.org">Marshall Culpepper</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
-public class PackageImpl extends PackageNodeImpl implements IPackage, IPackageWorkingCopy {
+public class PackageImpl extends PackageNodeImpl implements IPackage {
private XbPackage packageDelegate;
- private PackageImpl original;
private boolean parentShouldBeNull;
public PackageImpl(IProject project, XbPackage delegate)
@@ -90,14 +86,14 @@
}
public IPackageFileSet[] getFileSets() {
- IPackageNodeBase nodes[] = getChildren(TYPE_PACKAGE_FILESET);
+ IPackageNode nodes[] = getChildren(TYPE_PACKAGE_FILESET);
IPackageFileSet filesets[] = new IPackageFileSet[nodes.length];
System.arraycopy(nodes, 0, filesets, 0, nodes.length);
return filesets;
}
public IPackageFolder[] getFolders() {
- IPackageNodeBase nodes[] = getChildren(TYPE_PACKAGE_FOLDER);
+ IPackageNode nodes[] = getChildren(TYPE_PACKAGE_FOLDER);
IPackageFolder folders[] = new IPackageFolder[nodes.length];
System.arraycopy(nodes, 0, folders, 0, nodes.length);
return folders;
@@ -108,7 +104,7 @@
}
public IPackage[] getPackages() {
- IPackageNodeBase nodes[] = getChildren(TYPE_PACKAGE);
+ IPackageNode nodes[] = getChildren(TYPE_PACKAGE);
IPackage pkgs[] = new IPackage[nodes.length];
System.arraycopy(nodes, 0, pkgs, 0, nodes.length);
return pkgs;
@@ -163,35 +159,6 @@
return packageDelegate.getManifest() != null;
}
- public IPackageNodeWorkingCopy createWorkingCopy() {
- return createPackageWorkingCopy();
- }
-
- public IPackageWorkingCopy createPackageWorkingCopy() {
- PackageImpl copy = new PackageImpl(project, new XbPackage(packageDelegate));
- copy.original = this;
- hasWorkingCopy = true;
- return copy;
- }
-
- public boolean hasWorkingCopy() {
- return hasWorkingCopy;
- }
-
- public IPackageNode save() {
- return savePackage();
- }
-
- public IPackage savePackage() {
- PackageImpl originalImpl = (PackageImpl) original;
- originalImpl.getPackageDelegate().copyFrom(packageDelegate);
-
- PackagesModel.instance().saveAndRegister(original);
- PackagesModel.instance().fireNodeChanged(original);
- original.hasWorkingCopy = false;
- return original;
- }
-
public void addFileSet(IPackageFileSet fileset) {
addChild(fileset);
}
@@ -233,20 +200,12 @@
packageDelegate.setPackageType(type.getId());
}
- public IPackageNode getOriginal() {
- return getOriginalPackage();
- }
-
- public IPackage getOriginalPackage() {
- return original;
- }
-
public IPath getPackageRelativePath() {
if (getParent() == null) return null;
String path = new String(getName());
- IPackageNodeBase parent = getParent(), save = null;
+ IPackageNode parent = getParent(), save = null;
while (true) {
if (parent.getNodeType() == IPackageNode.TYPE_PACKAGE)
path = ((IPackage)parent).getName() + "/" + path;
1.3 +2 -43 jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageFileSetImpl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackageFileSetImpl.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageFileSetImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- PackageFileSetImpl.java 8 Nov 2006 19:54:41 -0000 1.2
+++ PackageFileSetImpl.java 20 Dec 2006 19:56:40 -0000 1.3
@@ -30,9 +30,6 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
-import org.jboss.ide.eclipse.packages.core.model.IPackageFileSetWorkingCopy;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
-import org.jboss.ide.eclipse.packages.core.model.IPackageNodeWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbFileSet;
@@ -40,13 +37,12 @@
* A PackageFileSetImpl.
*
* @author <a href="marshall at jboss.org">Marshall Culpepper</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class PackageFileSetImpl extends PackageNodeImpl implements
- IPackageFileSet, IPackageFileSetWorkingCopy {
+ IPackageFileSet {
private XbFileSet filesetDelegate;
- private PackageFileSetImpl original;
public PackageFileSetImpl (IProject project, XbFileSet delegate)
{
@@ -269,43 +265,6 @@
filesetDelegate.setProject(project.getName());
}
- public IPackageNodeWorkingCopy createWorkingCopy() {
- return createFileSetWorkingCopy();
- }
-
- public IPackageFileSetWorkingCopy createFileSetWorkingCopy() {
- PackageFileSetImpl copy = new PackageFileSetImpl(project, new XbFileSet(filesetDelegate));
- copy.original = this;
- hasWorkingCopy = true;
- return copy;
- }
-
- public boolean hasWorkingCopy() {
- return hasWorkingCopy;
- }
-
- public IPackageNode save() {
- return saveFileSet();
- }
-
- public IPackageFileSet saveFileSet() {
- PackageFileSetImpl originalImpl = (PackageFileSetImpl) original;
- originalImpl.getFileSetDelegate().copyFrom(filesetDelegate);
-
- PackagesModel.instance().saveAndRegister(original);
- PackagesModel.instance().fireNodeChanged(original);
- original.hasWorkingCopy = false;
- return original;
- }
-
- public IPackageNode getOriginal() {
- return getOriginalFileSet();
- }
-
- public IPackageFileSet getOriginalFileSet() {
- return original;
- }
-
protected XbFileSet getFileSetDelegate () {
return filesetDelegate;
}
More information about the jboss-cvs-commits
mailing list