You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by no...@apache.org on 2009/11/18 12:22:18 UTC
svn commit: r881724 - in /lucene/solr/trunk/contrib/dataimporthandler/src:
main/java/org/apache/solr/handler/dataimport/
test/java/org/apache/solr/handler/dataimport/
Author: noble
Date: Wed Nov 18 11:22:17 2009
New Revision: 881724
URL: http://svn.apache.org/viewvc?rev=881724&view=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=881724&r1=881723&r2=881724&view=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();
Map<String, Object> indexerNamespace = new HashMap<String, 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=881724&r1=881723&r2=881724&view=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=881724&r1=881723&r2=881724&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java Wed Nov 18 11:22:17 2009
@@ -43,6 +43,21 @@
}
@Test
+ public void testDefaults(){
+ System.out.println(System.setProperty(TestVariableResolver.class.getName(),"hello"));
+ System.out.println("s.gP()"+ System.getProperty(TestVariableResolver.class.getName()));
+
+ HashMap m = new HashMap();
+ m.put("hello","world");
+ VariableResolverImpl vri = new VariableResolverImpl(m);
+ Object val = vri.resolve(TestVariableResolver.class.getName());
+ System.out.println("val = " + val);
+ Assert.assertEquals("hello", val);
+ Assert.assertEquals("world",vri.resolve("hello"));
+
+ }
+
+ @Test
public void testNestedNamespace() {
VariableResolverImpl vri = new VariableResolverImpl();
Map<String, Object> ns = new HashMap<String, Object>();
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/
Posted by Noble Paul നോബിള് नोब्ळ् <no...@corp.aol.com>.
sure. I forgot
On Wed, Nov 18, 2009 at 5:00 PM, Erik Hatcher <er...@gmail.com> wrote:
> Noble - how about a CHANGES.txt update for this?
>
> Thanks,
> Erik
>
>
> Begin forwarded message:
>
>> From: noble@apache.org
>> Date: November 18, 2009 12:22:18 PM GMT+01:00
>> To: solr-commits@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=881724&view=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=881724&r1=881723&r2=881724&view=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();
>> Map<String, Object> indexerNamespace = new HashMap<String, 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=881724&r1=881723&r2=881724&view=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=881724&r1=881723&r2=881724&view=diff
>>
>> ==============================================================================
>> ---
>> lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java
>> (original)
>> +++
>> lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestVariableResolver.java
>> Wed Nov 18 11:22:17 2009
>> @@ -43,6 +43,21 @@
>> }
>>
>> @Test
>> + public void testDefaults(){
>> +
>> System.out.println(System.setProperty(TestVariableResolver.class.getName(),"hello"));
>> + System.out.println("s.gP()"+
>> System.getProperty(TestVariableResolver.class.getName()));
>> +
>> + HashMap m = new HashMap();
>> + m.put("hello","world");
>> + VariableResolverImpl vri = new VariableResolverImpl(m);
>> + Object val = vri.resolve(TestVariableResolver.class.getName());
>> + System.out.println("val = " + val);
>> + Assert.assertEquals("hello", val);
>> + Assert.assertEquals("world",vri.resolve("hello"));
>> +
>> + }
>> +
>> + @Test
>> public void testNestedNamespace() {
>> VariableResolverImpl vri = new VariableResolverImpl();
>> Map<String, Object> ns = new HashMap<String, Object>();
>>
>>
>
>
--
-----------------------------------------------------
Noble Paul | Principal Engineer| AOL | http://aol.com
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/
Posted by Erik Hatcher <er...@gmail.com>.
Noble - how about a CHANGES.txt update for this?
Thanks,
Erik
Begin forwarded message:
> From: noble@apache.org
> Date: November 18, 2009 12:22:18 PM GMT+01:00
> To: solr-commits@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=881724&view=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=881724&r1=881723&r2=881724&view=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();
> Map<String, Object> indexerNamespace = new HashMap<String,
> 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=881724&r1=881723&r2=881724&view=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=881724&r1=881723&r2=881724&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/
> apache/solr/handler/dataimport/TestVariableResolver.java (original)
> +++ lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/
> apache/solr/handler/dataimport/TestVariableResolver.java Wed Nov 18
> 11:22:17 2009
> @@ -43,6 +43,21 @@
> }
>
> @Test
> + public void testDefaults(){
> +
> System
> .out
> .println
> (System.setProperty(TestVariableResolver.class.getName(),"hello"));
> + System.out.println("s.gP()"+
> System.getProperty(TestVariableResolver.class.getName()));
> +
> + HashMap m = new HashMap();
> + m.put("hello","world");
> + VariableResolverImpl vri = new VariableResolverImpl(m);
> + Object val = vri.resolve(TestVariableResolver.class.getName());
> + System.out.println("val = " + val);
> + Assert.assertEquals("hello", val);
> + Assert.assertEquals("world",vri.resolve("hello"));
> +
> + }
> +
> + @Test
> public void testNestedNamespace() {
> VariableResolverImpl vri = new VariableResolverImpl();
> Map<String, Object> ns = new HashMap<String, Object>();
>
>