/*
org.org.lib.repository.crawler is a java library/OSGI Bundle
Providing Crawling capabilities for Maven 2 HTTP exposed repositories
Copyright (C) 2007 Pierre-Antoine Grégoire
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.org.repository.crawler.maven2.model;
import org.org.repository.crawler.items.ICrawledRepositorySetup;
import org.org.repository.crawler.items.mutable.AbstractCrawledRepositorySetup;
/**
* @author pagregoire
*/
public class CrawledRepository extends GroupsHolder {
public String getUID() {
return label;
}
public StringBuilder toStringBuilderDescription() {
return new StringBuilder(getUID());
}
private String label;
private ICrawledRepositorySetup crawledRepositorySetup;
public CrawledRepository(String label, ICrawledRepositorySetup crawledRepositorySetup) {
this.label = label;
this.crawledRepositorySetup = crawledRepositorySetup;
}
public String getLabel() {
return label;
}
public void setLabel(String id) {
this.label = id;
}
public ICrawledRepositorySetup getRepositorySetup() {
return crawledRepositorySetup;
}
public void addGroupFilter(final String groupFilter) {
ICrawledRepositorySetup crawledRepositorySetup = this.crawledRepositorySetup.getMutable();
if (crawledRepositorySetup.getGroupFilters().size() == 1 && crawledRepositorySetup.getGroupFilters().contains(AbstractCrawledRepositorySetup.KEEP_ALL_PATTERN)) {
crawledRepositorySetup.getGroupFilters().remove(AbstractCrawledRepositorySetup.KEEP_ALL_PATTERN);
}
crawledRepositorySetup.getGroupFilters().add(groupFilter);
this.crawledRepositorySetup = crawledRepositorySetup;
}
public void clearGroupFilters() {
ICrawledRepositorySetup crawledRepositorySetup = this.crawledRepositorySetup.getMutable();
if (!(crawledRepositorySetup.getGroupFilters().size() == 1 && crawledRepositorySetup.getGroupFilters().contains(AbstractCrawledRepositorySetup.KEEP_ALL_PATTERN))) {
crawledRepositorySetup.getGroupFilters().clear();
crawledRepositorySetup.getGroupFilters().add(AbstractCrawledRepositorySetup.KEEP_ALL_PATTERN);
}
this.crawledRepositorySetup = crawledRepositorySetup;
}
}