Author: rob.stryker(a)jboss.com
Date: 2008-03-11 16:58:09 -0400 (Tue, 11 Mar 2008)
New Revision: 6880
Added:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveAction.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelRootNode.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveActionImpl.java
Removed:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelNode.java
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ant/IsolatedTruezipExecution.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchiveBuildDelegate.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ModelChangeListener.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchiveNodeFactory.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchivesModel.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/EventManager.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchive.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModel.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNode.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNodeDelta.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveDeltaPreNodeFactory.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveImpl.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveModelNode.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveNodeImpl.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/ModelUtil.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/ModelTruezipBridge.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProvider.java
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesView.java
trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/model/ModelCreationTest.java
Log:
Archives API Refactor. Renamed IArchiveModelNode to IArchiveModelRootNode (and some
methods accordingly). Continued to implement IArchiveAction and it's implementations
and move forward on unit tests.
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -41,7 +41,7 @@
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveModel;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeVisitor;
import org.jboss.ide.eclipse.archives.core.util.internal.TrueZipUtil;
@@ -92,7 +92,7 @@
*/
protected void clean(IProgressMonitor monitor) throws CoreException {
IPath p = getProject().getLocation();
- IArchiveModelNode root = ArchivesModel.instance().getRoot(p);
+ IArchiveModelRootNode root = ArchivesModel.instance().getRoot(p);
if(root!=null) {
IArchiveNode[] nodes = root.getChildren(IArchiveNode.TYPE_ARCHIVE);
for( int i = 0; i < nodes.length; i++ ) {
@@ -150,7 +150,7 @@
final IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
final int count = workspaceRoot.getLocation().segmentCount();
- IArchiveModelNode root = ArchivesModel.instance().getRoot(getProject().getLocation());
+ IArchiveModelRootNode root =
ArchivesModel.instance().getRoot(getProject().getLocation());
if(root!=null) {
root.accept(new IArchiveNodeVisitor () {
public boolean visit (IArchiveNode node) {
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ant/IsolatedTruezipExecution.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ant/IsolatedTruezipExecution.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/ant/IsolatedTruezipExecution.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -13,7 +13,7 @@
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveBuildListener;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeVisitor;
@@ -65,7 +65,7 @@
}
}
- IArchiveModelNode node = ArchivesModel.instance().getRoot(path);
+ IArchiveModelRootNode node = ArchivesModel.instance().getRoot(path);
final ArrayList<String> requiredProjects = new ArrayList<String>();
node.accept(new IArchiveNodeVisitor() {
public boolean visit(IArchiveNode node) {
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchiveBuildDelegate.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchiveBuildDelegate.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchiveBuildDelegate.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -31,7 +31,7 @@
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.util.ModelUtil;
import org.jboss.ide.eclipse.archives.core.util.internal.ModelTruezipBridge;
@@ -60,7 +60,7 @@
EventManager.cleanProjectBuild(project);
EventManager.startedBuild(project);
- IArchiveModelNode root = ArchivesModel.instance().getRoot(project);
+ IArchiveModelRootNode root = ArchivesModel.instance().getRoot(project);
if( root == null ) return;
IArchiveNode[] nodes = root.getChildren(IArchiveNode.TYPE_ARCHIVE);
for( int i = 0; i < nodes.length; i++ ) {
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ModelChangeListener.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ModelChangeListener.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ModelChangeListener.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -28,7 +28,7 @@
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
import org.jboss.ide.eclipse.archives.core.model.IArchiveModelListener;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
import org.jboss.ide.eclipse.archives.core.model.IArchivesLogger;
@@ -162,8 +162,8 @@
private void nodeAdded(IArchiveNode added) {
if( added == null ) return;
- if( added.getNodeType() == IArchiveNode.TYPE_MODEL) {
- IArchiveNode[] archives =
((IArchiveModelNode)added).getChildren(IArchiveNode.TYPE_ARCHIVE);
+ if( added.getNodeType() == IArchiveNode.TYPE_MODEL_ROOT) {
+ IArchiveNode[] archives =
((IArchiveModelRootNode)added).getChildren(IArchiveNode.TYPE_ARCHIVE);
for( int i = 0; i < archives.length; i++ ) {
nodeAdded(archives[i]);
}
@@ -186,7 +186,7 @@
private void nodeRemoved(IArchiveNode removed) {
if( removed == null ) return;
- if( removed.getNodeType() == IArchiveNode.TYPE_MODEL ) {
+ if( removed.getNodeType() == IArchiveNode.TYPE_MODEL_ROOT ) {
// remove all top level items
IArchiveNode[] kids = removed.getChildren(IArchiveNode.TYPE_ARCHIVE);
for( int i = 0; i < kids.length; i++ ) {
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchiveNodeFactory.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchiveNodeFactory.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchiveNodeFactory.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -21,6 +21,7 @@
*/
package org.jboss.ide.eclipse.archives.core.model;
+import org.jboss.ide.eclipse.archives.core.model.internal.ArchiveActionImpl;
import org.jboss.ide.eclipse.archives.core.model.internal.ArchiveFileSetImpl;
import org.jboss.ide.eclipse.archives.core.model.internal.ArchiveFolderImpl;
import org.jboss.ide.eclipse.archives.core.model.internal.ArchiveImpl;
@@ -42,4 +43,8 @@
public static IArchiveFolder createFolder() {
return new ArchiveFolderImpl();
}
+
+ public static IArchiveAction createAction() {
+ return new ArchiveActionImpl();
+ }
}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchivesModel.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchivesModel.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/ArchivesModel.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -118,9 +118,9 @@
* (non-Javadoc)
* @see org.jboss.ide.eclipse.archives.core.model.IArchiveModel#getModelNodes()
*/
- public IArchiveModelNode[] getModelNodes() {
+ public IArchiveModelRootNode[] getModelNodes() {
Collection<ArchiveModelNode> c = archivesRoot.values();
- return (IArchiveModelNode[]) c.toArray(new IArchiveModelNode[c.size()]);
+ return (IArchiveModelRootNode[]) c.toArray(new IArchiveModelRootNode[c.size()]);
}
/*
@@ -128,7 +128,7 @@
* @see
org.jboss.ide.eclipse.archives.core.model.IArchiveModel#accept(org.jboss.ide.eclipse.archives.core.model.IArchiveNodeVisitor)
*/
public boolean accept(IArchiveNodeVisitor visitor) {
- IArchiveModelNode[] children = getModelNodes();
+ IArchiveModelRootNode[] children = getModelNodes();
boolean keepGoing = true;
if (keepGoing)
for (int i = 0; i < children.length; i++)
@@ -138,7 +138,7 @@
}
- public IArchiveModelNode getRoot(IPath project) {
+ public IArchiveModelRootNode getRoot(IPath project) {
return (archivesRoot.get(project));
}
@@ -148,7 +148,7 @@
}
@Deprecated
- public void save(IArchiveModelNode modelNode, IProgressMonitor monitor) throws
ArchivesModelException {
+ public void save(IArchiveModelRootNode modelNode, IProgressMonitor monitor) throws
ArchivesModelException {
modelNode.save(monitor);
}
@@ -156,11 +156,11 @@
return archivesRoot.containsKey(projectPath);
}
- public IArchiveModelNode registerProject(IPath projectPath, IProgressMonitor monitor)
throws ArchivesModelException {
+ public IArchiveModelRootNode registerProject(IPath projectPath, IProgressMonitor
monitor) throws ArchivesModelException {
return registerProject(projectPath, DEFAULT_PACKAGES_FILE, monitor);
}
- public IArchiveModelNode registerProject(IPath projectPath, String file,
IProgressMonitor monitor) throws ArchivesModelException {
+ public IArchiveModelRootNode registerProject(IPath projectPath, String file,
IProgressMonitor monitor) throws ArchivesModelException {
XbPackages packages;
ArchiveModelNode modelNode;
@@ -186,35 +186,36 @@
return modelNode;
}
- public void registerProject(IArchiveModelNode model, IProgressMonitor monitor) {
+ public void registerProject(IArchiveModelRootNode model, IProgressMonitor monitor) {
ArchivesCore.getInstance().preRegisterProject(model.getProjectPath());
xbPackages.put(model.getProjectPath(), ((ArchiveModelNode)model).getXbPackages());
archivesRoot.put(model.getProjectPath(), (ArchiveModelNode)model);
+ model.setModel(this);
fireRegisterProjectEvent((ArchiveModelNode)model);
}
public void unregisterProject(IPath projectPath, IProgressMonitor monitor) {
- IArchiveModelNode root = getRoot(projectPath);
+ IArchiveModelRootNode root = getRoot(projectPath);
xbPackages.remove(projectPath);
archivesRoot.remove(projectPath);
fireUnregisterProjectEvent(root);
}
- public void unregisterProject(IArchiveModelNode model, IProgressMonitor monitor) {
+ public void unregisterProject(IArchiveModelRootNode model, IProgressMonitor monitor) {
xbPackages.remove(model.getProjectPath());
archivesRoot.remove(model.getProjectPath());
fireUnregisterProjectEvent((ArchiveModelNode)model);
}
- protected void fireRegisterProjectEvent(final IArchiveModelNode newRoot) {
+ protected void fireRegisterProjectEvent(final IArchiveModelRootNode newRoot) {
fireRegistrationEvent(null, newRoot, IArchiveNodeDelta.NODE_REGISTERED);
}
- protected void fireUnregisterProjectEvent(final IArchiveModelNode oldRoot) {
+ protected void fireUnregisterProjectEvent(final IArchiveModelRootNode oldRoot) {
fireRegistrationEvent(oldRoot, null, IArchiveNodeDelta.NODE_UNREGISTERED);
}
- protected void fireRegistrationEvent(final IArchiveModelNode oldRoot, final
IArchiveModelNode newRoot, final int type) {
+ protected void fireRegistrationEvent(final IArchiveModelRootNode oldRoot, final
IArchiveModelRootNode newRoot, final int type) {
IArchiveNodeDelta delta = new IArchiveNodeDelta() {
public IArchiveNodeDelta[] getAddedChildrenDeltas() {return null;}
public IArchiveNodeDelta[] getAllAffectedChildren() {return null;}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/EventManager.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/EventManager.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/EventManager.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -176,7 +176,7 @@
private static IArchiveModelListener[] getModelListeners(IArchiveNode node) {
- IArchiveModelNode model = node.getModelNode();
+ IArchiveModelRootNode model = node.getModelRootNode();
if( model != null && model.getModel() != null ) {
return model.getModel().getModelListeners();
}
@@ -188,7 +188,7 @@
return ArchivesModel.instance().getBuildListeners();
}
private static IArchiveBuildListener[] getBuildListeners(IArchiveNode node) {
- IArchiveModelNode model = node.getModelNode();
+ IArchiveModelRootNode model = node.getModelRootNode();
if( model != null && model.getModel() != null ) {
return model.getModel().getBuildListeners();
}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchive.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchive.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchive.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -120,4 +120,14 @@
* Set's whether the destination is workspace relative or not
*/
public void setInWorkspace(boolean inWorkspace);
+
+ /**
+ * Top level archives should return a list of actions which
+ * must be done before or after building this archive
+ * @return
+ */
+ public IArchiveAction[] getActions();
+ public IArchiveAction[] getPreActions();
+ public IArchiveAction[] getPostActions();
+
}
Added:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveAction.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveAction.java
(rev 0)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveAction.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -0,0 +1,74 @@
+/**
+ * JBoss, a Division of Red Hat
+ * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+* This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.archives.core.model;
+
+/**
+ * @author rob.stryker <rob.stryker(a)redhat.com>
+ *
+ */
+public interface IArchiveAction extends IArchiveNode {
+
+ public static final String ATTRIBUTE_PREFIX =
"org.jboss.ide.eclipse.archives.core.model.IArchiveAction.";
+ public static final String ACTION_TYPE_ATTRIBUTE = ATTRIBUTE_PREFIX + "type";
+ public static final String ACTION_TIME_ATTRIBUTE = ATTRIBUTE_PREFIX + "time";
+
+
+ /**
+ * A constant to indicate the action is to run before
+ * the build
+ */
+ public static final String PRE_BUILD = "preBuild";
+
+ /**
+ * A constant to indicate the action is to run after the build
+ */
+ public static final String POST_BUILD = "postBuild";
+ /**
+ * Get whether this should be executed
+ * before or after building the parent archive.
+ * @return
+ */
+ public String getTime();
+
+ /**
+ * Set whether this should be executed
+ * before or after building the parent archive.
+ * @return
+ */
+ public void setTime(String time);
+
+ /**
+ * Get the type of action this is.
+ * These are to be provided via an extension point
+ * or ant task to be discovered in ArchivesCore.
+ * @return
+ */
+ public String getType();
+
+ /**
+ * Set the type of action this is.
+ * These are to be provided via an extension point
+ * or ant task to be discovered in ArchivesCore.
+ * @return
+ */
+ public void setType(String type);
+}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModel.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModel.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModel.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -37,14 +37,14 @@
public boolean isProjectRegistered(IPath projectPath);
public void save(IPath projectPath, IProgressMonitor monitor) throws
ArchivesModelException;
- public void save(IArchiveModelNode modelNode, IProgressMonitor monitor) throws
ArchivesModelException;
- public IArchiveModelNode registerProject(IPath projectPath, IProgressMonitor monitor)
throws ArchivesModelException;
- public IArchiveModelNode registerProject(IPath projectPath, String file,
IProgressMonitor monitor) throws ArchivesModelException;
- public void registerProject(IArchiveModelNode modelNode, IProgressMonitor monitor);
+ public void save(IArchiveModelRootNode modelNode, IProgressMonitor monitor) throws
ArchivesModelException;
+ public IArchiveModelRootNode registerProject(IPath projectPath, IProgressMonitor
monitor) throws ArchivesModelException;
+ public IArchiveModelRootNode registerProject(IPath projectPath, String file,
IProgressMonitor monitor) throws ArchivesModelException;
+ public void registerProject(IArchiveModelRootNode modelNode, IProgressMonitor monitor);
public void unregisterProject(IPath projectPath, IProgressMonitor monitor);
- public void unregisterProject(IArchiveModelNode modelNode, IProgressMonitor monitor);
- public IArchiveModelNode getRoot(IPath project);
- public IArchiveModelNode[] getModelNodes();
+ public void unregisterProject(IArchiveModelRootNode modelNode, IProgressMonitor
monitor);
+ public IArchiveModelRootNode getRoot(IPath project);
+ public IArchiveModelRootNode[] getModelNodes();
public boolean accept(IArchiveNodeVisitor visitor);
public void addBuildListener(IArchiveBuildListener listener);
Deleted:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelNode.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelNode.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelNode.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -1,37 +0,0 @@
-/*
- * JBoss, a division of Red Hat
- * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.ide.eclipse.archives.core.model;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
-
-
-/**
- * An interface for methods relevent to a model's root node.
- * Only a label interface thus far
- * @author <a href="rob.stryker(a)redhat.com">Rob Stryker</a>
- *
- */
-public interface IArchiveModelNode extends IArchiveNode {
- public IArchiveModel getModel();
- public void save(IProgressMonitor monitor) throws ArchivesModelException;
-}
Copied:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelRootNode.java
(from rev 6878,
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelNode.java)
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelRootNode.java
(rev 0)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveModelRootNode.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.archives.core.model;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
+
+
+/**
+ * An interface for methods relevent to a model's root node.
+ * Only a label interface thus far
+ * @author <a href="rob.stryker(a)redhat.com">Rob Stryker</a>
+ *
+ */
+public interface IArchiveModelRootNode extends IArchiveNode {
+ public void setModel(IArchiveModel model);
+ public IArchiveModel getModel();
+ public void save(IProgressMonitor monitor) throws ArchivesModelException;
+}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNode.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNode.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNode.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -36,29 +36,35 @@
/**
* The node type that represents the model
*/
- public static final int TYPE_MODEL = -1;
+ public static final int TYPE_MODEL_ROOT = -1;
/**
- * The node type that represents an IPackage
+ * The node type that represents an IArchive
*/
public static final int TYPE_ARCHIVE = 0;
/**
- * The node type that represents an IPackageReference
+ * The node type that represents an IArchiveReference
*/
public static final int TYPE_ARCHIVE_REFERENCE = 1;
/**
- * The node type that represents an IPackageFileSet
+ * The node type that represents an IArchiveFileSet
*/
public static final int TYPE_ARCHIVE_FILESET = 2;
/**
- * The node type that represents an IPackageFolder
+ * The node type that represents an IActionFolder
*/
public static final int TYPE_ARCHIVE_FOLDER = 3;
/**
+ * The node type that represents an IArchiveAction
+ */
+ public static final int TYPE_ARCHIVE_ACTION = 4;
+
+
+ /**
* @return The parent of this package node, or null if this node is top level
*/
public IArchiveNode getParent();
@@ -150,10 +156,11 @@
* Get the model this node is attached to, or null if none
* @return
*/
- public IArchiveModelNode getModelNode();
+ public IArchiveModelRootNode getModelRootNode();
/**
- * Get the path relative to the root archive
+ * Get the path relative to the root archive,
+ * or null if not applicable.
* @return
*/
public IPath getRootArchiveRelativePath();
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNodeDelta.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNodeDelta.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/IArchiveNodeDelta.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -115,7 +115,7 @@
public IArchiveNode getPostNode();
/**
- * Return the affected node before changes, or null if the node is an {@link
IArchiveModelNode}
+ * Return the affected node before changes, or null if the node is an {@link
IArchiveModelRootNode}
* @return
*/
public IArchiveNode getPreNode();
Added:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveActionImpl.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveActionImpl.java
(rev 0)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveActionImpl.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -0,0 +1,89 @@
+/**
+ * JBoss, a Division of Red Hat
+ * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+* This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.archives.core.model.internal;
+
+import org.eclipse.core.runtime.IPath;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveAction;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbAction;
+
+/**
+ * @author rob.stryker <rob.stryker(a)redhat.com>
+ *
+ */
+public class ArchiveActionImpl extends ArchiveNodeImpl implements IArchiveAction {
+
+ private XbAction actionDelegate;
+
+ public ArchiveActionImpl() {
+ this(new XbAction());
+ }
+ public ArchiveActionImpl(XbAction delegate) {
+ super(delegate);
+ this.actionDelegate = delegate;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.ide.eclipse.archives.core.model.IArchiveNode#getNodeType()
+ */
+ public int getNodeType() {
+ return IArchiveNode.TYPE_ARCHIVE_ACTION;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.jboss.ide.eclipse.archives.core.model.IArchiveNode#getRootArchiveRelativePath()
+ */
+ public IPath getRootArchiveRelativePath() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.ide.eclipse.archives.core.model.IArchiveAction#getTime()
+ */
+ public String getTime() {
+ return actionDelegate.getTime();
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.ide.eclipse.archives.core.model.IArchiveAction#getType()
+ */
+ public String getType() {
+ return actionDelegate.getType();
+ }
+
+ /* (non-Javadoc)
+ * @see
org.jboss.ide.eclipse.archives.core.model.IArchiveAction#setTime(java.lang.String)
+ */
+ public void setTime(String time) {
+ attributeChanged(ACTION_TIME_ATTRIBUTE, getTime(), time);
+ actionDelegate.setType(time);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.jboss.ide.eclipse.archives.core.model.IArchiveAction#getType(java.lang.String)
+ */
+ public void setType(String type) {
+ attributeChanged(ACTION_TYPE_ATTRIBUTE, getType(), type);
+ actionDelegate.setType(type);
+ }
+
+}
\ No newline at end of file
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveDeltaPreNodeFactory.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveDeltaPreNodeFactory.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveDeltaPreNodeFactory.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -28,7 +28,7 @@
import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import
org.jboss.ide.eclipse.archives.core.model.internal.ArchiveNodeDeltaImpl.NodeDelta;
import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFileSet;
@@ -166,8 +166,8 @@
public IPath getProjectPath() {
return impl.getProjectPath();
}
- public IArchiveModelNode getModelNode() {
- return impl.getModelNode();
+ public IArchiveModelRootNode getModelRootNode() {
+ return impl.getModelRootNode();
}
}
@@ -188,8 +188,8 @@
public IPath getProjectPath() {
return impl.getProjectPath();
}
- public IArchiveModelNode getModelNode() {
- return impl.getModelNode();
+ public IArchiveModelRootNode getModelRootNode() {
+ return impl.getModelRootNode();
}
}
@@ -210,8 +210,8 @@
public IPath getProjectPath() {
return impl.getProjectPath();
}
- public IArchiveModelNode getModelNode() {
- return impl.getModelNode();
+ public IArchiveModelRootNode getModelRootNode() {
+ return impl.getModelRootNode();
}
}
}
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveImpl.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveImpl.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveImpl.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -25,6 +25,7 @@
import org.eclipse.core.runtime.Path;
import org.jboss.ide.eclipse.archives.core.ArchivesCore;
import org.jboss.ide.eclipse.archives.core.model.IArchive;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveAction;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
@@ -117,6 +118,33 @@
System.arraycopy(nodes, 0, pkgs, 0, nodes.length);
return pkgs;
}
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.ide.eclipse.archives.core.model.IArchive#getActions()
+ */
+ public IArchiveAction[] getActions() {
+ IArchiveNode nodes[] = getChildren(TYPE_ARCHIVE_ACTION);
+ IArchiveAction actions[] = new IArchiveAction[nodes.length];
+ System.arraycopy(nodes, 0, actions, 0, nodes.length);
+ return actions;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.ide.eclipse.archives.core.model.IArchive#getPreActions()
+ */
+ public IArchiveAction[] getPreActions() {
+ return new IArchiveAction[0]; // TODO
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.ide.eclipse.archives.core.model.IArchive#getPostActions()
+ */
+ public IArchiveAction[] getPostActions() {
+ return new IArchiveAction[0]; // TODO
+ }
/*
* @see IArchive#getName()
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveModelNode.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveModelNode.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveModelNode.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -25,29 +25,42 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.jboss.ide.eclipse.archives.core.model.ArchivesModelException;
import org.jboss.ide.eclipse.archives.core.model.EventManager;
-import org.jboss.ide.eclipse.archives.core.model.IArchive;
import org.jboss.ide.eclipse.archives.core.model.IArchiveModel;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding;
import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackages;
import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
-public class ArchiveModelNode extends ArchiveNodeImpl implements IArchiveModelNode {
+/**
+ *
+ * @author rob.stryker <rob.stryker(a)redhat.com>
+ *
+ */
+public class ArchiveModelNode extends ArchiveNodeImpl implements IArchiveModelRootNode {
private IPath project;
private IPath descriptor;
private IArchiveModel model;
+ public ArchiveModelNode(IPath project, XbPackages node) {
+ this(project, null, node);
+ }
+
+ public ArchiveModelNode(IPath project, IPath descriptor, XbPackages node) {
+ this(project, descriptor, node, null);
+ }
+
public ArchiveModelNode(IPath project, XbPackages node, IArchiveModel model) {
- this(project, project.append(IArchiveModel.DEFAULT_PACKAGES_FILE), node, model);
+ this(project, null, node, model);
}
public ArchiveModelNode(IPath project, IPath descriptor,
XbPackages node, IArchiveModel model) {
super(node);
this.project = project;
- this.descriptor = descriptor;
+ this.descriptor = descriptor != null ? descriptor :
+ project.append(IArchiveModel.DEFAULT_PACKAGES_FILE);
this.model = model;
}
@@ -89,7 +102,7 @@
* @see org.jboss.ide.eclipse.archives.core.model.IArchiveNode#getNodeType()
*/
public int getNodeType() {
- return IArchiveNode.TYPE_MODEL;
+ return IArchiveNode.TYPE_MODEL_ROOT;
}
/*
@@ -123,6 +136,10 @@
public void setParent(IArchiveNode parent) {
}
+ public void setModel(IArchiveModel model) {
+ this.model = model;
+ }
+
/**
* I have no relative path. I'm above the root archive
* @see
org.jboss.ide.eclipse.archives.core.model.IArchiveNode#getRootArchiveRelativePath()
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveNodeImpl.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveNodeImpl.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/ArchiveNodeImpl.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -30,7 +30,7 @@
import org.eclipse.core.runtime.IPath;
import org.jboss.ide.eclipse.archives.core.model.ArchivesModelException;
import org.jboss.ide.eclipse.archives.core.model.IArchive;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeVisitor;
@@ -81,9 +81,9 @@
* (non-Javadoc)
* @see org.jboss.ide.eclipse.archives.core.model.IArchiveNode#getModel()
*/
- public IArchiveModelNode getModelNode() {
+ public IArchiveModelRootNode getModelRootNode() {
Object root = getRoot();
- return root instanceof IArchiveModelNode ? (IArchiveModelNode)root : null;
+ return root instanceof IArchiveModelRootNode ? (IArchiveModelRootNode)root : null;
}
/*
@@ -171,10 +171,8 @@
* @see org.jboss.ide.eclipse.archives.core.model.IArchiveNode#getProject()
*/
public IPath getProjectPath() {
- IArchiveNode root = getRoot();
- if( root.getNodeType() != IArchiveNode.TYPE_MODEL)
- return null;
- return root.getProjectPath();
+ IArchiveModelRootNode root = getModelRootNode();
+ return root == null ? null : root.getProjectPath();
}
/*
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/ModelUtil.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/ModelUtil.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/ModelUtil.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -35,7 +35,7 @@
import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
import org.jboss.ide.eclipse.archives.core.model.IArchiveModel;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeVisitor;
import org.jboss.ide.eclipse.archives.core.model.IArchivesLogger;
@@ -226,7 +226,7 @@
return projectPath.append(workspacePath.removeFirstSegments(1));
}
- public static void fillArchiveModel( XbPackages node, IArchiveModelNode modelNode)
throws ArchivesModelException {
+ public static void fillArchiveModel( XbPackages node, IArchiveModelRootNode modelNode)
throws ArchivesModelException {
for (Iterator iter = node.getAllChildren().iterator(); iter.hasNext(); ) {
XbPackageNode child = (XbPackageNode) iter.next();
ArchiveNodeImpl childImpl = (ArchiveNodeImpl)createPackageNodeImpl(child, modelNode);
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/ModelTruezipBridge.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/ModelTruezipBridge.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/ModelTruezipBridge.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -225,7 +225,7 @@
private static File getFile(IArchiveNode node) {
if( node == null ) return null;
- if( node.getNodeType() == IArchiveNode.TYPE_MODEL ) return null;
+ if( node.getNodeType() == IArchiveNode.TYPE_MODEL_ROOT ) return null;
if( node.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FILESET)
return getFile(node.getParent());
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProvider.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProvider.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProvider.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -5,7 +5,7 @@
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.jboss.ide.eclipse.archives.core.model.ArchivesModel;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.util.ModelUtil;
import org.jboss.ide.eclipse.archives.ui.PrefsInitializer;
@@ -37,19 +37,19 @@
if( parentElement instanceof Object[] ) return (Object[])parentElement;
- if( parentElement instanceof IArchiveModelNode && showProjectRoot()) {
+ if( parentElement instanceof IArchiveModelRootNode && showProjectRoot()) {
IProject[] projects;
if( PrefsInitializer.getBoolean(PrefsInitializer.PREF_SHOW_ALL_PROJECTS)) {
projects = ProjectArchivesView.getInstance().getAllProjectsWithPackages();
} else {
- String projName = ((IArchiveModelNode)parentElement).getProjectPath().lastSegment();
+ String projName =
((IArchiveModelRootNode)parentElement).getProjectPath().lastSegment();
projects = new IProject[] {
ResourcesPlugin.getWorkspace().getRoot().getProject(projName) };
}
return wrapProjects(projects);
}
- if( parentElement instanceof IArchiveModelNode)
- return ((IArchiveModelNode)parentElement).getAllChildren();
+ if( parentElement instanceof IArchiveModelRootNode)
+ return ((IArchiveModelRootNode)parentElement).getAllChildren();
if( parentElement instanceof ArchivesModel ) {
// return all that's there
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesView.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesView.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesView.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -40,7 +40,7 @@
import org.jboss.ide.eclipse.archives.core.model.ArchivesModelCore;
import org.jboss.ide.eclipse.archives.core.model.ArchivesModelException;
import org.jboss.ide.eclipse.archives.core.model.IArchiveModelListener;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModelNode;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModelRootNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
import org.jboss.ide.eclipse.archives.ui.ArchivesUIMessages;
@@ -222,7 +222,7 @@
return;
}
- IArchiveModelNode node = (IArchiveModelNode) packageViewer.getInput();
+ IArchiveModelRootNode node = (IArchiveModelRootNode) packageViewer.getInput();
if (node != null)
{
IPath projectPath = node.getProjectPath();
@@ -319,10 +319,10 @@
getSite().getShell().getDisplay().asyncExec(new Runnable () {
public void run () {
for( int i = 0; i < topChanges.length; i++ ) {
- if( topChanges.length == 1 && topChanges[0] instanceof IArchiveModelNode) {
+ if( topChanges.length == 1 && topChanges[0] instanceof
IArchiveModelRootNode) {
// we have a changed IArchiveModelNode. Something's different
- IArchiveModelNode inputModel = (IArchiveModelNode) packageViewer.getInput();
- IArchiveModelNode newModel = (IArchiveModelNode)topChanges[0];
+ IArchiveModelRootNode inputModel = (IArchiveModelRootNode)
packageViewer.getInput();
+ IArchiveModelRootNode newModel = (IArchiveModelRootNode)topChanges[0];
if( inputModel == null ||
(inputModel.getProjectPath().equals(newModel.getProjectPath()) && inputModel !=
newModel)) {
// they have the same path but are different objects.
// Model was probably reloaded from disk and could be completely different
Modified:
trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/model/ModelCreationTest.java
===================================================================
---
trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/model/ModelCreationTest.java 2008-03-11
19:57:33 UTC (rev 6879)
+++
trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/model/ModelCreationTest.java 2008-03-11
20:58:09 UTC (rev 6880)
@@ -29,10 +29,11 @@
import org.jboss.ide.eclipse.archives.core.model.ArchiveNodeFactory;
import org.jboss.ide.eclipse.archives.core.model.ArchivesModel;
import org.jboss.ide.eclipse.archives.core.model.ArchivesModelException;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveBuildListener;
+import org.jboss.ide.eclipse.archives.core.model.IArchive;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
import org.jboss.ide.eclipse.archives.core.model.IArchiveFolder;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModel;
import org.jboss.ide.eclipse.archives.core.model.IArchiveModelListener;
-import org.jboss.ide.eclipse.archives.core.model.IArchiveModel;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
import org.jboss.ide.eclipse.archives.core.model.internal.ArchiveModelNode;
@@ -52,19 +53,19 @@
}
public void testSimpleCreation() {
- createModel();
+ createModelNode();
}
public void testAddToModel() {
- ArchiveModelNode model = createModel();
- ArchivesModel.instance().registerProject(model, new NullProgressMonitor());
- assertEquals(model, ArchivesModel.instance().getRoot(project));
+ ArchiveModelNode modelNode = createModelNode();
+ modelNode.getModel().registerProject(modelNode, new NullProgressMonitor());
+ assertEquals(modelNode,modelNode.getModel().getRoot(project));
assertNotSame(null, modelListener.getDelta());
assertEquals(IArchiveNodeDelta.NODE_REGISTERED, modelListener.getDelta().getKind());
- ArchivesModel.instance().unregisterProject(model, new NullProgressMonitor());
+ modelNode.getModel().registerProject(modelNode, new NullProgressMonitor());
}
- protected ArchiveModelNode createModel() {
+ protected ArchiveModelNode createModelNode() {
try {
XbPackages packs = new XbPackages();
XbPackage pack = new XbPackage();
@@ -72,7 +73,7 @@
ArchiveModelNode model = getModel(packs);
ModelUtil.fillArchiveModel(packs, model);
assertEquals(project, model.getProjectPath());
- assertEquals(IArchiveNode.TYPE_MODEL, model.getNodeType());
+ assertEquals(IArchiveNode.TYPE_MODEL_ROOT, model.getNodeType());
assertEquals(null, model.getParent());
assertEquals(packs, model.getNodeDelegate());
assertTrue(model.hasChildren());
@@ -86,20 +87,64 @@
return null;
}
- public void testDeltas() {
+ public void testAddFolderToModel() {
try {
- ArchiveModelNode model = createModel();
- model.clearDelta();
+ ArchiveModelNode modelNode = createModelNode();
IArchiveFolder folder = ArchiveNodeFactory.createFolder();
folder.setName("testFolder");
- model.addChild(folder);
- IArchiveNodeDelta delta = model.getDelta();
- assertEquals(IArchiveNodeDelta.CHILD_ADDED, delta.getKind());
+ modelNode.addChild(folder);
} catch( ArchivesModelException ame ) {
- fail(ame.getMessage());
+ return;
}
+ fail();
}
+ public void testAddFilesetToModel() {
+ try {
+ ArchiveModelNode modelNode = createModelNode();
+ IArchiveFileSet fs = ArchiveNodeFactory.createFileset();
+ fs.setIncludesPattern("*");
+ fs.setSourcePath(new Path("blah"));
+ modelNode.addChild(fs);
+ } catch( ArchivesModelException ame ) {
+ return;
+ }
+ fail();
+ }
+
+
+ public void testAddActionToModel() {
+ fail();
+ }
+
+ public void testAddArchiveToModel() {
+ try {
+ ArchiveModelNode modelNode = createModelNode();
+ IArchive archive = ArchiveNodeFactory.createArchive();
+ archive.setName("someName.war");
+ archive.setDestinationPath(new Path("test"));
+ modelNode.addChild(archive);
+ } catch( ArchivesModelException ame ) {
+ fail();
+ }
+ }
+
+
+
+// public void testDeltas() {
+// try {
+// ArchiveModelNode model = createModelNode();
+// model.clearDelta();
+// IArchiveFolder folder = ArchiveNodeFactory.createFolder();
+// folder.setName("testFolder");
+// model.addChild(folder);
+// IArchiveNodeDelta delta = model.getDelta();
+// assertEquals(IArchiveNodeDelta.CHILD_ADDED, delta.getKind());
+// } catch( ArchivesModelException ame ) {
+// fail(ame.getMessage());
+// }
+// }
+
protected ArchiveModelNode getModel(XbPackages packs) {
IArchiveModel model = new ArchivesModel();
model.addModelListener(modelListener);