public NexusTile setDayOfYearFromGranuleName()

in src/main/java/org/apache/sdap/ningester/processors/AddDayOfYearAttribute.java [49:81]


    public NexusTile setDayOfYearFromGranuleName(NexusTile nexusTile) {

        String granuleName = nexusTile.getSummary().getGranule();
        Matcher granuleNameMatcher = this.regex.matcher(granuleName);
        Boolean granuleNameMatched = granuleNameMatcher.find();

        if (!granuleNameMatched) {
            throw new RuntimeException("regex did not match granuleName.");
        }

        if (granuleNameMatcher.groupCount() != 1) {
            throw new RuntimeException("regex does not have exactly one capturing group.");
        }

        if (granuleNameMatcher.group(1).length() <= 0) {
            throw new RuntimeException("group does not contain match.");
        }


        String dayOfYear = granuleNameMatcher.group(1);
        NexusTile.Builder newTileBuilder = NexusTile.newBuilder().mergeFrom(nexusTile);
        TileSummary.Builder newTileSummaryBuilder = newTileBuilder.getSummaryBuilder();
        newTileSummaryBuilder.addGlobalAttributes(
                Attribute.newBuilder()
                        .setName("day_of_year_i")
                        .addValues(dayOfYear)
                        .build()
        );
        newTileBuilder.setSummary(newTileSummaryBuilder);

        return newTileBuilder.build();

    }