package org.jboss.tools.maven.ui.bot.test.utils;
import javax.xml.parsers.DocumentBuilderFactory;
import org.jboss.reddeer.eclipse.exception.EclipseLayerException;
import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog;
import org.jboss.tools.maven.reddeer.preferences.MavenUserPreferencePage;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class RepositoryExists{
private String repoID;
private String settingsPath;
public RepositoryExists(String repoID){
WorkbenchPreferenceDialog wd = new WorkbenchPreferenceDialog();
wd.open();
MavenUserPreferencePage mu = new MavenUserPreferencePage();
wd.select(mu);
settingsPath = mu.getUserSettings();
wd.ok();
this.repoID=repoID;
}
public boolean test() {
Document doc;
try {
doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(settingsPath);
} catch (Exception e) {
throw new EclipseLayerException("unable to parse settings.xml file "+settingsPath);
}
NodeList nl = doc.getElementsByTagName("repository");
for(int i=0; i<nl.getLength();i++){
if(nl.item(i).getNodeType() == Node.ELEMENT_NODE){
Element element = (Element) nl.item(i);
if(element.getElementsByTagName("id").item(0).getTextContent().equals(repoID)){
return true;
}
}
}
return false;
}
}