public StructType getSchema()

in src/main/java/com/aws/logaggregator/model/LogAppInitializer.java [130:168]


    public StructType getSchema() {
        if (baseConfigHolder == null || baseConfigHolder.getLogSchema() == null) {
            return null;
        }

        List<StructField> fields = new ArrayList<>();
        int index = 0;
        for (LogSchema.Attributes a : baseConfigHolder.getLogSchema().getSchema().getAttributes()) {
//            if(config.getPartitions() != null)
//            {
//                for(String str:config.getPartitions())
//                {
            if (a.isMandatory()) {
                // partitionIndex.put(a.getName(), index);
            }
//                }
//            }


            StructField field = null;
            if (a.getUpdatedName() != null && !"".equals(a.getUpdatedName())) {
                field = DataTypes.createStructField(a.getUpdatedName(), getDataType(a.getType(), a.getFormat()), !a.isMandatory());
            } else {
                field = DataTypes.createStructField(a.getName(), getDataType(a.getType(), a.getFormat()), !a.isMandatory());
            }

            fields.add(field);
            index = index + 1;
        }

        // StructField create_timestampfield = DataTypes.createStructField("event_timestamp", DataTypes.TimestampType, true);

        //fields.add(create_timestampfield);


        StructType schema = DataTypes.createStructType(fields);

        return schema;
    }