{
    "$formsTitle": "QSDT's Sample Forms",
    "$formsDescription": "This sample form generates an Eclipse Project for a OSB proxy service, using the data provided by the user and the configured templates",
    "$forms": [ 
        {
            "$formName": "Sample Form 1",
            "$requestSchema": {
                "$configuration" : "sample-arch-osb-form",
                "$blueprint" : "sample-arch-osb-gen",
                "$task": "generate-sample-arch-osb",
                "generalInfo": {
                    "additionalFolders": {
                        "@type": "boolean",
                        "@defaultValue": true
                    },
                    "bizDomain": {
                        "@type": "string",
                        "@defaultValue": "General",
                        "@required": true
                    },
                    "bizEntity": {
                        "@type": "string",
                        "@required": true
                    },
                    "serviceId": {
                        "@type": "number",
                        "@required": true
                    }
                },
                "specificInfo": {
                    "serviceName": {
                        "@type": "string",
                        "@required": true
                    },
                    "serviceVersion": {
                        "@type": "string",
                        "@required": true
                    },
                    "serviceType": {
                        "@type": "choice",
                        "@required": false,
                        "@options": [
                            "ABC",
                            "XYZ"
                        ]
                    }
                },
                "schemaInfo": {
                    "schemas": {
                        "@type": "array",
                        "@required": false,
                        "@item": {
                            "schemaName": {
                                "@type": "string",
                                "@required": true
                            }
                        }
                    }
                }
            },
            "$inputDisplayData": {
                "generalInfo": {
                    "label": "General Information"
                },
                "generalInfo.additionalFolders": {
                    "label": "Additional Folders",
                    "helptext": "Indicates whether or not to generate additional empty folders"
                },
                "generalInfo.bizDomain": {
                    "label": "Business Domain",
                    "helptext": "Service's business domain, default is \"General\""
                },
                "generalInfo.bizEntity": {
                    "label": "Business Entity",
                    "helptext": "Business Entity which the service makes use of",
                    "placeholder": "Put a Biz here"
                },
                "generalInfo.serviceId": {
                    "label": "Service ID",
                    "helptext": "Identification number for the service"
                },
                "specificInfo": {
                    "label": "Specific Information"
                },
                "specificInfo.serviceName": {
                    "label": "Service Name",
                    "helptext": "Service descriptive name, should indicate a verbal operation (IE: GetCustomerInfo)"
                },
                "specificInfo.serviceVersion": {
                    "label": "Service Version",
                    "helptext": "Version number for the service, should follow the pattern: V[Major].[Minor] (IE: V1.0)"
                },
                "specificInfo.serviceType": {
                    "label": "Service Type",
                    "helptext": "Indicates Service Type"
                },
                "schemaInfo": {
                    "label": "Provide information about support schemas to include"
                },
                "schemaInfo.schemas": {
                    "label": "Schemas List"
                },
                "schemaInfo.schemas.schemaName": {
                    "label": "Schema Name",
                    "helptext": "The support schema name"
                }
            },
            "$declaredPostProcessors": {
                "generalInfo.bizEntity": [
                    "string.allLowerCase",
                    "string.blanksToCamelCase",
                    "string.startWithUpperCase"
                ],
                "generalInfo.specificInfo.serviceName": [
                    "string.allLowerCase",
                    "string.blanksToCamelCase",
                    "string.startWithUpperCase"
                ],
                "generalInfo.specificInfo.serviceVersion": [
                    "string.allLowerCase"
                ]
            }
        }
    ]
}