Package er.bugtracker.delegates

Source Code of er.bugtracker.delegates.BugDelegate

package er.bugtracker.delegates;

import com.webobjects.appserver.WOComponent;
import com.webobjects.directtoweb.D2WContext;
import com.webobjects.foundation.NSArray;

import er.bugtracker.Bug;
import er.bugtracker.Factory;
import er.bugtracker.State;

public class BugDelegate extends BranchDelegate {

    @Override
    protected NSArray defaultBranchChoices(D2WContext context) {
        NSArray result = super.defaultBranchChoices(context);
        log.debug("in: " + result);
        Bug bug = (Bug)object(context);
        // AK: this is just an illustration
        if(bug != null) {
            result = choiceByRemovingKeys(new NSArray("edit"), result);
            if(!bug.state().equals(State.ANALYZE)) {
                result = choiceByRemovingKeys(new NSArray("delete"), result);
            }
            if(!bug.state().equals(State.CLOSED)) {
                result = choiceByRemovingKeys(new NSArray(new Object[] {"reopen"}), result);
            }
            if(bug.state().equals(State.CLOSED)) {
                result = choiceByRemovingKeys(new NSArray(new Object[] {"resolve"}), result);
            }
            if(!bug.state().equals(State.VERIFY)) {
                result = choiceByRemovingKeys(new NSArray("reject"), result);
            }
            log.debug("out: " + result + " -> " + bug.state().textDescription());
        } else {
            result = choiceByLeavingKeys(new NSArray(new Object[] {"create"}), result);
        }
        return result;
    }

    public WOComponent resolve(WOComponent sender) {
        Bug bug = (Bug) object(sender);
        return Factory.bugTracker().resolveBug(bug);
    }

    public WOComponent comment(WOComponent sender) {
        Bug bug = (Bug) object(sender);
        return Factory.bugTracker().commentBug(bug);
    }

    public WOComponent reopen(WOComponent sender) {
        Bug bug = (Bug) object(sender);
        return Factory.bugTracker().reopenBug(bug);
    }


    public WOComponent reject(WOComponent sender) {
        Bug bug = (Bug) object(sender);
        return Factory.bugTracker().rejectBug(bug);
    }

    public WOComponent create(WOComponent sender) {
        return Factory.bugTracker().createBug();
    }

    public WOComponent createTestItem(WOComponent sender) {
        Bug bug = (Bug) object(sender);
        return Factory.bugTracker().createTestItemFromBug(bug);
    }
}
TOP

Related Classes of er.bugtracker.delegates.BugDelegate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.