Issues importing ProgramStageSection

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.

···


Thanks,

Mansi Singhal

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

···


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

···

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.


Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

That sounds weird. Abyor or Tran, could you have a look at it?

···


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

Hi

There was a few missing pieces to the programStageSection and programDataElements classes. Please try again, but remember that the format has changed, so I would create a new section in dhis and export it… to look at the format.

Also remember that programStage is the “owning” side of that relationship, so to attach it, you would also send a programStage update in the same metadata body.

···


Morten

On Thu, Jun 12, 2014 at 11:34 AM, Morten Olav Hansen mortenoh@gmail.com wrote:

That sounds weird. Abyor or Tran, could you have a look at it?


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

Hello Morten,

Program creation is fine.

But ProgramStage and ProgramStageSection creation is failing. See details below.

"Program Stage":

Input:

{

“programStages”: [{

“programStageDataElements”: [{

“displayInReports”: true,

“dataElement”: {

“id”: “034dcb18fe3”,

“name”: “Age”

},

“allowProvidedElsewhere”: false,

“compulsory”: false,

“allowDateInFuture”: false

}],

“description”: “Desc”,

“program”: {

“id”: “625b2495e79”,

“name”: “Prog1”

},

“id”: “b17f8e7729b”,

“name”: “Stage1”

}]

}

Error:

Problem accessing /api/metadata. Reason:

java.util.HashSet cannot be cast to java.util.List

Caused by:

	java.lang.ClassCastException: java.util.HashSet cannot be cast to java.util.List at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extractProgramStageDataElements(DefaultIdentifiableObjectImporter.java:460) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extract(DefaultIdentifiableObjectImporter.java:174) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.newObject(DefaultIdentifiableObjectImporter.java:570) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.startImport(DefaultIdentifiableObjectImporter.java:830) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:785) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:743) at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261) at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:178) at sun.reflect.GeneratedMethodAccessor450.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606)

"Program Stage Section":

Program stage for this JSON was created using DHIS UI.

Input:

{

“programStageSections”: [{

“programStageDataElements”: [{

“displayInReports”: false,

“dataElement”: {

“id”: “034dcb18fe3”,

“name”: “Age”

},

“allowProvidedElsewhere”: false,

“compulsory”: false,

“allowDateInFuture”: false

}],

“name”: “name”,

“sortOrder”: 1,

“programStage”: {

“id”: “UGl8auROT9M”,

“name”: “Single-Event Stage1”

}

}]

}

Error:

Caused by: org.h2.jdbc.JdbcSQLException: NULL not allowed for column "PROGRAMSTAGEID"; SQL statement: insert into programstage_dataelements (compulsory, allowprovidedelsewhere, sort_order, displayInReports, allowDateInFuture, programstageid, dataelementid) values (?, ?, ?, ?, ?, ?, ?) [23502-173]
···

On Thu, Jun 12, 2014 at 3:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi

There was a few missing pieces to the programStageSection and programDataElements classes. Please try again, but remember that the format has changed, so I would create a new section in dhis and export it… to look at the format.

Also remember that programStage is the “owning” side of that relationship, so to attach it, you would also send a programStage update in the same metadata body.


Regards,

Mansi Singhal

+91 9900246052


Morten

On Thu, Jun 12, 2014 at 11:34 AM, Morten Olav Hansen mortenoh@gmail.com wrote:

That sounds weird. Abyor or Tran, could you have a look at it?


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

Yes, I’m looking into this now, seems like we are using a Set for programStageDataElements some places, and a List other places…

Btw, you are not allowed to have numbers in the start of an ID.

···


Morten

On Thu, Jun 12, 2014 at 12:59 PM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello Morten,

Program creation is fine.

But ProgramStage and ProgramStageSection creation is failing. See details below.

"Program Stage":

Input:

{

“programStages”: [{

“programStageDataElements”: [{

“displayInReports”: true,

“dataElement”: {

“id”: “034dcb18fe3”,

“name”: “Age”

},

“allowProvidedElsewhere”: false,

“compulsory”: false,

“allowDateInFuture”: false

}],

“description”: “Desc”,

“program”: {

“id”: “625b2495e79”,

“name”: “Prog1”

},

“id”: “b17f8e7729b”,

“name”: “Stage1”

}]

}

Error:

Problem accessing /api/metadata. Reason:

java.util.HashSet cannot be cast to java.util.List

Caused by:

	java.lang.ClassCastException: java.util.HashSet cannot be cast to java.util.List at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extractProgramStageDataElements(DefaultIdentifiableObjectImporter.java:460) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extract(DefaultIdentifiableObjectImporter.java:174) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.newObject(DefaultIdentifiableObjectImporter.java:570) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.startImport(DefaultIdentifiableObjectImporter.java:830) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:785) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:743) at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261) at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:178) at sun.reflect.GeneratedMethodAccessor450.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606)

"Program Stage Section":

Program stage for this JSON was created using DHIS UI.

Input:

{

“programStageSections”: [{

“programStageDataElements”: [{

“displayInReports”: false,

“dataElement”: {

“id”: “034dcb18fe3”,

“name”: “Age”

},

“allowProvidedElsewhere”: false,

“compulsory”: false,

“allowDateInFuture”: false

}],

“name”: “name”,

“sortOrder”: 1,

“programStage”: {

“id”: “UGl8auROT9M”,

“name”: “Single-Event Stage1”

}

}]

}

Error:

Caused by: org.h2.jdbc.JdbcSQLException: NULL not allowed for column "PROGRAMSTAGEID"; SQL statement: insert into programstage_dataelements (compulsory, allowprovidedelsewhere, sort_order, displayInReports, allowDateInFuture, programstageid, dataelementid) values (?, ?, ?, ?, ?, ?, ?) [23502-173]

On Thu, Jun 12, 2014 at 3:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi

There was a few missing pieces to the programStageSection and programDataElements classes. Please try again, but remember that the format has changed, so I would create a new section in dhis and export it… to look at the format.

Also remember that programStage is the “owning” side of that relationship, so to attach it, you would also send a programStage update in the same metadata body.

Regards,

Mansi Singhal

+91 9900246052


Morten

On Thu, Jun 12, 2014 at 11:34 AM, Morten Olav Hansen mortenoh@gmail.com wrote:

That sounds weird. Abyor or Tran, could you have a look at it?


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

Hi Mansi

Could you try out rev 15650 and see if it works for you?

···


Morten

On Thu, Jun 12, 2014 at 1:06 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Yes, I’m looking into this now, seems like we are using a Set for programStageDataElements some places, and a List other places…

Btw, you are not allowed to have numbers in the start of an ID.


Morten

On Thu, Jun 12, 2014 at 12:59 PM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello Morten,

Program creation is fine.

But ProgramStage and ProgramStageSection creation is failing. See details below.

"Program Stage":

Input:

{

“programStages”: [{

“programStageDataElements”: [{

“displayInReports”: true,

“dataElement”: {

“id”: “034dcb18fe3”,

“name”: “Age”

},

“allowProvidedElsewhere”: false,

“compulsory”: false,

“allowDateInFuture”: false

}],

“description”: “Desc”,

“program”: {

“id”: “625b2495e79”,

“name”: “Prog1”

},

“id”: “b17f8e7729b”,

“name”: “Stage1”

}]

}

Error:

Problem accessing /api/metadata. Reason:

java.util.HashSet cannot be cast to java.util.List

Caused by:

	java.lang.ClassCastException: java.util.HashSet cannot be cast to java.util.List at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extractProgramStageDataElements(DefaultIdentifiableObjectImporter.java:460) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extract(DefaultIdentifiableObjectImporter.java:174) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.newObject(DefaultIdentifiableObjectImporter.java:570) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.startImport(DefaultIdentifiableObjectImporter.java:830) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:785) at org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjects(DefaultIdentifiableObjectImporter.java:743) at org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:261) at org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(DefaultImportService.java:178) at sun.reflect.GeneratedMethodAccessor450.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606)

"Program Stage Section":

Program stage for this JSON was created using DHIS UI.

Input:

{

“programStageSections”: [{

“programStageDataElements”: [{

“displayInReports”: false,

“dataElement”: {

“id”: “034dcb18fe3”,

“name”: “Age”

},

“allowProvidedElsewhere”: false,

“compulsory”: false,

“allowDateInFuture”: false

}],

“name”: “name”,

“sortOrder”: 1,

“programStage”: {

“id”: “UGl8auROT9M”,

“name”: “Single-Event Stage1”

}

}]

}

Error:

Caused by: org.h2.jdbc.JdbcSQLException: NULL not allowed for column "PROGRAMSTAGEID"; SQL statement: insert into programstage_dataelements (compulsory, allowprovidedelsewhere, sort_order, displayInReports, allowDateInFuture, programstageid, dataelementid) values (?, ?, ?, ?, ?, ?, ?) [23502-173]

On Thu, Jun 12, 2014 at 3:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi

There was a few missing pieces to the programStageSection and programDataElements classes. Please try again, but remember that the format has changed, so I would create a new section in dhis and export it… to look at the format.

Also remember that programStage is the “owning” side of that relationship, so to attach it, you would also send a programStage update in the same metadata body.

Regards,

Mansi Singhal

+91 9900246052


Morten

On Thu, Jun 12, 2014 at 11:34 AM, Morten Olav Hansen mortenoh@gmail.com wrote:

That sounds weird. Abyor or Tran, could you have a look at it?


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

Hi Morten,

I looked the bug :

"We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them."

It doesn’t occur on demo side and my side. I tested with revision 15144, version 2.15. Maybe it was fixed before…

···

Best regards,

Châu Thu Trân
HISP Viet Nam
Email: tran.hispvietnam@gmail.com

On Thu, Jun 12, 2014 at 5:34 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

That sounds weird. Abyor or Tran, could you have a look at it?


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal

You also need to include programStage: {} in your programStageDataElement, we are reusing this objekt in multiple places… so its hard to make a generic importer for it… hopefully we will convert it to a proper idObject in the future, right now it uses a composite key (dataElement, programStage)

···


Morten

On Tue, Jun 17, 2014 at 2:34 PM, Mahendra Kariya mahendra.kariya@thoughtworks.com wrote:

Hi Tran,
Thanks! It’s working with the latest build.

Hi Morten,

Program stage section creation is still not working. We are hitting /api/metadata endpoint.

Could you please look into this?

Input:

{

“programStageSections”: [

{
  "programStageDataElements": [
    {
      "displayInReports": false,
      "dataElement": {
        "id": "ac52ed2bd5d",
        "name": "Date"
      },
      "allowProvidedElsewhere": false,
      "compulsory": false,
      "allowDateInFuture": false
    }
  ],
  "name": "name2",
  "sortOrder": 1,
  "programStage": {
    "id": "b17f8e7729b"
  }
}

]

}

Error:

Caused by: org.h2.jdbc.JdbcSQLException: NULL not allowed for column "PROGRAMSTAGEID"; SQL statement: insert into programstage_dataelements (compulsory, allowprovidedelsewhere, sort_order, displayInReports, allowDateInFuture, programstageid, dataelementid) values (?, ?, ?, ?, ?, ?, ?) [23502-173]

Thanks,

Mahendra

On Mon, Jun 16, 2014 at 12:27 PM, Tran Chau tran.hispvietnam@gmail.com wrote:

Hi Morten,

I looked the bug :

"We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them."

It doesn’t occur on demo side and my side. I tested with revision 15144, version 2.15. Maybe it was fixed before…

Best regards,

Châu Thu Trân
HISP Viet Nam
Email: tran.hispvietnam@gmail.com

On Thu, Jun 12, 2014 at 5:34 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

That sounds weird. Abyor or Tran, could you have a look at it?


Morten

On Thu, Jun 12, 2014 at 11:26 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hey Morten,

Thanks for that.

I just wanted a clarification on one more thing:

We created a Program say “Program1” and then “Program Stage” under it.

This stage has approximately 20 “ProgramStageDataElements”.

On “Event Capture screen”, after selecting relevant fields (“Program1” as program and “orgUnit” as organization Unit), on clicking “Register Event”, I am able to see only few “ProgramStageDataElements” (around 10) and not all of them.

Is it the expected behavior or its a bug?

On Thu, Jun 12, 2014 at 2:28 PM, Morten Olav Hansen mortenoh@gmail.com wrote:

Hi,

The tracker metadata web-api should still be considered wip (it’s new for 2.16). I haven’t tested with programStageSections at all.

I will have a look at it.

Regards,

Mansi Singhal


Morten

On Thu, Jun 12, 2014 at 10:49 AM, Mansi Singhal msinghal@thoughtworks.com wrote:

Hello All,

We were trying to create “Program”, “Program Stage” and “Program Stage Section” using “/metadata” api.

We are facing issues creating “Program Stage Section”.

Status : 409 Conflict

When we tried debugging the issue, we got some ClassCastExceptions for “List to Set” and “Set to List” in “extractProgramStageDataElements” and “saveProgramStageDataElements” methods in “DefaultIdentifiableObjectImporter” class under “dhis-services-dxf2”.

We tried fixing it, and we got some more exceptions (Constraint Violation Exception)

Input to the api “/metadata”:

{

“programStageSections”: [

{

“name”: “SomeName”,

“programStageDataElements”: [

{

“allowDateInFuture”: false,

“allowProvidedElsewhere”: false,

“compulsory”: false,

“dataElement”: {

“id”: “DataElementId”,

“name”: “DataElementName”

},

“displayInReports”: false

}

],

“sortOrder”: 1

}

]

}

Can you please have a look onto this and fix it if needed.


Thanks,

Mansi Singhal