Modified: 
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/JcrNode.java
URL: 
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/JcrNode.java?rev=1522808&r1=1522807&r2=1522808&view=diff
==============================================================================
--- 
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/JcrNode.java
 (original)
+++ 
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/JcrNode.java
 Fri Sep 13 08:14:36 2013
@@ -16,8 +16,10 @@
  */
 package org.apache.sling.ide.eclipse.ui.nav.model;
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -30,7 +32,8 @@ import javax.xml.parsers.ParserConfigura
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
-import org.apache.sling.ide.eclipse.ui.internal.SharedImages;
+import org.apache.sling.ide.eclipse.ui.WhitelabelSupport;
+import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
@@ -41,11 +44,19 @@ import org.eclipse.core.resources.mappin
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IActionFilter;
 import org.eclipse.ui.IContributorResourceAdapter;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.model.WorkbenchLabelProvider;
 import org.eclipse.ui.views.properties.IPropertySource;
+import 
org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
+import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
@@ -83,7 +94,7 @@ public class JcrNode implements IAdaptab
 
        private final static WorkbenchLabelProvider workbenchLabelProvider = 
new WorkbenchLabelProvider();
        
-       GenericJcrRootFile underlying;
+       final GenericJcrRootFile underlying;
 
        JcrNode parent;
 
@@ -95,20 +106,33 @@ public class JcrNode implements IAdaptab
        
        private boolean resourceChildrenAdded = false;
        
-       final ReadOnlyProperties properties = new ReadOnlyProperties();
+       final ModifiableProperties properties = new ModifiableProperties(this);
+
+       final Set<JcrNode> hiddenChildren = new HashSet<JcrNode>();
        
        JcrNode() {
                // for subclass use only
+               if (this instanceof GenericJcrRootFile) {
+                       this.underlying = (GenericJcrRootFile) this;
+               } else {
+                       this.underlying = null;
+               }
        }
        
-       JcrNode(JcrNode parent, Node domNode) {
+       JcrNode(JcrNode parent, Node domNode, IResource resource) {
+               this(parent, domNode, parent.underlying, resource);
+       }
+       
+       
+       JcrNode(JcrNode parent, Node domNode, GenericJcrRootFile underlying, 
IResource resource) {
                if (parent == null) {
                        throw new IllegalArgumentException("parent must not be 
null");
                }
                this.parent = parent;
                // domNode can be null
                this.domNode = domNode;
-               this.underlying = parent.underlying;
+               this.underlying = underlying;
+               this.resource = resource;
                parent.addChild(this);
        }
        
@@ -116,6 +140,60 @@ public class JcrNode implements IAdaptab
        public String toString() {
                return "JcrNode[dom:"+domNode+", file:"+resource+"]";
        }
+       
+       @Override
+       public int hashCode() {
+               if (underlying==null) {
+                       if (resource==null) {
+                               if (domNode==null) {
+                                       return toString().hashCode();
+                               } else {
+                                       return domNode.toString().hashCode() + 
parent.hashCode();
+                               }
+                       } else {
+                               return resource.getFullPath().hashCode();
+                       }
+               } else {
+                       return underlying.hashCode() + 
domNode.toString().hashCode();
+               }
+       }
+       
+       @Override
+       public boolean equals(Object obj) {
+               if (this==obj) {
+                       return true;
+               }
+               if (!(obj instanceof JcrNode)) {
+                       return false;
+               }
+               JcrNode other = (JcrNode) obj;
+               if (other.underlying==null && underlying!=null) {
+                       return false;
+               } else if (other.underlying!=null && underlying==null) {
+                       return false;
+               }
+               if (underlying!=null && !underlying.equals(other.underlying)) {
+                       return false;
+               }
+               if (resource!=null && other.resource!=null) {
+                       if (resource.equals(other.resource)) {
+                               return true;
+                       } else {
+                               return false;
+                       }
+               } else if (resource!=null && other.resource==null) {
+                       return false;
+               } else if (resource==null && other.resource!=null) {
+                       return false;
+               }
+               if (parent!=null && other.parent!=null) {
+                       if (!parent.equals(other.parent)) {
+                               return false;
+                       }
+                       return 
domNode.toString().equals(other.domNode.toString());
+               }
+               return toString().equals(obj.toString());
+       }
 
        protected void addChild(JcrNode jcrNode) {
                children.add(jcrNode);
@@ -148,11 +226,26 @@ public class JcrNode implements IAdaptab
                }
                return children.size()>0 || members;
        }
+       
+       public void hide(JcrNode node) {
+               hiddenChildren.add(node);
+       }
 
+       Object[] filterHiddenChildren(final Collection<JcrNode> collection) {
+               final Collection<JcrNode> values = new 
HashSet<JcrNode>(collection);
+               
+               for (Iterator<JcrNode> it = hiddenChildren.iterator(); 
it.hasNext();) {
+                       final JcrNode hiddenNode = it.next();
+                       values.remove(hiddenNode);
+               }
+               
+               return values.toArray();
+       }
+       
        public Object[] getChildren() {
                try {
                        if (resourceChildrenAdded) {
-                               return children.toArray();
+                               return filterHiddenChildren(children);
                        }
                        Map<String,JcrNode> resultMap = new HashMap<String, 
JcrNode>();
                        for (Iterator it = children.iterator(); it.hasNext();) {
@@ -188,9 +281,13 @@ public class JcrNode implements IAdaptab
                                        }
                                        for (Iterator it = 
membersList.iterator(); it.hasNext();) {
                                                IResource iResource = 
(IResource) it.next();
-                                               JcrNode node = new 
JcrNode(this, (Node)null);
-                                               node.setResource(iResource);
-                                               node.init();
+                                               JcrNode node;
+                                               if 
(DirNode.isDirNode(iResource)) {
+                                                       node = new 
DirNode(this, (Node)null, iResource);
+                                               } else {
+                                                       node = new 
JcrNode(this, (Node)null, iResource);
+                                               }
+//                                             node.setResource(iResource);
                                                // load the children - to make 
sure we get vault files loaded too
                                                node.getChildren();
                                                resultMap.put(node.getName(), 
node);
@@ -200,22 +297,22 @@ public class JcrNode implements IAdaptab
                        }
                        resourceChildrenAdded = true;
                        
-                       return resultMap.values().toArray();
+                       return filterHiddenChildren(resultMap.values());
                } catch (CoreException e) {
+                       e.printStackTrace();
                        return new Object[0];
                } catch (ParserConfigurationException e) {
+                       e.printStackTrace();
                        return new Object[0];
                } catch (SAXException e) {
+                       e.printStackTrace();
                        return new Object[0];
                } catch (IOException e) {
+                       e.printStackTrace();
                        return new Object[0];
                }
        }
 
-       protected void init() {
-               // placeholder for initializing any common properties
-       }
-
        private boolean isVaultFile(IResource iResource)
                        throws ParserConfigurationException, SAXException, 
IOException,
                        CoreException {
@@ -256,6 +353,13 @@ public class JcrNode implements IAdaptab
                        } else
                                try {
                                        if (!isVaultFile(resource)){
+                                               final String jcrMimeType = 
getJcrContentProperty("jcr:mimeType");
+                                               if (jcrMimeType!=null && 
jcrMimeType.length()!=0) {
+                                                       ImageDescriptor desc = 
getImageDescriptor(resource.getName(), jcrMimeType);
+                                                       if (desc!=null) {
+                                                               return 
desc.createImage();
+                                                       }
+                                               }
                                                return 
workbenchLabelProvider.getImage(resource);
                                        }
                                } catch (ParserConfigurationException e) {
@@ -276,7 +380,35 @@ public class JcrNode implements IAdaptab
                //      return workbenchLabelProvider.getImage(domNode);
                //}
                
-               return SharedImages.SLING_ICON.createImage();
+               return WhitelabelSupport.JCR_NODE_ICON.createImage();
+       }
+
+       private ImageDescriptor getImageDescriptor(String filename, String 
jcrMimeType) {
+               final String modifiedFilename;
+               if (jcrMimeType.equals("image/jpeg")) {
+                       modifiedFilename = filename + ".jpg";
+               } else if (jcrMimeType.contains("/")) {
+                       modifiedFilename = filename + "." + 
(jcrMimeType.substring(jcrMimeType.indexOf("/")+1));
+               } else {
+                       return null;
+               }
+               return 
PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(modifiedFilename,
 null);
+       }
+
+       private String getJcrContentProperty(String propertyKey) {
+               final Object[] chldrn = getChildren();
+               for (int i = 0; i < chldrn.length; i++) {
+                       JcrNode jcrNode = (JcrNode) chldrn[i];
+                       if ("jcr:content".equals(jcrNode.getName())) {
+                               if (jcrNode.properties!=null) {
+                                       Object propertyValue = 
jcrNode.properties.getValue(propertyKey);
+                                       if (propertyValue!=null) {
+                                               return 
String.valueOf(propertyValue);
+                                       }
+                               }
+                       }
+               }
+               return null;
        }
 
        public String getName() {
@@ -305,14 +437,41 @@ public class JcrNode implements IAdaptab
        @Override
        public Object getAdapter(Class adapter) {
                final Object result = doGetAdapter(adapter);
-               if (result==null) {
-               //      System.out.println("adapter looked for: "+adapter+", 
result: "+result);
-               }
+               //if (result==null) {
+                       //System.out.println("adapter looked for: "+adapter+", 
result: "+result);
+               //}
                return result;
        }
        
        private Object doGetAdapter(Class adapter) {
-               if (adapter==IPropertySource.class) {
+               if (adapter==IActionFilter.class) {
+                       return new IActionFilter() {
+                               
+                               @Override
+                               public boolean testAttribute(Object target, 
String name, String value) {
+                                       if (!(target instanceof JcrNode)) {
+                                               return false;
+                                       }
+                                       final JcrNode node = (JcrNode)target;
+                                       if ("domNode".equals(name)) {
+                                               return node.domNode!=null;      
+                                       }
+                                       if ("nonDomNode".equals(name)) {
+                                               return node.domNode==null;      
+                                       }
+                                       return false;
+                               }
+                       };
+               } else if (adapter==ITabbedPropertySheetPageContributor.class 
&& "christmas".equals("christmas")) {
+                       return new ITabbedPropertySheetPageContributor() {
+
+                               @Override
+                               public String getContributorId() {
+                                       return 
"org.apache.sling.ide.eclipse-ui.propertyContributor1";
+                               }
+                               
+                       };
+               } else if (adapter==IPropertySource.class) {
                        return properties;
                } else if (adapter == IFile.class) {
                        if (resource instanceof IFile) {
@@ -321,9 +480,9 @@ public class JcrNode implements IAdaptab
                                return null;
                        }
                } else if (adapter == IContributorResourceAdapter.class) {
-                       if (resource==null) {
-                               return null;
-                       }
+                       //if (resource==null) {
+                       //      return null;
+                       //}
                        return new IContributorResourceAdapter() {
                                
                                @Override
@@ -334,34 +493,46 @@ public class JcrNode implements IAdaptab
                                        JcrNode node = (JcrNode)adaptable;
                                        if (node.resource!=null) {
                                                return node.resource;
+                                       } else {
+                                               return node.underlying.file;
                                        }
-                                       return null;
+//                                     return null;
                                }
                        };
                } else if (adapter == IResource.class) {
-                       return resource;                
+                       if (resource!=null) {
+                               return resource;
+                       } else {
+                               return null;//underlying.file;
+                       }
                } else if (adapter == ResourceMapping.class) { 
                        boolean t = true;
                        if (!t) {
                                return null;
                        }
-                       if (resource==null) {
-                               return null;
-                       }
+//                     if (resource==null) {
+//                             return null;
+//                     }
                        return new ResourceMapping() {
                                
                                @Override
                                public ResourceTraversal[] 
getTraversals(ResourceMappingContext context,
                                                IProgressMonitor monitor) 
throws CoreException {
-                                       return new ResourceTraversal[] { new 
ResourceTraversal(new IResource[] { resource }, IResource.DEPTH_INFINITE, 
IResource.NONE) };
+                                       if (resource!=null) {
+                                               return new ResourceTraversal[] 
{ new ResourceTraversal(new IResource[] { resource }, IResource.DEPTH_INFINITE, 
IResource.NONE) };
+                                       } else {
+                                               return new ResourceTraversal[] 
{ new ResourceTraversal(new IResource[] { underlying.file }, 
IResource.DEPTH_INFINITE, IResource.NONE) };
+                                       }
                                }
                                
                                @Override
                                public IProject[] getProjects() {
                                        if (resource!=null) {
                                                return new IProject[] 
{resource.getProject()};
+                                       } else {
+                                               return new IProject[] 
{underlying.file.getProject()};
                                        }
-                                       return null;
+//                                     return null;
                                }
                                
                                @Override
@@ -371,11 +542,99 @@ public class JcrNode implements IAdaptab
                                
                                @Override
                                public Object getModelObject() {
-                                       return resource;
+                                       if (resource!=null) {
+                                               return resource;
+                                       } else {
+                                               return underlying.file;
+                                       }
                                }
                        };
                }
                return null;
        }
 
+       public IFile getFileForEditor() {
+               if (resource instanceof IFile) {
+//                     if (!isVaultFile(resource)) {
+                       return (IFile)resource;
+               } else if (resource instanceof IContainer) {
+                       return null;
+               } else if (underlying!=null && underlying.file!=null) {
+                       return underlying.file;
+               } else {
+                       return null;
+               }
+       }
+
+       public void rename(String string) {
+               if (domNode!=null && underlying!=null) {
+                       domNode.getOwnerDocument().renameNode(domNode, 
domNode.getNamespaceURI(), string);
+                       underlying.save();
+               }
+       }
+
+       public boolean canBeRenamed() {
+               if (resource!=null) {
+                       return false;
+               }
+               if (domNode!=null && underlying!=null) {
+                       if (domNode.getNodeName().equals("jcr:content")) {
+                               return false;
+                       }
+                       return true;
+               }
+               return false;
+       }
+
+       public JcrNode getParent() {
+               return parent;
+       }
+       
+       IResource getResource() {
+               return resource;
+       }
+
+       public void createChild(String nodeName) {
+               if (domNode==null) {
+                       // then we're not in the context of a .content.xml file 
yet
+                       // so we need to create one
+                       final String minimalContentXml = "<?xml version=\"1.0\" 
encoding=\"UTF-8\"?><jcr:root 
xmlns:sling=\"http://sling.apache.org/jcr/sling/1.0\"; 
xmlns:jcr=\"http://www.jcp.org/jcr/1.0\"/>";
+                       if (resource instanceof IFolder) {
+                               IFolder folder = (IFolder)resource;
+                               IFile file = folder.getFile(nodeName+".xml");
+                               try {
+                                       file.create(new 
ByteArrayInputStream(minimalContentXml.getBytes()), true, new 
NullProgressMonitor());
+                               } catch (CoreException e) {
+                                       //TODO proper logging
+                                       e.printStackTrace();
+                               }
+                       } else {
+                               
MessageDialog.openInformation(Display.getDefault().getActiveShell(), 
+                                               "Cannot create JCR node on a 
File", "Creating a JCR node on a File is not yet supported");
+                       }
+               } else {
+                       try{
+                               Element element = 
domNode.getOwnerDocument().createElement(nodeName);
+                               element.setAttribute("jcr:primaryType", 
"nt:unstructured");
+                               Node childDomNode = 
domNode.appendChild(element);
+                               JcrNode childNode = new JcrNode(this, 
childDomNode, null);
+                               underlying.save();
+                       } catch(Exception e) {
+                               
MessageDialog.openError(Display.getDefault().getActiveShell(), "Error creating 
new JCR node", "The following error occurred: "+e.getMessage());
+                       }
+               }
+       }
+
+       public void delete() {
+               if (parent==null) {
+                       // then I dont know how to delete
+                       return;
+               }
+               parent.children.remove(this);
+               if (domNode!=null) {
+                       domNode.getParentNode().removeChild(domNode);
+               }
+               underlying.save();
+       }
+
 }

Modified: 
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/SyncDir.java
URL: 
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/SyncDir.java?rev=1522808&r1=1522807&r2=1522808&view=diff
==============================================================================
--- 
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/SyncDir.java
 (original)
+++ 
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/SyncDir.java
 Fri Sep 13 08:14:36 2013
@@ -17,6 +17,7 @@
 package org.apache.sling.ide.eclipse.ui.nav.model;
 
 import org.apache.sling.ide.eclipse.ui.internal.SharedImages;
+import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.swt.graphics.Image;
 
@@ -34,6 +35,20 @@ public class SyncDir extends JcrNode {
        }
        
        @Override
+       public int hashCode() {
+               return folder.hashCode();
+       }
+       
+       @Override
+       public boolean equals(Object obj) {
+               if (obj instanceof SyncDir) {
+                       SyncDir other = (SyncDir) obj;
+                       return folder.equals(other.folder);
+               }
+               return false;
+       }
+       
+       @Override
        public Image getImage() {
                return SharedImages.SLING_ICON.createImage();
        }
@@ -55,5 +70,10 @@ public class SyncDir extends JcrNode {
        public String getName() {
                return "/";
        }
+       
+       @Override
+       public IFile getFileForEditor() {
+               return null;
+       }
 
 }

Propchange: sling/branches/tooling-ide-vlt/tooling/ide/m2e-feature/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Sep 13 08:14:36 2013
@@ -0,0 +1,5 @@
+target
+
+.settings
+
+.project

Modified: sling/branches/tooling-ide-vlt/tooling/ide/p2update/category.xml
URL: 
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/p2update/category.xml?rev=1522808&r1=1522807&r2=1522808&view=diff
==============================================================================
--- sling/branches/tooling-ide-vlt/tooling/ide/p2update/category.xml (original)
+++ sling/branches/tooling-ide-vlt/tooling/ide/p2update/category.xml Fri Sep 13 
08:14:36 2013
@@ -3,5 +3,8 @@
    <feature url="features/org.apache.sling.ide.feature_0.0.1.qualifier.jar" 
id="org.apache.sling.ide.feature" version="0.0.1.qualifier">
       <category name="sling"/>
    </feature>
+   <feature 
url="features/org.apache.sling.ide.m2e-feature_0.0.1.qualifier.jar" 
id="org.apache.sling.ide.m2e-feature" version="0.0.1.qualifier">
+      <category name="sling"/>
+   </feature>
    <category-def name="sling" label="Sling"/>
 </site>

Modified: sling/branches/tooling-ide-vlt/tooling/ide/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/pom.xml?rev=1522808&r1=1522807&r2=1522808&view=diff
==============================================================================
--- sling/branches/tooling-ide-vlt/tooling/ide/pom.xml (original)
+++ sling/branches/tooling-ide-vlt/tooling/ide/pom.xml Fri Sep 13 08:14:36 2013
@@ -19,6 +19,8 @@
                <module>eclipse-core</module>
                <module>eclipse-ui</module>
                <module>feature</module>
+               <module>eclipse-m2e-ui</module>
+               <module>m2e-feature</module>
                <module>p2update</module>
        </modules>
 

Modified: 
sling/branches/tooling-ide-vlt/tooling/ide/target-definition/org.apache.sling.ide.target-definition.target
URL: 
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/target-definition/org.apache.sling.ide.target-definition.target?rev=1522808&r1=1522807&r2=1522808&view=diff
==============================================================================
--- 
sling/branches/tooling-ide-vlt/tooling/ide/target-definition/org.apache.sling.ide.target-definition.target
 (original)
+++ 
sling/branches/tooling-ide-vlt/tooling/ide/target-definition/org.apache.sling.ide.target-definition.target
 Fri Sep 13 08:14:36 2013
@@ -1,21 +1,53 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="Sling IDE Tools" sequenceNumber="13">
+<?pde version="3.8"?>
+<target name="Sling IDE Tools" sequenceNumber="23">
 <locations>
 <location includeAllPlatforms="false" includeConfigurePhase="false" 
includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.wst.server_adapters.feature.feature.group" 
version="3.2.100.v20110303-51EoAkF77g8HBSc"/>
-<unit id="org.eclipse.jdt.feature.group" 
version="3.7.2.v20120120-1414-7z8gFcuFMP7BW5XTz0jLTnz0l9B1"/>
-<unit id="org.eclipse.platform.feature.group" 
version="3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-q"/>
-<unit id="org.eclipse.jst.enterprise_ui.feature.feature.group" 
version="3.3.2.v201111030500-7b7II1YFSK2WIuPRDEnExPV-RvTn"/>
-<repository location="http://download.eclipse.org/releases/indigo"/>
-</location>
-<location includeAllPlatforms="false" includeConfigurePhase="false" 
includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.apache.commons.httpclient" version="3.1.0.v201012070820"/>
 <unit id="org.json" version="1.0.0.v201011060100"/>
 <unit id="org.apache.commons.io" version="2.0.1.v201105210651"/>
 <unit id="org.slf4j.api" version="1.6.4.v20120130-2120"/>
 <unit id="ch.qos.logback.slf4j" version="1.0.0.v20120123-1500"/>
 <unit id="org.apache.commons.collections" version="3.2.0.v201005080500"/>
-<unit id="org.apache.commons.httpclient" version="3.1.0.v201012070820"/>
 <repository 
location="http://download.eclipse.org/tools/orbit/downloads/drops/R20120526062928/repository"/>
 </location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" 
includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.m2e.feature.feature.group" 
version="1.4.0.20130601-0317"/>
+<repository location="http://download.eclipse.org/technology/m2e/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" 
includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.platform.feature.group" 
version="3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-q"/>
+<unit id="org.eclipse.jdt.feature.group" 
version="3.7.2.v20120120-1414-7z8gFcuFMP7BW5XTz0jLTnz0l9B1"/>
+<unit id="org.eclipse.pde.feature.group" 
version="3.7.2.v20120120-1420-7b7rFUOFEx2Xnqafnpz0E--0"/>
+<unit id="org.eclipse.wst.server_adapters.feature.feature.group" 
version="3.2.100.v20110303-51EoAkF77g8HBSc"/>
+<unit id="org.eclipse.jst.enterprise_ui.feature.feature.group" 
version="3.3.2.v201111030500-7b7II1YFSK2WIuPRDEnExPV-RvTn"/>
+<unit id="org.eclipse.pde.api.tools.ee.fragments.feature.group" 
version="1.0.200.r37x_v20110803-7D-FHkFAFkNZZO9PfBZStN"/>
+<unit id="org.eclipse.libra.facet.feature.feature.group" 
version="0.1.2.201202130952"/>
+<repository location="http://download.eclipse.org/releases/indigo"/>
+</location>
+<location id="org.sonatype.tycho.m2e.feature" path="${eclipse_home}" 
type="Feature"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" 
includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.jst.web_ui.feature.feature.group" 
version="3.3.2.v201112072049-7F7AFO7C25ToiIbpoiuW12GT78Mciy6W7iwuxaco"/>
+<unit id="org.eclipse.wst.common_core.feature.feature.group" 
version="3.3.2.v201111030500-7B7DFO9F7RZHOhIjR6Mz-NJ"/>
+<unit id="org.eclipse.wst.web_core.feature.feature.group" 
version="3.3.2.v201111030500-7E7EFMcAJvn8cwW45JTLsz-TCw6tofoJ"/>
+<unit id="org.eclipse.wst.common_ui.feature.feature.group" 
version="3.3.2.v201111030500-7C79FVsEdhO_sfog9oNekiJkS7Nz00OK"/>
+<unit id="org.eclipse.wst.server_ui.feature.feature.group" 
version="3.3.2.v20111026_1748-7B79FBdAtJcez0EONePJUSNPjBC42"/>
+<unit id="org.eclipse.wst.xml_core.feature.feature.group" 
version="3.3.2.v201112072049-7C7OFeMF7RZHQOIsNANyRc"/>
+<unit id="org.eclipse.jst.server_adapters.ext.feature.feature.group" 
version="3.3.2.v20111010_1242-777HFHzCcNBDjCbIUfEEE3"/>
+<unit id="org.eclipse.wst.server_userdoc.feature.feature.group" 
version="3.3.0.v20110512-20DF7w312215222664"/>
+<unit id="org.eclipse.wst.xml_userdoc.feature.feature.group" 
version="3.3.0.v201102071641-50FYwAkF7B77UBZFDBL"/>
+<unit id="org.eclipse.wst.server_adapters.feature.feature.group" 
version="3.2.100.v20110303-51EoAkF77g8HBSc"/>
+<unit id="org.eclipse.wst.ws_wsdl15.feature.feature.group" 
version="1.5.301.v201102200555-2407w312123151655"/>
+<unit id="org.eclipse.wst.server_core.feature.feature.group" 
version="3.3.2.v20111026_1748-30FBd8s7356394Ka2531"/>
+<unit id="org.eclipse.wst.ws_userdoc.feature.feature.group" 
version="3.1.300.v201102200555-44FR79oB5855Q8IBD7G"/>
+<unit id="org.eclipse.wst.web_userdoc.feature.feature.group" 
version="3.3.0.v201102200555-31Eo8s734B3E4H7799"/>
+<unit id="org.eclipse.jst.web_core.feature.feature.group" 
version="3.3.2.v201112072049-7Q7DGLAFE9LeAHGQwz0Yz0Nmuitz01z01sRxi387"/>
+<unit id="org.eclipse.wst.ws_core.feature.feature.group" 
version="3.3.1.v201108230355-7L7RFi8FGtGd-thsz0z0rQwh2766"/>
+<unit id="org.eclipse.wst.ws_ui.feature.feature.group" 
version="3.3.2.v201112142348-7I7AFg1EtEoVFjz-98J1iuhhBz-uuWclgZtNHnEN"/>
+<unit id="org.eclipse.jst.web_userdoc.feature.feature.group" 
version="3.3.1.v201108102009-2107w31211938"/>
+<unit id="org.eclipse.jst.server_ui.feature.feature.group" 
version="3.3.0.v201102200555-7A6FHr9xFcAVCFLZBBJLIR43A"/>
+<unit id="org.eclipse.jst.server_adapters.feature.feature.group" 
version="3.2.100.v20110303-208Z7w31211419"/>
+<repository location="http://download.eclipse.org/releases/indigo"/>
+</location>
 </locations>
 </target>


Reply via email to