use of org.orcid.jaxb.model.record_rc4.Group in project bioformats by openmicroscopy.
the class NetCDFServiceImpl method getVariableAttributes.
/* (non-Javadoc)
* @see loci.formats.NetCDFService#getVariableAttributes(java.lang.String)
*/
@Override
public Hashtable<String, Object> getVariableAttributes(String name) {
String groupName = getDirectory(name);
String variableName = getName(name);
Group group = getGroup(groupName);
Variable variable = group.findVariable(variableName);
Hashtable<String, Object> toReturn = new Hashtable<String, Object>();
if (variable != null) {
List<Attribute> attributes = variable.getAttributes();
for (Attribute attribute : attributes) {
toReturn.put(attribute.getName(), arrayToString(attribute.getValues()));
}
}
return toReturn;
}
use of org.orcid.jaxb.model.record_rc4.Group in project bioformats by openmicroscopy.
the class NetCDFServiceImpl method getAttributeValue.
/* (non-Javadoc)
* @see loci.formats.NetCDFService#getAttributeValue(java.lang.String)
*/
@Override
public String getAttributeValue(String path) {
String groupName = getDirectory(path);
String attributeName = getName(path);
Group group = getGroup(groupName);
Attribute attribute = group.findAttribute(attributeName);
if (attribute == null)
return null;
return arrayToString(attribute.getValues());
}
use of org.orcid.jaxb.model.record_rc4.Group in project bioformats by openmicroscopy.
the class NetCDFServiceImpl method getGroup.
/**
* Retrieves a group based on its fully qualified path.
* @param path Fully qualified path to the group.
* @return Group or <code>root</code> if the group cannot be found.
*/
private Group getGroup(String path) {
if (path.indexOf('/') == -1) {
return root;
}
StringTokenizer tokens = new StringTokenizer(path, "/");
Group parent = root;
while (tokens.hasMoreTokens()) {
String token = tokens.nextToken();
Group nextParent = parent.findGroup(token);
if (nextParent == null) {
break;
}
parent = nextParent;
}
return parent == null ? root : parent;
}
use of org.orcid.jaxb.model.record_rc4.Group in project sis by apache.
the class DecoderWrapper method addAttributesTo.
/**
* Adds all attributes of the given group, then create nodes for sub-groups (if any).
* This method invokes itself recursively.
*
* @param branch where to add new nodes for the children of given group.
* @param group group for which to add sub-group, variables and attributes.
*/
private void addAttributesTo(final TreeTable.Node branch, final Group group) {
for (final Group sub : group.getGroups()) {
final TreeTable.Node node = branch.newChild();
node.setValue(TableColumn.NAME, sub.getShortName());
addAttributesTo(node, sub);
}
for (final ucar.nc2.Variable variable : group.getVariables()) {
final TreeTable.Node node = branch.newChild();
node.setValue(TableColumn.NAME, variable.getShortName());
addAttributesTo(node, variable.attributes());
}
addAttributesTo(branch, group.attributes());
}
use of org.orcid.jaxb.model.record_rc4.Group in project sis by apache.
the class DecoderWrapper method setSearchPath.
/**
* Defines the groups where to search for named attributes, in preference order.
* The {@code null} group name stands for the global attributes.
*/
@Override
public void setSearchPath(final String... groupNames) {
final Group[] groups = new Group[groupNames.length];
int count = 0;
for (final String name : groupNames) {
if (name != null) {
final Group group = file.findGroup(name);
if (group == null) {
// Group not found - do not increment the counter.
continue;
}
groups[count] = group;
}
count++;
}
this.groups = ArraysExt.resize(groups, count);
}
Aggregations