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.