Jeffrey Fredrick RSS

Archive

Jul
10th
Thu
permalink

AlphaLabelIncrementer

package com.jeffreyfredrick.cc;

import org.apache.log4j.Logger;

import org.jdom.Element;

import net.sourceforge.cruisecontrol.LabelIncrementer;

public class AlphaLabelIncrementer implements LabelIncrementer {

    private static final Logger LOG = Logger.getLogger(AlphaLabelIncrementer.class);

    public String getDefaultLabel() {

        return “a”;

    }

    public String incrementLabel(String oldLabel, Element buildLog) {

        if (!isValidLabel(oldLabel)) {

            LOG.warn(“old label value of ” + oldLabel + ” is invalid. Returning default label.”);

            return getDefaultLabel();

        }

        char oldChar = oldLabel.charAt(0);

        char newChar = (char)((int)oldChar + 1);

        return String.valueOf(newChar);

    }

    public boolean isPreBuildIncrementer() {

        return false;

    }

    public boolean isValidLabel(String label) {

        return (label != null && label.length() == 1);

    }    

}