Package org.eclipse.jgit.gitrepo
Class ManifestParser
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.eclipse.jgit.gitrepo.ManifestParser
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler,org.xml.sax.DTDHandler,org.xml.sax.EntityResolver,org.xml.sax.ErrorHandler
public class ManifestParser extends org.xml.sax.helpers.DefaultHandlerRepo XML manifest parser.- Since:
- 4.0
- See Also:
- git-repo project page
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceManifestParser.IncludedFileReaderA callback to read included xml files.private static classManifestParser.Remote
-
Field Summary
Fields Modifier and Type Field Description private java.net.URIbaseUrlprivate RepoProjectcurrentProjectprivate java.lang.StringdefaultBranchprivate java.lang.StringdefaultRemoteprivate java.lang.StringdefaultRevisionprivate java.lang.Stringfilenameprivate java.util.List<RepoProject>filteredProjectsprivate ManifestParser.IncludedFileReaderincludedReaderprivate java.util.Set<java.lang.String>minusGroupsprivate java.util.Set<java.lang.String>plusGroupsprivate java.util.List<RepoProject>projectsprivate java.util.Map<java.lang.String,ManifestParser.Remote>remotesprivate RepositoryrootRepoprivate intxmlInRead
-
Constructor Summary
Constructors Constructor Description ManifestParser(ManifestParser.IncludedFileReader includedReader, java.lang.String filename, java.lang.String defaultBranch, java.lang.String baseUrl, java.lang.String groups, Repository rootRepo)Constructor for ManifestParser
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendDocument()voidendElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)java.util.List<RepoProject>getFilteredProjects()Getter for filterdProjects.java.util.List<RepoProject>getProjects()Getter for projects.(package private) booleaninGroups(RepoProject proj)private booleanisNestedReferencefile(RepoProject.ReferenceFile referencefile)(package private) static java.net.URInormalizeEmptyPath(java.net.URI u)voidread(java.io.InputStream inputStream)Read the xml file.private voidremoveNestedCopyAndLinkfiles()(package private) voidremoveNotInGroup()Remove projects that are not in our desired groups.(package private) voidremoveOverlaps()Remove projects that sits in a subdirectory of any other project.voidstartElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
-
-
-
Field Detail
-
filename
private final java.lang.String filename
-
baseUrl
private final java.net.URI baseUrl
-
defaultBranch
private final java.lang.String defaultBranch
-
rootRepo
private final Repository rootRepo
-
remotes
private final java.util.Map<java.lang.String,ManifestParser.Remote> remotes
-
plusGroups
private final java.util.Set<java.lang.String> plusGroups
-
minusGroups
private final java.util.Set<java.lang.String> minusGroups
-
projects
private final java.util.List<RepoProject> projects
-
filteredProjects
private final java.util.List<RepoProject> filteredProjects
-
includedReader
private final ManifestParser.IncludedFileReader includedReader
-
defaultRemote
private java.lang.String defaultRemote
-
defaultRevision
private java.lang.String defaultRevision
-
xmlInRead
private int xmlInRead
-
currentProject
private RepoProject currentProject
-
-
Constructor Detail
-
ManifestParser
public ManifestParser(ManifestParser.IncludedFileReader includedReader, java.lang.String filename, java.lang.String defaultBranch, java.lang.String baseUrl, java.lang.String groups, Repository rootRepo)
Constructor for ManifestParser- Parameters:
includedReader- aManifestParser.IncludedFileReaderobject.filename- aStringobject.defaultBranch- aStringobject.baseUrl- aStringobject.groups- aStringobject.rootRepo- aRepositoryobject.
-
-
Method Detail
-
read
public void read(java.io.InputStream inputStream) throws java.io.IOExceptionRead the xml file.- Parameters:
inputStream- aInputStreamobject.- Throws:
java.io.IOException
-
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException- Specified by:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException- Specified by:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
endDocument
public void endDocument() throws org.xml.sax.SAXException- Specified by:
endDocumentin interfaceorg.xml.sax.ContentHandler- Overrides:
endDocumentin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXException
-
normalizeEmptyPath
static java.net.URI normalizeEmptyPath(java.net.URI u)
-
getProjects
public java.util.List<RepoProject> getProjects()
Getter for projects.- Returns:
- projects list reference, never null
-
getFilteredProjects
@NonNull public java.util.List<RepoProject> getFilteredProjects()
Getter for filterdProjects.- Returns:
- filtered projects list reference, never null
-
removeNotInGroup
void removeNotInGroup()
Remove projects that are not in our desired groups.
-
removeOverlaps
void removeOverlaps()
Remove projects that sits in a subdirectory of any other project.
-
removeNestedCopyAndLinkfiles
private void removeNestedCopyAndLinkfiles()
-
inGroups
boolean inGroups(RepoProject proj)
-
isNestedReferencefile
private boolean isNestedReferencefile(RepoProject.ReferenceFile referencefile)
-
-