/*
* Copyright 2014 Matthias Bläsing
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.kenai.redminenb.issue;
import com.kenai.redminenb.RedmineConfig;
import com.kenai.redminenb.repository.RedmineRepository;
import com.taskadapter.redmineapi.bean.IssuePriority;
import java.util.ArrayList;
import java.util.List;
import org.netbeans.modules.bugtracking.spi.IssuePriorityInfo;
import org.netbeans.modules.bugtracking.spi.IssuePriorityProvider;
/**
*
* @author Eric
*/
public class RedmineIssuePriorityProvider implements IssuePriorityProvider<RedmineIssue> {
private final RedmineRepository repo;
public RedmineIssuePriorityProvider(RedmineRepository repo) {
this.repo = repo;
}
@Override
public String getPriorityID(RedmineIssue i) {
return i.getIssue().getPriorityId().toString();
}
@Override
public IssuePriorityInfo[] getPriorityInfos() {
List<IssuePriorityInfo> lipi = new ArrayList<>();
for (IssuePriority ip : repo.getIssuePriorities()) {
IssuePriorityInfo ipi = new IssuePriorityInfo(
ip.getId().toString(),
ip.getName(),
RedmineConfig.getInstance().getPriorityImage(ip.getName())
);
lipi.add(ipi);
}
return lipi.toArray(new IssuePriorityInfo[lipi.size()]);
}
}