use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project tika by apache.
the class NetCDFParser method parse.
/*
* (non-Javadoc)
*
* @see org.apache.tika.parser.Parser#parse(java.io.InputStream,
* org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata,
* org.apache.tika.parser.ParseContext)
*/
public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException {
TemporaryResources tmp = TikaInputStream.isTikaInputStream(stream) ? null : new TemporaryResources();
TikaInputStream tis = TikaInputStream.get(stream, tmp);
NetcdfFile ncFile = null;
try {
ncFile = NetcdfFile.open(tis.getFile().getAbsolutePath());
metadata.set("File-Type-Description", ncFile.getFileTypeDescription());
// first parse out the set of global attributes
for (Attribute attr : ncFile.getGlobalAttributes()) {
Property property = resolveMetadataKey(attr.getFullName());
if (attr.getDataType().isString()) {
metadata.add(property, attr.getStringValue());
} else if (attr.getDataType().isNumeric()) {
int value = attr.getNumericValue().intValue();
metadata.add(property, String.valueOf(value));
}
}
XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
xhtml.startDocument();
xhtml.newline();
xhtml.element("h1", "dimensions");
xhtml.startElement("ul");
xhtml.newline();
for (Dimension dim : ncFile.getDimensions()) {
xhtml.element("li", dim.getFullName() + " = " + dim.getLength());
}
xhtml.endElement("ul");
xhtml.element("h1", "variables");
xhtml.startElement("ul");
xhtml.newline();
for (Variable var : ncFile.getVariables()) {
xhtml.startElement("li");
xhtml.characters(var.getDataType() + " " + var.getNameAndDimensions());
xhtml.newline();
List<Attribute> attributes = var.getAttributes();
if (!attributes.isEmpty()) {
xhtml.startElement("ul");
for (Attribute element : attributes) {
xhtml.element("li", element.toString());
}
xhtml.endElement("ul");
}
xhtml.endElement("li");
}
xhtml.endElement("ul");
xhtml.endDocument();
} catch (IOException e) {
throw new TikaException("NetCDF parse error", e);
} finally {
if (ncFile != null) {
ncFile.close();
}
if (tmp != null) {
tmp.dispose();
}
}
}
use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.
the class DefaultCatalogTreeManagerXml method loadNode.
/**
* Recursively load a CatalogTree.
*
* @param element element containing the node to load
* @param parent the parent node of the node in element
* @param model the tree model containing the tree to add the node to
*/
public void loadNode(Element element, CatalogTreeNode parent, DefaultTreeModel model) {
List<Element> nodeList = element.getChildren("node");
if (log.isDebugEnabled()) {
log.debug("Found " + nodeList.size() + " CatalogTreeNode objects");
}
for (int i = 0; i < nodeList.size(); i++) {
Element elem = nodeList.get(i);
Attribute attr = elem.getAttribute("nodeName");
if (attr == null) {
log.warn("unexpected null nodeName. elem= " + elem + ", attrs= " + elem.getAttributes());
continue;
}
String nodeName = attr.getValue();
CatalogTreeNode n = new CatalogTreeNode(nodeName);
addLeaves(elem, n);
model.insertNodeInto(n, parent, parent.getChildCount());
loadNode(elem, n, model);
}
}
use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.
the class SlipTurnoutIconXml method load.
/**
* Create a PositionableLabel, then add to a target JLayeredPane
*
* @param element Top level Element to unpack.
* @param o Editor as an Object
*/
@SuppressWarnings("null")
@Override
public void load(Element element, Object o) {
// create the objects
Editor p = (Editor) o;
SlipTurnoutIcon l = new SlipTurnoutIcon(p);
int rotation = 0;
try {
Attribute a = element.getAttribute("rotate");
rotation = a.getIntValue();
} catch (org.jdom2.DataConversionException e) {
} catch (NullPointerException e) {
// considered normal if the attributes are not present
}
String nameEast = loadTurnout(element, "turnoutEast");
/*try {
nameEast=element.getAttribute("turnoutEast").getValue();
} catch ( NullPointerException e) {
log.error("incorrect information for turnout; must use turnout name");
return;
}*/
String nameWest = loadTurnout(element, "turnoutWest");
/*try {
nameWest=element.getAttribute("turnoutWest").getValue();
} catch ( NullPointerException e) {
log.error("incorrect information for turnout; must use turnout name");
return;
}*/
Attribute a = element.getAttribute("turnoutType");
if (a != null) {
if (a.getValue().equals("doubleSlip")) {
l.setTurnoutType(SlipTurnoutIcon.DOUBLESLIP);
} else if (a.getValue().equals("singleSlip")) {
l.setTurnoutType(SlipTurnoutIcon.SINGLESLIP);
a = element.getAttribute("singleSlipRoute");
if ((a == null) || a.getValue().equals("upperWestToUpperEast")) {
l.setSingleSlipRoute(true);
} else {
l.setSingleSlipRoute(false);
}
} else if (a.getValue().equals("threeWay")) {
l.setTurnoutType(SlipTurnoutIcon.THREEWAY);
a = element.getAttribute("firstTurnoutExit");
if ((a == null) || a.getValue().equals("lower")) {
l.setSingleSlipRoute(false);
} else {
l.setSingleSlipRoute(true);
}
} else if (a.getValue().equals("scissor")) {
l.setTurnoutType(SlipTurnoutIcon.SCISSOR);
if (loadTurnout(element, "turnoutLowerWest") == null) {
l.setSingleSlipRoute(true);
} else {
//loadTurnout(element, "turnoutLowerEast");
l.setSingleSlipRoute(false);
l.setTurnout(loadTurnout(element, "turnoutLowerEast"), SlipTurnoutIcon.LOWEREAST);
l.setTurnout(loadTurnout(element, "turnoutLowerWest"), SlipTurnoutIcon.LOWERWEST);
}
}
}
loadTurnoutIcon("lowerWestToUpperEast", rotation, l, element, p);
loadTurnoutIcon("upperWestToLowerEast", rotation, l, element, p);
switch(l.getTurnoutType()) {
case SlipTurnoutIcon.DOUBLESLIP:
loadTurnoutIcon("lowerWestToLowerEast", rotation, l, element, p);
loadTurnoutIcon("upperWestToUpperEast", rotation, l, element, p);
break;
default:
loadTurnoutIcon("lowerWestToLowerEast", rotation, l, element, p);
break;
}
loadTurnoutIcon("unknown", rotation, l, element, p);
loadTurnoutIcon("inconsistent", rotation, l, element, p);
a = element.getAttribute("tristate");
if ((a == null) || a.getValue().equals("true")) {
l.setTristate(true);
} else {
l.setTristate(false);
}
l.setTurnout(nameEast, SlipTurnoutIcon.EAST);
l.setTurnout(nameWest, SlipTurnoutIcon.WEST);
p.putItem(l);
// load individual item's option settings after editor has set its global settings
loadCommonAttributes(l, Editor.TURNOUTS, element);
}
use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.
the class TurnoutIconXml method load.
/**
* Create a PositionableLabel, then add to a target JLayeredPane
*
* @param element Top level Element to unpack.
* @param o Editor as an Object
*/
@SuppressWarnings("null")
@Override
public void load(Element element, Object o) {
// create the objects
Editor p = (Editor) o;
TurnoutIcon l = new TurnoutIcon(p);
String name;
try {
name = element.getAttribute("turnout").getValue();
} catch (NullPointerException e) {
log.error("incorrect information for turnout; must use turnout name");
p.loadFailed();
return;
}
l.setTurnout(name);
Attribute a = element.getAttribute("tristate");
if ((a == null) || a.getValue().equals("true")) {
l.setTristate(true);
} else {
l.setTristate(false);
}
a = element.getAttribute("momentary");
if ((a != null) && a.getValue().equals("true")) {
l.setMomentary(true);
} else {
l.setMomentary(false);
}
a = element.getAttribute("directControl");
if ((a != null) && a.getValue().equals("true")) {
l.setDirectControl(true);
} else {
l.setDirectControl(false);
}
List<Element> states = element.getChildren();
if (states.size() > 0) {
if (log.isDebugEnabled()) {
log.debug("Main element has" + states.size() + " items");
}
// the element containing the icons
Element elem = element;
Element icons = element.getChild("icons");
if (icons != null) {
List<Element> s = icons.getChildren();
states = s;
// the element containing the icons
elem = icons;
if (log.isDebugEnabled()) {
log.debug("icons element has" + states.size() + " items");
}
}
for (int i = 0; i < states.size(); i++) {
String state = states.get(i).getName();
if (log.isDebugEnabled()) {
log.debug("setIcon for state \"" + state + "\" and " + _nameMap.get(state));
}
NamedIcon icon = loadIcon(l, state, elem, "TurnoutIcon \"" + name + "\": icon \"" + state + "\" ", p);
if (icon != null) {
l.setIcon(_nameMap.get(state), icon);
} else {
log.info("TurnoutIcon \"" + name + "\": icon \"" + state + "\" removed");
return;
}
}
log.debug(states.size() + " icons loaded for " + l.getNameString());
} else {
// case when everything was attributes
int rotation = 0;
try {
rotation = element.getAttribute("rotate").getIntValue();
} catch (org.jdom2.DataConversionException e) {
} catch (NullPointerException e) {
// considered normal if the attributes are not present
}
if (loadTurnoutIcon("thrown", rotation, l, element, name, p) == null) {
return;
}
if (loadTurnoutIcon("closed", rotation, l, element, name, p) == null) {
return;
}
if (loadTurnoutIcon("unknown", rotation, l, element, name, p) == null) {
return;
}
if (loadTurnoutIcon("inconsistent", rotation, l, element, name, p) == null) {
return;
}
}
Element elem = element.getChild("iconmaps");
if (elem != null) {
Attribute attr = elem.getAttribute("family");
if (attr != null) {
l.setFamily(attr.getValue());
}
}
p.putItem(l);
// load individual item's option settings after editor has set its global settings
loadCommonAttributes(l, Editor.TURNOUTS, element);
}
use of org.openmuc.jasn1.compiler.pkix1explicit88.Attribute in project JMRI by JMRI.
the class RollingStockAttribute method store.
/**
* Create an XML element to represent this Entry. This member has to remain
* synchronized with the detailed DTD in operations-cars.dtd and operations-engines.dtd.
* @param root Common Element for storage.
* @param eNames New format Element group name
* @param eName New format Element name
* @param oldName Backwards compatibility Element name
*
*/
public void store(Element root, String eNames, String eName, String oldName) {
if (Control.backwardCompatible) {
Element values = new Element(oldName);
for (String name : getNames()) {
// NOI18N
values.addContent(name + "%%");
}
root.addContent(values);
}
// new format using elements
Element names = new Element(eNames);
for (String name : getNames()) {
Element e = new Element(eName);
if (eName.equals(Xml.LENGTH)) {
e.setAttribute(new Attribute(Xml.VALUE, name));
} else {
e.setAttribute(new Attribute(Xml.NAME, name));
}
names.addContent(e);
}
root.addContent(names);
}
Aggregations