Fwd: svn commit: r881724 - in /lucene/solr/trunk/contrib/dataimporthandler/src: main/java/org/apache/solr/handler/dataimport/ test/java/org/apache/solr/handler/dataimport/
Noble - how about a CHANGES.txt update for this? Thanks, Erik Begin forwarded message: From: no...@apache.org Date: November 18, 2009 12:22:18 PM GMT+01:00 To: solr-comm...@lucene.apache.org Subject: svn commit: r881724 - in /lucene/solr/trunk/contrib/ dataimporthandler/src: main/java/org/apache/solr/handler/dataimport/ test/java/org/apache/solr/handler/dataimport/ Reply-To: solr-dev@lucene.apache.org Author: noble Date: Wed Nov 18 11:22:17 2009 New Revision: 881724 URL: http://svn.apache.org/viewvc?rev=881724view=rev Log: SOLR-1525 allow DIH to refer to core properties Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/ apache/solr/handler/dataimport/DocBuilder.java lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/ apache/solr/handler/dataimport/VariableResolverImpl.java lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/ apache/solr/handler/dataimport/TestVariableResolver.java Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/ org/apache/solr/handler/dataimport/DocBuilder.java URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java?rev=881724r1=881723r2=881724view=diff = = = = = = = = == --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/ apache/solr/handler/dataimport/DocBuilder.java (original) +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/ apache/solr/handler/dataimport/DocBuilder.java Wed Nov 18 11:22:17 2009 @@ -80,7 +80,9 @@ public VariableResolverImpl getVariableResolver() { try { - VariableResolverImpl resolver = new VariableResolverImpl(); + VariableResolverImpl resolver = null; + if(dataImporter != null dataImporter.getCore() != null) resolver = new VariableResolverImpl (dataImporter.getCore().getResourceLoader().getCoreProperties()); + else resolver = new VariableResolverImpl(); MapString, Object indexerNamespace = new HashMapString, Object(); if (persistedProperties.getProperty(LAST_INDEX_TIME) != null) { indexerNamespace.put(LAST_INDEX_TIME, persistedProperties.getProperty(LAST_INDEX_TIME)); Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/ org/apache/solr/handler/dataimport/VariableResolverImpl.java URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/VariableResolverImpl.java?rev=881724r1=881723r2=881724view=diff = = = = = = = = == --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/ apache/solr/handler/dataimport/VariableResolverImpl.java (original) +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/ apache/solr/handler/dataimport/VariableResolverImpl.java Wed Nov 18 11:22:17 2009 @@ -18,6 +18,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Collections; import java.util.regex.Pattern; /** @@ -41,7 +42,14 @@ private final TemplateString templateString = new TemplateString(); + private final Map defaults ; + public VariableResolverImpl() { +defaults = Collections.emptyMap(); + } + + public VariableResolverImpl(Map defaults) { +this.defaults = defaults; } /** @@ -100,23 +108,30 @@ for (int i = 0; i parts.length; i++) { String thePart = parts[i]; if (i == parts.length - 1) { - return namespace.get(thePart); + Object val = namespace.get(thePart); + return val == null ? getDefault(name): val ; } Object temp = namespace.get(thePart); if (temp == null) { - return namespace.get(mergeAll(parts, i)); + Object val = namespace.get(mergeAll(parts, i)); + return val == null ? getDefault(name): val ; } else { if (temp instanceof Map) { namespace = (Map) temp; } else { -return null; +return getDefault(name); } } } } finally { - CURRENT_VARIABLE_RESOLVER.set(null); + CURRENT_VARIABLE_RESOLVER.remove(); } -return null; +return getDefault(name); + } + + private Object getDefault(String name) { +Object val = defaults.get(name); +return val == null? System.getProperty(name) : val; } private String mergeAll(String[] parts, int i) { Modified: lucene/solr/trunk/contrib/dataimporthandler/src/test/java/ org/apache/solr/handler/dataimport/TestVariableResolver.java URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java?rev=881724r1=881723r2=881724view=diff = = = = = = = = == --- lucene/solr/trunk/contrib
Re: svn commit: r881724 - in /lucene/solr/trunk/contrib/dataimporthandler/src: main/java/org/apache/solr/handler/dataimport/ test/java/org/apache/solr/handler/dataimport/
sure. I forgot On Wed, Nov 18, 2009 at 5:00 PM, Erik Hatcher erik.hatc...@gmail.com wrote: Noble - how about a CHANGES.txt update for this? Thanks, Erik Begin forwarded message: From: no...@apache.org Date: November 18, 2009 12:22:18 PM GMT+01:00 To: solr-comm...@lucene.apache.org Subject: svn commit: r881724 - in /lucene/solr/trunk/contrib/dataimporthandler/src: main/java/org/apache/solr/handler/dataimport/ test/java/org/apache/solr/handler/dataimport/ Reply-To: solr-dev@lucene.apache.org Author: noble Date: Wed Nov 18 11:22:17 2009 New Revision: 881724 URL: http://svn.apache.org/viewvc?rev=881724view=rev Log: SOLR-1525 allow DIH to refer to core properties Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/VariableResolverImpl.java lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java?rev=881724r1=881723r2=881724view=diff == --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java (original) +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DocBuilder.java Wed Nov 18 11:22:17 2009 @@ -80,7 +80,9 @@ public VariableResolverImpl getVariableResolver() { try { - VariableResolverImpl resolver = new VariableResolverImpl(); + VariableResolverImpl resolver = null; + if(dataImporter != null dataImporter.getCore() != null) resolver = new VariableResolverImpl(dataImporter.getCore().getResourceLoader().getCoreProperties()); + else resolver = new VariableResolverImpl(); MapString, Object indexerNamespace = new HashMapString, Object(); if (persistedProperties.getProperty(LAST_INDEX_TIME) != null) { indexerNamespace.put(LAST_INDEX_TIME, persistedProperties.getProperty(LAST_INDEX_TIME)); Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/VariableResolverImpl.java URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/VariableResolverImpl.java?rev=881724r1=881723r2=881724view=diff == --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/VariableResolverImpl.java (original) +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/VariableResolverImpl.java Wed Nov 18 11:22:17 2009 @@ -18,6 +18,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Collections; import java.util.regex.Pattern; /** @@ -41,7 +42,14 @@ private final TemplateString templateString = new TemplateString(); + private final Map defaults ; + public VariableResolverImpl() { + defaults = Collections.emptyMap(); + } + + public VariableResolverImpl(Map defaults) { + this.defaults = defaults; } /** @@ -100,23 +108,30 @@ for (int i = 0; i parts.length; i++) { String thePart = parts[i]; if (i == parts.length - 1) { - return namespace.get(thePart); + Object val = namespace.get(thePart); + return val == null ? getDefault(name): val ; } Object temp = namespace.get(thePart); if (temp == null) { - return namespace.get(mergeAll(parts, i)); + Object val = namespace.get(mergeAll(parts, i)); + return val == null ? getDefault(name): val ; } else { if (temp instanceof Map) { namespace = (Map) temp; } else { - return null; + return getDefault(name); } } } } finally { - CURRENT_VARIABLE_RESOLVER.set(null); + CURRENT_VARIABLE_RESOLVER.remove(); } - return null; + return getDefault(name); + } + + private Object getDefault(String name) { + Object val = defaults.get(name); + return val == null? System.getProperty(name) : val; } private String mergeAll(String[] parts, int i) { Modified: lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java?rev=881724r1=881723r2=881724view=diff