use of com.google.monitoring.v3.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);
}
use of com.google.monitoring.v3.Group in project bioformats by openmicroscopy.
the class NetCDFServiceImpl method parseAttributesAndVariables.
// -- Helper methods --
/**
* Recursively parses attribute and variable paths, filling
* <code>attributeList</code> and <code>variableList</code>.
* @param groups List of groups to recursively parse.
*/
private void parseAttributesAndVariables(List<Group> groups) {
for (Group group : groups) {
String groupName = group.getName();
List<Attribute> attributes = group.getAttributes();
for (Attribute attribute : attributes) {
String attributeName = attribute.getName();
if (!groupName.endsWith("/"))
attributeName = "/" + attributeName;
attributeList.add(groupName + attributeName);
}
List<Variable> variables = group.getVariables();
for (Variable variable : variables) {
String variableName = variable.getName();
if (!groupName.endsWith("/"))
variableName = "/" + variableName;
variableList.add(variableName);
}
groups = group.getGroups();
parseAttributesAndVariables(groups);
}
}
use of com.google.monitoring.v3.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 com.google.monitoring.v3.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 com.google.monitoring.v3.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;
}
Aggregations