Details

    • Type: Improvement
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: Trunk
    • Fix Version/s: Upcoming Release
    • Component/s: None
    • Labels:
      None

      Description

      As discussed in http://markmail.org/message/d2tpovewhtotukwa the "not empty" field types ("id-ne", "id-long-ne" and "id-vlong-ne") were initially added to implement validations on data. But, because the validations where only implemented in some place like webtools, it contradicts the distinction to be upheld on various layers. So it is better to remove these field types. So we will remove all those field types and will create sub tickets to replace them in entity definitions by corresponding "id" types.

      When replacing the "not empty" field types in entity definitions by corresponding "id" types we will add a not-null="true" attribute to "makes the field NOT NULL on the database (like primary key fields)" as explained in "not-null" documentation in fieldtypemodel.xsd. We will finally clean the documentation of the "not-null" in fieldtypemodel.xsd.

      Related Links:

      http://ofbiz.135035.n4.nabble.com/EntityEngine-field-types-td2251546.html

      http://markmail.org/message/otec62xiwkpjttkq

      A more vivid description:

      http://ofbiz.markmail.org/thread/c6ee3ewyo6jpik7k

      1. OFBIZ-9351.patch
        449 kB
        Aditya Sharma
      2. OFBIZ-9351.patch
        10 kB
        Aditya Sharma
      3. OFBIZ-9351_plugins.patch
        19 kB
        Aditya Sharma
      4. OFBIZ-9351_plugins.patch
        2 kB
        Aditya Sharma

        Activity

        Hide
        deepak.dixit Deepak Dixit added a comment -

        If field is define as primary key field so by default is will be set as not-null=true,
        so we can replace all the primary key field type from id-ne to id in one shot.

        Show
        deepak.dixit Deepak Dixit added a comment - If field is define as primary key field so by default is will be set as not-null=true, so we can replace all the primary key field type from id-ne to id in one shot.
        Hide
        aditya.sharma Aditya Sharma added a comment -

        +1
        As no of occurrences is a really large figure.
        Just to keep a track and distinguish them I would prefer to create 2 separate sub-tickets for primary and non-primary occurrences.

        Show
        aditya.sharma Aditya Sharma added a comment - +1 As no of occurrences is a really large figure. Just to keep a track and distinguish them I would prefer to create 2 separate sub-tickets for primary and non-primary occurrences.
        Hide
        aditya.sharma Aditya Sharma added a comment -

        Following changes applied on plugins:

        Replaced fields with "id-ne", "id-long-ne" and "id-vlong-ne" with "id", "id-long" and "id-vlong" respectively which are primary keys.
        The patch also covers the field names like "parentTypeId" as it will always be empty for some record that starts the hierarchy.

        Show
        aditya.sharma Aditya Sharma added a comment - Following changes applied on plugins: Replaced fields with "id-ne", "id-long-ne" and "id-vlong-ne" with "id", "id-long" and "id-vlong" respectively which are primary keys. The patch also covers the field names like "parentTypeId" as it will always be empty for some record that starts the hierarchy.
        Hide
        deepak.dixit Deepak Dixit added a comment -

        Thanks Aditya for your contribution,
        OFBIZ-9351.patch has been committed to ofbiz-framework at r#r1796379
        and
        OFBIZ-9351_plugins.patch has been committed to ofbiz-plugins at r#1796380

        Show
        deepak.dixit Deepak Dixit added a comment - Thanks Aditya for your contribution, OFBIZ-9351 .patch has been committed to ofbiz-framework at r#r1796379 and OFBIZ-9351 _plugins.patch has been committed to ofbiz-plugins at r#1796380
        Hide
        aditya.sharma Aditya Sharma added a comment -

        Thanks Deepak

        Show
        aditya.sharma Aditya Sharma added a comment - Thanks Deepak
        Hide
        aditya.sharma Aditya Sharma added a comment -

        Removed field types "id-ne", "id-long-ne" and "id-vlong-ne" from fieldtype*.xml files in this patch.

        Show
        aditya.sharma Aditya Sharma added a comment - Removed field types "id-ne", "id-long-ne" and "id-vlong-ne" from fieldtype*.xml files in this patch.
        Hide
        aditya.sharma Aditya Sharma added a comment -

        Before committing the latest patch, patch in OFBIZ-9355 needs to be committed.

        Show
        aditya.sharma Aditya Sharma added a comment - Before committing the latest patch, patch in OFBIZ-9355 needs to be committed.
        Hide
        deepak.dixit Deepak Dixit added a comment -

        This has been committed at ofbiz framework trunk at r#1804031
        Thanks Aditya Sharma for your contribution.

        Show
        deepak.dixit Deepak Dixit added a comment - This has been committed at ofbiz framework trunk at r#1804031 Thanks Aditya Sharma for your contribution.
        Hide
        aditya.sharma Aditya Sharma added a comment -

        Thanks Deepak

        Show
        aditya.sharma Aditya Sharma added a comment - Thanks Deepak
        Hide
        aditya.sharma Aditya Sharma added a comment -
        Show
        aditya.sharma Aditya Sharma added a comment - Updated Entity Engine Guide https://cwiki.apache.org/confluence/display/OFBIZ/Entity+Engine+Guide .
        Hide
        jacques.le.roux Jacques Le Roux added a comment -

        Good catch, thanks Aditya.

        Show
        jacques.le.roux Jacques Le Roux added a comment - Good catch, thanks Aditya.
        Hide
        wt Wai added a comment -

        Now that "id-ne", "id-long-ne" and "id-vlong-ne" has been modified with "id", "id-long" and "id-vlong" respectively.
        How does this affect an existing database with production data?

        Show
        wt Wai added a comment - Now that "id-ne", "id-long-ne" and "id-vlong-ne" has been modified with "id", "id-long" and "id-vlong" respectively. How does this affect an existing database with production data?
        Hide
        aditya.sharma Aditya Sharma added a comment -

        It won't be affecting that as these field types were only implemented at the code level & had no special significance at the database level i.e. both "id" and "id-ne" were same for the database.

        Show
        aditya.sharma Aditya Sharma added a comment - It won't be affecting that as these field types were only implemented at the code level & had no special significance at the database level i.e. both "id" and "id-ne" were same for the database.
        Hide
        aditya.sharma Aditya Sharma added a comment - - edited

        I think I just missed some traces in Birt so adding another patch for plugins.

        Show
        aditya.sharma Aditya Sharma added a comment - - edited I think I just missed some traces in Birt so adding another patch for plugins.
        Hide
        aditya.sharma Aditya Sharma added a comment -

        Reopening as missed some traces of removed field types in BirtUtil.java. Already added a new patch for it.

        Show
        aditya.sharma Aditya Sharma added a comment - Reopening as missed some traces of removed field types in BirtUtil.java. Already added a new patch for it.
        Hide
        deepak.dixit Deepak Dixit added a comment -

        Thanks Aditya,
        This has been committed at ofbiz plugins trunk at r#1804224

        While clean up I remove these but forgot to commit plugin folder.

        Show
        deepak.dixit Deepak Dixit added a comment - Thanks Aditya, This has been committed at ofbiz plugins trunk at r#1804224 While clean up I remove these but forgot to commit plugin folder.

          People

          • Assignee:
            deepak.dixit Deepak Dixit
            Reporter:
            aditya.sharma Aditya Sharma
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development