}
private Source parseSource(Element sourceElement) throws ColladaParseException {
Source source = new Source();
ElementSet accessorSet = sourceElement.find("technique_common", "accessor");
if (1 != accessorSet.size()) {
throw new ColladaParseException("Found " + accessorSet.size() + " accessor sets for sourceElement id=" + sourceElement.id() + " name=" + sourceElement.name());
}
Element accessor = accessorSet.first();
String accessorCount = accessor.attr("count");
source.count = Integer.parseInt(accessorCount);
String accessorStride = accessor.attr("stride");
if (null != accessorStride) {
source.stride = Integer.parseInt(accessorStride);
}
String accessorSource = accessor.attr("source");
source.accessorSource = accessorSource;
ElementSet paramSet = accessor.find("param");
int paramSize = paramSet.size();
source.parameterNames = new String[paramSize];
source.parameterTypes = new String[paramSize];
for (int i = 0; i < paramSize; i++) {
Element param = paramSet.get(i);
source.parameterNames[i] = param.attr("name");
source.parameterTypes[i] = param.attr("type");
}
Element objectArray = sourceElement.select(accessorSource);