You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by Chris Hostetter <ho...@fucit.org> on 2008/08/28 21:06:41 UTC
Re: svn commit: r689867 - in /lucene/solr/trunk/contrib/dataimporthandler:
./ src/main/java/org/apache/solr/handler/dataimport/
src/test/java/org/apache/solr/handler/dataimport/ src/test/resources/solr/conf/
SOLR-729 is marked as fixed in 1.3, but i don't see this commited to the
1.3 branch?
: Date: Thu, 28 Aug 2008 16:04:46 -0000
: From: shalin@apache.org
: Reply-To: solr-dev@lucene.apache.org
: To: solr-commits@lucene.apache.org
: Subject: svn commit: r689867 - in
: /lucene/solr/trunk/contrib/dataimporthandler: ./
: src/main/java/org/apache/solr/handler/dataimport/
: src/test/java/org/apache/solr/handler/dataimport/
: src/test/resources/solr/conf/
:
: Author: shalin
: Date: Thu Aug 28 09:04:45 2008
: New Revision: 689867
:
: URL: http://svn.apache.org/viewvc?rev=689867&view=rev
: Log:
: SOLR-729 -- Context.getDataSource(String) gives current entity's DataSource instance regardless of argument.
:
: Added:
: lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml (with props)
: Modified:
: lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
: lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java
:
: Modified: lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
: URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt?rev=689867&r1=689866&r2=689867&view=diff
: ==============================================================================
: --- lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt (original)
: +++ lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt Thu Aug 28 09:04:45 2008
: @@ -32,6 +32,9 @@
: use the complete string for parsing. Failure to do so will result in an exception.
: (Stefan Oestreicher via shalin)
:
: +2. SOLR-729: Context.getDataSource(String) gives current entity's DataSource instance regardless of argument.
: + (Noble Paul, shalin)
: +
: Other Changes
:
:
:
: Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
: URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java?rev=689867&r1=689866&r2=689867&view=diff
: ==============================================================================
: --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java (original)
: +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java Thu Aug 28 09:04:45 2008
: @@ -72,18 +72,21 @@
: public abstract VariableResolver getVariableResolver();
:
: /**
: - * Gets the datasource instance defined for this entity.
: + * Gets the datasource instance defined for this entity. Do not close() this instance.
: + * Transformers should use the getDataSource(String name) method.
: *
: * @return a new DataSource instance as configured for the current entity
: * @see org.apache.solr.handler.dataimport.DataSource
: + * @see #getDataSource(String)
: */
: public abstract DataSource getDataSource();
:
: /**
: - * Gets a new DataSource instance with a name.
: - *
: + * Gets a new DataSource instance with a name. Ensure that you close() this after use
: + * because this is created just for this method call.
: + *
: * @param name Name of the dataSource as defined in the dataSource tag
: - * @return a new DataSource instance as configured for the named entity
: + * @return a new DataSource instance
: * @see org.apache.solr.handler.dataimport.DataSource
: */
: public abstract DataSource getDataSource(String name);
:
: Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
: URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java?rev=689867&r1=689866&r2=689867&view=diff
: ==============================================================================
: --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java (original)
: +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java Thu Aug 28 09:04:45 2008
: @@ -63,7 +63,7 @@
: }
:
: public DataSource getDataSource(String name) {
: - return dataImporter.getDataSourceInstance(entity);
: + return dataImporter.getDataSourceInstance(entity, name, this);
: }
:
: public boolean isRootEntity() {
:
: Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
: URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java?rev=689867&r1=689866&r2=689867&view=diff
: ==============================================================================
: --- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java (original)
: +++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java Thu Aug 28 09:04:45 2008
: @@ -270,20 +270,20 @@
: key.dataSrc = new MockDataSource();
: return;
: }
: - key.dataSrc = getDataSourceInstance(key);
: + key.dataSrc = getDataSourceInstance(key, key.dataSource, null);
: }
:
: - DataSource getDataSourceInstance(DataConfig.Entity key) {
: - Properties p = dataSourceProps.get(key.dataSource);
: + DataSource getDataSourceInstance(DataConfig.Entity key, String name, Context ctx ) {
: + Properties p = dataSourceProps.get(name);
: if (p == null)
: - p = config.dataSources.get(key.dataSource);
: + p = config.dataSources.get(name);
: if (p == null)
: p = dataSourceProps.get(null);// for default data source
: if (p == null)
: p = config.dataSources.get(null);
: if (p == null)
: throw new DataImportHandlerException(DataImportHandlerException.SEVERE,
: - "No dataSource :" + key.dataSource + " available for entity :"
: + "No dataSource :" + name + " available for entity :"
: + key.name);
: String impl = p.getProperty(TYPE);
: DataSource dataSrc = null;
: @@ -300,8 +300,10 @@
: try {
: Properties copyProps = new Properties();
: copyProps.putAll(p);
: - dataSrc.init(new ContextImpl(key, null, dataSrc, 0,
: - Collections.EMPTY_MAP, new HashMap(), null, this), copyProps);
: + if(ctx == null)
: + ctx = new ContextImpl(key, null, dataSrc, 0,
: + Collections.EMPTY_MAP, new HashMap(), null, this);
: + dataSrc.init(ctx, copyProps);
: } catch (Exception e) {
: throw new DataImportHandlerException(DataImportHandlerException.SEVERE,
: "Failed to initialize DataSource: " + key.dataSource, e);
:
: Modified: lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java
: URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java?rev=689867&r1=689866&r2=689867&view=diff
: ==============================================================================
: --- lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java (original)
: +++ lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java Thu Aug 28 09:04:45 2008
: @@ -19,9 +19,11 @@
: import org.junit.After;
: import org.junit.Before;
: import org.junit.Test;
: +import org.junit.Assert;
:
: import java.util.ArrayList;
: import java.util.List;
: +import java.util.Map;
:
: /**
: * <p>
: @@ -65,4 +67,25 @@
: assertQ(req("id:1"), "//*[@numFound='1']");
: }
:
: + @Test
: + @SuppressWarnings("unchecked")
: + public void testContext() throws Exception {
: + List rows = new ArrayList();
: + rows.add(createMap("id", "1", "desc", "one"));
: + MockDataSource.setIterator("select * from x", rows.iterator());
: +
: + super.runFullImport(loadDataConfig("data-config-with-transformer.xml"));
: + }
: +
: + public static class MockTransformer extends Transformer {
: + public Object transformRow(Map<String, Object> row, Context context) {
: + Assert.assertTrue("Context gave incorrect data source", context.getDataSource("mockDs") instanceof MockDataSource2);
: + return row;
: + }
: + }
: +
: + public static class MockDataSource2 extends MockDataSource {
: +
: + }
: +
: }
:
: Added: lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
: URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml?rev=689867&view=auto
: ==============================================================================
: --- lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml (added)
: +++ lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml Thu Aug 28 09:04:45 2008
: @@ -0,0 +1,10 @@
: +<dataConfig>
: + <dataSource type="MockDataSource" />
: + <dataSource name="mockDs" type="TestDocBuilder2$MockDataSource2" />
: + <document>
: + <entity name="x" query="select * from x" transformer="TestDocBuilder2$MockTransformer">
: + <field column="id" />
: + <field column="desc" />
: + </entity>
: + </document>
: +</dataConfig>
:
: Propchange: lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
: ------------------------------------------------------------------------------
: svn:eol-style = native
:
: Propchange: lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
: ------------------------------------------------------------------------------
: svn:keywords = Date Author Id Revision HeadURL
:
:
-Hoss
Re: svn commit: r689867 - in /lucene/solr/trunk/contrib/dataimporthandler: ./ src/main/java/org/apache/solr/handler/dataimport/ src/test/java/org/apache/solr/handler/dataimport/ src/test/resources/solr/conf/
Posted by Shalin Shekhar Mangar <sh...@gmail.com>.
Yeah I guess I got confused with Yonik's remark of committing to trunk and
merging to the branch. I shall commit to the branch as well.
On Fri, Aug 29, 2008 at 12:36 AM, Chris Hostetter
<ho...@fucit.org>wrote:
>
> SOLR-729 is marked as fixed in 1.3, but i don't see this commited to the
> 1.3 branch?
>
>
>
> : Date: Thu, 28 Aug 2008 16:04:46 -0000
> : From: shalin@apache.org
> : Reply-To: solr-dev@lucene.apache.org
> : To: solr-commits@lucene.apache.org
> : Subject: svn commit: r689867 - in
> : /lucene/solr/trunk/contrib/dataimporthandler: ./
> : src/main/java/org/apache/solr/handler/dataimport/
> : src/test/java/org/apache/solr/handler/dataimport/
> : src/test/resources/solr/conf/
> :
> : Author: shalin
> : Date: Thu Aug 28 09:04:45 2008
> : New Revision: 689867
> :
> : URL: http://svn.apache.org/viewvc?rev=689867&view=rev
> : Log:
> : SOLR-729 -- Context.getDataSource(String) gives current entity's
> DataSource instance regardless of argument.
> :
> : Added:
> :
> lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
> (with props)
> : Modified:
> : lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
> :
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
> :
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
> :
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
> :
> lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java
> :
> : Modified: lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt
> : URL:
> http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt?rev=689867&r1=689866&r2=689867&view=diff
> :
> ==============================================================================
> : --- lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt (original)
> : +++ lucene/solr/trunk/contrib/dataimporthandler/CHANGES.txt Thu Aug 28
> 09:04:45 2008
> : @@ -32,6 +32,9 @@
> : use the complete string for parsing. Failure to do so will
> result in an exception.
> : (Stefan Oestreicher via shalin)
> :
> : +2. SOLR-729: Context.getDataSource(String) gives current entity's
> DataSource instance regardless of argument.
> : + (Noble Paul, shalin)
> : +
> : Other Changes
> :
> :
> :
> : Modified:
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
> : URL:
> http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java?rev=689867&r1=689866&r2=689867&view=diff
> :
> ==============================================================================
> : ---
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
> (original)
> : +++
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/Context.java
> Thu Aug 28 09:04:45 2008
> : @@ -72,18 +72,21 @@
> : public abstract VariableResolver getVariableResolver();
> :
> : /**
> : - * Gets the datasource instance defined for this entity.
> : + * Gets the datasource instance defined for this entity. Do not
> close() this instance.
> : + * Transformers should use the getDataSource(String name) method.
> : *
> : * @return a new DataSource instance as configured for the current
> entity
> : * @see org.apache.solr.handler.dataimport.DataSource
> : + * @see #getDataSource(String)
> : */
> : public abstract DataSource getDataSource();
> :
> : /**
> : - * Gets a new DataSource instance with a name.
> : - *
> : + * Gets a new DataSource instance with a name. Ensure that you close()
> this after use
> : + * because this is created just for this method call.
> : + *
> : * @param name Name of the dataSource as defined in the dataSource tag
> : - * @return a new DataSource instance as configured for the named
> entity
> : + * @return a new DataSource instance
> : * @see org.apache.solr.handler.dataimport.DataSource
> : */
> : public abstract DataSource getDataSource(String name);
> :
> : Modified:
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
> : URL:
> http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java?rev=689867&r1=689866&r2=689867&view=diff
> :
> ==============================================================================
> : ---
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
> (original)
> : +++
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/ContextImpl.java
> Thu Aug 28 09:04:45 2008
> : @@ -63,7 +63,7 @@
> : }
> :
> : public DataSource getDataSource(String name) {
> : - return dataImporter.getDataSourceInstance(entity);
> : + return dataImporter.getDataSourceInstance(entity, name, this);
> : }
> :
> : public boolean isRootEntity() {
> :
> : Modified:
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
> : URL:
> http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java?rev=689867&r1=689866&r2=689867&view=diff
> :
> ==============================================================================
> : ---
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
> (original)
> : +++
> lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/DataImporter.java
> Thu Aug 28 09:04:45 2008
> : @@ -270,20 +270,20 @@
> : key.dataSrc = new MockDataSource();
> : return;
> : }
> : - key.dataSrc = getDataSourceInstance(key);
> : + key.dataSrc = getDataSourceInstance(key, key.dataSource, null);
> : }
> :
> : - DataSource getDataSourceInstance(DataConfig.Entity key) {
> : - Properties p = dataSourceProps.get(key.dataSource);
> : + DataSource getDataSourceInstance(DataConfig.Entity key, String name,
> Context ctx ) {
> : + Properties p = dataSourceProps.get(name);
> : if (p == null)
> : - p = config.dataSources.get(key.dataSource);
> : + p = config.dataSources.get(name);
> : if (p == null)
> : p = dataSourceProps.get(null);// for default data source
> : if (p == null)
> : p = config.dataSources.get(null);
> : if (p == null)
> : throw new
> DataImportHandlerException(DataImportHandlerException.SEVERE,
> : - "No dataSource :" + key.dataSource + " available for
> entity :"
> : + "No dataSource :" + name + " available for entity :"
> : + key.name);
> : String impl = p.getProperty(TYPE);
> : DataSource dataSrc = null;
> : @@ -300,8 +300,10 @@
> : try {
> : Properties copyProps = new Properties();
> : copyProps.putAll(p);
> : - dataSrc.init(new ContextImpl(key, null, dataSrc, 0,
> : - Collections.EMPTY_MAP, new HashMap(), null, this),
> copyProps);
> : + if(ctx == null)
> : + ctx = new ContextImpl(key, null, dataSrc, 0,
> : + Collections.EMPTY_MAP, new HashMap(), null, this);
> : + dataSrc.init(ctx, copyProps);
> : } catch (Exception e) {
> : throw new
> DataImportHandlerException(DataImportHandlerException.SEVERE,
> : "Failed to initialize DataSource: " + key.dataSource, e);
> :
> : Modified:
> lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java
> : URL:
> http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java?rev=689867&r1=689866&r2=689867&view=diff
> :
> ==============================================================================
> : ---
> lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java
> (original)
> : +++
> lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestDocBuilder2.java
> Thu Aug 28 09:04:45 2008
> : @@ -19,9 +19,11 @@
> : import org.junit.After;
> : import org.junit.Before;
> : import org.junit.Test;
> : +import org.junit.Assert;
> :
> : import java.util.ArrayList;
> : import java.util.List;
> : +import java.util.Map;
> :
> : /**
> : * <p>
> : @@ -65,4 +67,25 @@
> : assertQ(req("id:1"), "//*[@numFound='1']");
> : }
> :
> : + @Test
> : + @SuppressWarnings("unchecked")
> : + public void testContext() throws Exception {
> : + List rows = new ArrayList();
> : + rows.add(createMap("id", "1", "desc", "one"));
> : + MockDataSource.setIterator("select * from x", rows.iterator());
> : +
> : +
> super.runFullImport(loadDataConfig("data-config-with-transformer.xml"));
> : + }
> : +
> : + public static class MockTransformer extends Transformer {
> : + public Object transformRow(Map<String, Object> row, Context context)
> {
> : + Assert.assertTrue("Context gave incorrect data source",
> context.getDataSource("mockDs") instanceof MockDataSource2);
> : + return row;
> : + }
> : + }
> : +
> : + public static class MockDataSource2 extends MockDataSource {
> : +
> : + }
> : +
> : }
> :
> : Added:
> lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
> : URL:
> http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml?rev=689867&view=auto
> :
> ==============================================================================
> : ---
> lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
> (added)
> : +++
> lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
> Thu Aug 28 09:04:45 2008
> : @@ -0,0 +1,10 @@
> : +<dataConfig>
> : + <dataSource type="MockDataSource" />
> : + <dataSource name="mockDs" type="TestDocBuilder2$MockDataSource2" />
> : + <document>
> : + <entity name="x" query="select * from x"
> transformer="TestDocBuilder2$MockTransformer">
> : + <field column="id" />
> : + <field column="desc" />
> : + </entity>
> : + </document>
> : +</dataConfig>
> :
> : Propchange:
> lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
> :
> ------------------------------------------------------------------------------
> : svn:eol-style = native
> :
> : Propchange:
> lucene/solr/trunk/contrib/dataimporthandler/src/test/resources/solr/conf/data-config-with-transformer.xml
> :
> ------------------------------------------------------------------------------
> : svn:keywords = Date Author Id Revision HeadURL
> :
> :
>
>
>
> -Hoss
>
>
--
Regards,
Shalin Shekhar Mangar.