Author: rombert
Date: Thu Sep 12 15:56:10 2013
New Revision: 1522638
URL: http://svn.apache.org/r1522638
Log:
SLING-2989 - [Tooling] integrate with vlt once available
Allow default versions of filters to be returned by the FilterLocator,
if no filter file exists.
This supports vlt's concept of default workspace filter, which notably
excludes jcr:content and /var/classes.
Modified:
sling/branches/tooling-ide-vlt/tooling/ide/api/src/org/apache/sling/ide/filter/FilterLocator.java
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizard.java
sling/branches/tooling-ide-vlt/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/filer/SimpleFilterLocator.java
sling/branches/tooling-ide-vlt/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/filter/VltFilter.java
Modified:
sling/branches/tooling-ide-vlt/tooling/ide/api/src/org/apache/sling/ide/filter/FilterLocator.java
URL:
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/api/src/org/apache/sling/ide/filter/FilterLocator.java?rev=1522638&r1=1522637&r2=1522638&view=diff
==============================================================================
---
sling/branches/tooling-ide-vlt/tooling/ide/api/src/org/apache/sling/ide/filter/FilterLocator.java
(original)
+++
sling/branches/tooling-ide-vlt/tooling/ide/api/src/org/apache/sling/ide/filter/FilterLocator.java
Thu Sep 12 15:56:10 2013
@@ -25,5 +25,16 @@ public interface FilterLocator {
// TODO - should be File[] to allow multiple lookups, see {filter-vlt.xml,
filter.xml}
File findFilterLocation(File syncDirectory);
+ /**
+ * Loads a filter based on the raw <tt>filterFileContents</tt>
+ *
+ * <p>
+ * If the <tt>filterFileContents</tt> is null it returns a default filter
+ * </p>
+ *
+ * @param filterFileContents the raw contents of the filter file, possibly
null
+ * @return
+ * @throws IOException
+ */
Filter loadFilter(InputStream filterFileContents) throws IOException;
}
Modified:
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizard.java
URL:
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizard.java?rev=1522638&r1=1522637&r2=1522638&view=diff
==============================================================================
---
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizard.java
(original)
+++
sling/branches/tooling-ide-vlt/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizard.java
Thu Sep 12 15:56:10 2013
@@ -118,14 +118,13 @@ public class ImportWizard extends Wizard
}
Filter filter = null;
+
+ FilterLocator filterLocator =
Activator.getDefault().getFilterLocator();
+ InputStream contents = null;
+
if (filterFile != null && filterFile.exists()) {
- FilterLocator filterLocator =
Activator.getDefault().getFilterLocator();
- InputStream contents = null;
try {
contents = filterFile.getContents();
- filter = filterLocator.loadFilter(contents);
- } catch (IOException e) {
- throw new InvocationTargetException(e);
} catch (CoreException e) {
throw new InvocationTargetException(e);
} finally {
@@ -138,6 +137,13 @@ public class ImportWizard extends Wizard
}
}
}
+
+ try {
+ filter = filterLocator.loadFilter(contents);
+ } catch (IOException e) {
+ throw new InvocationTargetException(e);
+ }
+
monitor.worked(5);
try {
Modified:
sling/branches/tooling-ide-vlt/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/filer/SimpleFilterLocator.java
URL:
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/filer/SimpleFilterLocator.java?rev=1522638&r1=1522637&r2=1522638&view=diff
==============================================================================
---
sling/branches/tooling-ide-vlt/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/filer/SimpleFilterLocator.java
(original)
+++
sling/branches/tooling-ide-vlt/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/filer/SimpleFilterLocator.java
Thu Sep 12 15:56:10 2013
@@ -53,12 +53,14 @@ public class SimpleFilterLocator impleme
public Filter loadFilter(InputStream filterFileContents) throws
IOException {
List<String> filters = new ArrayList<String>();
- BufferedReader reader = new BufferedReader(new
InputStreamReader(filterFileContents));
- String line;
- while ((line = reader.readLine()) != null) {
- if (line.charAt(0) == '#')
- continue;
- filters.add(line);
+ if (filterFileContents != null) {
+ BufferedReader reader = new BufferedReader(new
InputStreamReader(filterFileContents));
+ String line;
+ while ((line = reader.readLine()) != null) {
+ if (line.charAt(0) == '#')
+ continue;
+ filters.add(line);
+ }
}
return new SimpleFilter(filters);
Modified:
sling/branches/tooling-ide-vlt/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/filter/VltFilter.java
URL:
http://svn.apache.org/viewvc/sling/branches/tooling-ide-vlt/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/filter/VltFilter.java?rev=1522638&r1=1522637&r2=1522638&view=diff
==============================================================================
---
sling/branches/tooling-ide-vlt/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/filter/VltFilter.java
(original)
+++
sling/branches/tooling-ide-vlt/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/filter/VltFilter.java
Thu Sep 12 15:56:10 2013
@@ -20,24 +20,26 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-
-import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
import org.apache.jackrabbit.vault.fs.config.ConfigurationException;
import org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter;
+import org.apache.jackrabbit.vault.fs.impl.AggregateManagerImpl;
import org.apache.sling.ide.filter.Filter;
import org.apache.sling.ide.filter.FilterResult;
import org.apache.sling.ide.transport.RepositoryInfo;
public class VltFilter implements Filter {
- private WorkspaceFilter filter;
+ private DefaultWorkspaceFilter filter;
public VltFilter(InputStream in) throws IOException,
ConfigurationException {
- DefaultWorkspaceFilter filter = new DefaultWorkspaceFilter();
- filter.load(in);
+ if (in != null) {
+ filter = new DefaultWorkspaceFilter();
+ filter.load(in);
+ } else {
+ filter = AggregateManagerImpl.getDefaultWorkspaceFilter();
+ }
- this.filter = filter;
}
@Override