Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-6539

SolrJ document object binding / BigDecimal

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.9, 4.10, 4.10.1
    • 6.0
    • SolrJ

    Description

      We are using BigDecimals in our application quite often for calculating. We store our values typically as java primitives (int, long/double, float) and using the DocumentObjectBinder (annotations based document object binding).

      Unfortunately, we must have exactly the type given in solr schema for type used as field/accessor. We found out, that the following patch would allow us to define BigDecimal as type as we just use BigDecimal as a type in our mapped POJO. This would help to make the mapping more powerful without loosing anything.

      ----------
      $ svn diff Downloads/solr/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
      Index: Downloads/solr/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
      ===================================================================
      — Downloads/solr/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java (revision 1626087)
      +++ Downloads/solr/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java (working copy)
      @@ -359,6 +359,9 @@
      if (v != null && type == ByteBuffer.class && v.getClass() == byte[].class)

      { v = ByteBuffer.wrap((byte[]) v); }

      + if (type == java.math.BigDecimal.class)

      { + v = BigDecimal.valueOf(v): + }

      try {
      if (field != null) {
      field.set(obj, v);

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            bertbrecht42 Bert Brecht

            Dates

              Created:
              Updated:

              Slack

                Issue deployment