List of usage examples for org.xml.sax.helpers AttributesImpl addAttribute
public void addAttribute(String uri, String localName, String qName, String type, String value)
From source file:edu.mayo.informatics.lexgrid.convert.directConversions.hl7.HL7MapToLexGrid.java
void loadMetaData(CodingScheme csclass, String connectionString, String driver) { messages_.info("Loading individual coding scheme metadata"); Connection c = null;/*from w w w. j a v a 2 s.c o m*/ // create the filename of the metadata file to be created String filename = loaderPrefs.getXMLMetadataFilePath() + "/" + PreferenceLoaderConstants.META_HL7_METADATA_FILE_NAME; FileOutputStream fos; try { fos = new FileOutputStream(filename); OutputFormat of = new OutputFormat("XML", "ISO-8859-1", true); of.setIndent(1); of.setIndenting(true); XMLSerializer serializer = new XMLSerializer(fos, of); // SAX2.0 ContentHandler. ContentHandler hd = serializer.asContentHandler(); hd.startDocument(); // Element attributes. AttributesImpl atts = new AttributesImpl(); // CODINGSCHEMES tag. hd.startElement("", "", "codingSchemes", atts); String defaultLanguage = "en"; String isNative = "0"; String codeSystemId; String codeSystemType; String codeSystemName; String fullName; String description; String releaseId; String copyrightNotice; Integer approximateNumberofConcepts; try { c = DBUtility.connectToDatabase(accessConnectionString, driver, null, null); PreparedStatement getCodingSchemeMetaData = c .prepareStatement("SELECT b.codeSystemid, b.codeSystemType, b.codeSystemName, " + "b.fullName, b.description, b.releaseId, b.copyrightNotice " + "FROM VCS_code_system AS b"); ResultSet codingSchemeMetaData = getCodingSchemeMetaData.executeQuery(); PreparedStatement getCodingSchemeConceptCount = c .prepareStatement("SELECT VCS_concept_code_xref.codeSystemId2, " + "COUNT (VCS_concept_code_xref.codeSystemId2) as conceptcount " + "FROM VCS_concept_code_xref " + "GROUP BY VCS_concept_code_xref.codeSystemId2;"); ResultSet codingSchemeConceptCount = getCodingSchemeConceptCount.executeQuery(); Hashtable<String, Integer> conceptCountList = new Hashtable<String, Integer>(); while (codingSchemeConceptCount.next()) { String codingSchemeId = codingSchemeConceptCount.getString("codeSystemId2"); String codingSchemeCount = codingSchemeConceptCount.getString("conceptcount"); conceptCountList.put(new String(codingSchemeId), new Integer(codingSchemeCount)); } codingSchemeConceptCount.close(); int codeSchemeCounter = 0; while (codingSchemeMetaData.next()) { codeSystemId = codingSchemeMetaData.getString("codeSystemid"); if (codeSystemId == null) { codeSystemId = SQLTableConstants.TBLCOLVAL_MISSING; } codeSystemType = codingSchemeMetaData.getString("codeSystemType"); if (codeSystemType == null) { codeSystemType = SQLTableConstants.TBLCOLVAL_MISSING; } codeSystemName = codingSchemeMetaData.getString("codeSystemName"); if (codeSystemName == null) { codeSystemName = SQLTableConstants.TBLCOLVAL_MISSING; } fullName = codingSchemeMetaData.getString("fullName"); if (fullName == null) { fullName = SQLTableConstants.TBLCOLVAL_MISSING; } description = codingSchemeMetaData.getString("description"); if (description == null) { description = SQLTableConstants.TBLCOLVAL_MISSING; } // The description contains HTML tags. We try to remove // them. else { int begin = description.lastIndexOf("<p>"); int end = description.lastIndexOf("</p>"); if (begin > -1) { if (begin + 3 < end) description = description.substring(begin + 3, end); } } releaseId = codingSchemeMetaData.getString("releaseId"); if (releaseId == null) { releaseId = SQLTableConstants.TBLCOLVAL_MISSING; } copyrightNotice = codingSchemeMetaData.getString("copyrightNotice"); if (copyrightNotice == null) { copyrightNotice = SQLTableConstants.TBLCOLVAL_MISSING; } approximateNumberofConcepts = ((Integer) conceptCountList.get(codeSystemId)); if (approximateNumberofConcepts == null) { approximateNumberofConcepts = new Integer(0); } // Begin codingScheme element atts.clear(); atts.addAttribute("", "", SQLTableConstants.TBLCOL_CODINGSCHEMENAME, "CDATA", codeSystemName); // May want to change to _fullName atts.addAttribute("", "", SQLTableConstants.TBLCOL_FORMALNAME, "CDATA", fullName); atts.addAttribute("", "", SQLTableConstants.TBLCOL_CODINGSCHEMEURI, "CDATA", codeSystemId); atts.addAttribute("", "", SQLTableConstants.TBLCOL_DEFAULTLANGUAGE, "CDATA", defaultLanguage); atts.addAttribute("", "", SQLTableConstants.TBLCOL_REPRESENTSVERSION, "CDATA", releaseId); atts.addAttribute("", "", SQLTableConstants.TBLCOL_ISNATIVE, "CDATA", isNative); atts.addAttribute("", "", SQLTableConstants.TBLCOL_APPROXNUMCONCEPTS, "CDATA", approximateNumberofConcepts.toString()); hd.startElement("", "", SQLTableConstants.TBLCOL_CODINGSCHEME, atts); // localname atts.clear(); hd.startElement("", "", "localName", atts); hd.characters(codeSystemName.toCharArray(), 0, codeSystemName.length()); hd.endElement("", "", SQLTableConstants.TBLCOLVAL_LOCALNAME); // entityDescription atts.clear(); hd.startElement("", "", SQLTableConstants.TBLCOL_ENTITYDESCRIPTION, atts); hd.characters(description.toCharArray(), 0, description.length()); hd.endElement("", "", SQLTableConstants.TBLCOL_ENTITYDESCRIPTION); // copyright atts.clear(); hd.startElement("", "", SQLTableConstants.TBLCOL_COPYRIGHT, atts); hd.characters(copyrightNotice.toCharArray(), 0, copyrightNotice.length()); hd.endElement("", "", SQLTableConstants.TBLCOL_COPYRIGHT); // May need to include as Property // // CodingScheme // atts.clear(); // hd.startElement("","","CodingScheme",atts); // hd.characters(_codeSystemType.toCharArray(),0,_codeSystemType.length()); // hd.endElement("","","CodingScheme"); // End codingScheme element hd.endElement("", "", SQLTableConstants.TBLCOL_CODINGSCHEME); codeSchemeCounter++; } // End while there are result rows to process getCodingSchemeConceptCount.close(); hd.endElement("", "", "codingSchemes"); hd.endDocument(); fos.close(); } catch (Exception e) { messages_.error("Failed while preparing HL7 Code System MetaData.", e); e.printStackTrace(); } finally { try { c.close(); } catch (SQLException e) { messages_.debug("An error occurred while closing the MS Access connection: " + e.getMessage()); e.printStackTrace(); } } } catch (FileNotFoundException fnfe) { messages_.debug("Loader Preferences file was not found, file: " + filename); fnfe.printStackTrace(); } catch (IOException ioe) { messages_.debug("IOException, file: " + filename); ioe.printStackTrace(); } catch (SAXException saxe) { messages_.debug("SAXException, file: " + filename); saxe.printStackTrace(); } }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void startQueryResult(final HCTQueryResult result, final HippoItem base) throws SAXException, RepositoryException { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.SIZE.getName(), Attribute.SIZE.getName(), XSD_LONG, String.valueOf(result.getUuids().size())); attrs.addAttribute(NS_EMPTY, Attribute.PAGE.getName(), Attribute.PAGE.getName(), XSD_LONG, String.valueOf(result.getPage())); attrs.addAttribute(NS_EMPTY, Attribute.TOTAL_PAGES.getName(), Attribute.TOTAL_PAGES.getName(), XSD_LONG, String.valueOf(result.getTotalPages())); saxConsumer.startElement(NS_HCT, Element.QUERY_RESULT.getName(), PREFIX_HCT + ":" + Element.QUERY_RESULT.getName(), attrs); saxConsumer.startElement(NS_HCT, Element.BASE.getName(), PREFIX_HCT + ":" + Element.BASE.getName(), EMPTY_ATTRS);// w ww . j av a 2s . c o m if (base != null) { if (base instanceof HCTTaxonomyCategoryBean) { startTaxonomy((HCTTaxonomyCategoryBean) base, result.getLocale()); endTaxonomy(); } else { startHippoItem(base, base.getPath()); endHippoItem(base); } } saxConsumer.endElement(NS_HCT, Element.BASE.getName(), PREFIX_HCT + ":" + Element.BASE.getName()); }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public <T extends HippoItem> void startHippoItem(final T item, final String path) throws SAXException, RepositoryException { final Element elem = item instanceof HippoDocument ? Element.DOCUMENT : Element.FOLDER; final String localeString = item instanceof HippoDocument ? ((HippoDocument) item).getLocaleString() : item instanceof HippoFolder ? ((HippoFolder) item).getLocaleString() : ""; AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, item.getName());/* www. j a va 2s.com*/ attrs.addAttribute(NS_EMPTY, Attribute.TYPE.getName(), Attribute.TYPE.getName(), XSD_STRING, item.getNode().getPrimaryNodeType().getName()); attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, path); attrs.addAttribute(NS_EMPTY, Attribute.LOC_NAME.getName(), Attribute.LOC_NAME.getName(), XSD_STRING, item.getLocalizedName()); attrs.addAttribute(NS_EMPTY, Attribute.LOCALE.getName(), Attribute.LOCALE.getName(), XSD_STRING, localeString); // 0. the item saxConsumer.startElement(NS_HCT, elem.getName(), PREFIX_HCT + ":" + elem.getName(), attrs); // 1. translations saxConsumer.startElement(NS_HCT, Element.TRANSLATIONS.getName(), PREFIX_HCT + ":" + Element.TRANSLATIONS.getName(), EMPTY_ATTRS); for (String locale : item.getAvailableTranslations().getAvailableLocales()) { if (!localeString.equals(locale)) { attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.LOCALE.getName(), Attribute.LOCALE.getName(), XSD_STRING, locale); attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, item.getAvailableTranslations().getTranslation(locale).getCanonicalBean().getPath()); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, item.getAvailableTranslations().getTranslation(locale).getCanonicalBean().getName()); attrs.addAttribute(NS_EMPTY, Attribute.LOC_NAME.getName(), Attribute.LOC_NAME.getName(), XSD_STRING, item.getAvailableTranslations().getTranslation(locale).getCanonicalBean() .getLocalizedName()); saxConsumer.startElement(NS_HCT, Element.TRANSLATION.getName(), PREFIX_HCT + ":" + Element.TRANSLATION.getName(), attrs); if (item instanceof HippoDocument) { attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, "hippo:availability"); saxConsumer.startElement(NS_HCT, Element.FIELD.getName(), PREFIX_HCT + ":" + Element.FIELD.getName(), attrs); for (String value : (String[]) item.getAvailableTranslations().getTranslation(locale) .getProperty("hippo:availability")) { saxConsumer.startElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName(), EMPTY_ATTRS); saxConsumer.characters(value.toCharArray(), 0, value.length()); saxConsumer.endElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName()); } saxConsumer.endElement(NS_HCT, Element.FIELD.getName(), PREFIX_HCT + ":" + Element.FIELD.getName()); } saxConsumer.endElement(NS_HCT, Element.TRANSLATION.getName(), PREFIX_HCT + ":" + Element.TRANSLATION.getName()); } } saxConsumer.endElement(NS_HCT, Element.TRANSLATIONS.getName(), PREFIX_HCT + ":" + Element.TRANSLATIONS.getName()); }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void startHippoCompound(final HippoDocument compound) throws SAXException, RepositoryException { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, compound.getName());/*from www . jav a 2 s .c o m*/ attrs.addAttribute(NS_EMPTY, Attribute.TYPE.getName(), Attribute.TYPE.getName(), XSD_STRING, compound.getNode().getPrimaryNodeType().getName()); attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, compound.getPath()); saxConsumer.startElement(NS_HCT, Element.COMPOUND.getName(), PREFIX_HCT + ":" + Element.COMPOUND.getName(), attrs); }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void dumpAssets(final List<HippoAsset> assets, final String elementName, final boolean wrap, final String dateFormat, final Locale locale) throws SAXException { if (wrap) {/* w ww . j a v a2 s.c o m*/ saxConsumer.startElement(NS_HCT, Element.ASSETS.getName(), PREFIX_HCT + ":" + Element.ASSETS.getName(), EMPTY_ATTRS); } final SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, locale); for (HippoAsset asset : assets) { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, asset.getName()); if (asset.getParentBean().getChildBeans("hippo:translation") != null && !asset.getParentBean().getChildBeans("hippo:translation").isEmpty()) { attrs.addAttribute(NS_EMPTY, Attribute.LOC_NAME.getName(), Attribute.LOC_NAME.getName(), XSD_STRING, ((HippoItem) asset.getParentBean().getChildBeans("hippo:translation").get(0)) .getProperty("hippo:message", asset.getName()).toString()); } else { attrs.addAttribute(NS_EMPTY, Attribute.LOC_NAME.getName(), Attribute.LOC_NAME.getName(), XSD_STRING, asset.getName()); } attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, asset.getPath()); attrs.addAttribute(NS_EMPTY, Attribute.MIMETYPE.getName(), Attribute.MIMETYPE.getName(), XSD_STRING, asset.getAsset().getMimeType()); attrs.addAttribute(NS_EMPTY, Attribute.SIZE_KB.getName(), Attribute.SIZE_KB.getName(), XSD_INT, String.valueOf(asset.getAsset().getLengthKB())); attrs.addAttribute(NS_EMPTY, Attribute.LAST_MOD.getName(), Attribute.LAST_MOD.getName(), XSD_DATETIME, sdf.format(asset.getAsset().getLastModified().getTime())); saxConsumer.startElement(NS_HCT, elementName, PREFIX_HCT + ":" + elementName, attrs); saxConsumer.endElement(NS_HCT, elementName, PREFIX_HCT + ":" + elementName); } if (wrap) { saxConsumer.endElement(NS_HCT, Element.ASSETS.getName(), PREFIX_HCT + ":" + Element.ASSETS.getName()); } }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void dumpImages(final List<HippoGalleryImageSet> images, final String elementName, final boolean wrap) throws SAXException, ObjectBeanManagerException { if (wrap) {//from ww w . j av a2 s . c o m saxConsumer.startElement(NS_HCT, Element.IMAGES.getName(), PREFIX_HCT + ":" + Element.IMAGES.getName(), EMPTY_ATTRS); } for (HippoGalleryImageSet img : images) { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, img.getPath()); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, img.getName()); if (StringUtils.isNotBlank(img.getDescription())) { attrs.addAttribute(NS_EMPTY, Attribute.DESC.getName(), Attribute.DESC.getName(), XSD_STRING, img.getDescription()); } attrs.addAttribute(NS_EMPTY, Attribute.HEIGHT.getName(), Attribute.HEIGHT.getName(), XSD_INT, String.valueOf(img.getOriginal().getHeight())); attrs.addAttribute(NS_EMPTY, Attribute.WIDTH.getName(), Attribute.WIDTH.getName(), XSD_INT, String.valueOf(img.getOriginal().getWidth())); saxConsumer.startElement(NS_HCT, elementName, PREFIX_HCT + ":" + elementName, attrs); saxConsumer.endElement(NS_HCT, elementName, PREFIX_HCT + ":" + elementName); } if (wrap) { saxConsumer.endElement(NS_HCT, Element.IMAGES.getName(), PREFIX_HCT + ":" + Element.IMAGES.getName()); } }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void dumpRelatedDocs(final List<HippoDocument> relDocs, final String elementName, final boolean wrap) throws SAXException, ObjectBeanManagerException { if (wrap) {/*www.j a v a2 s. c om*/ saxConsumer.startElement(NS_HCT, Element.RELATED_DOCS.getName(), PREFIX_HCT + ":" + Element.RELATED_DOCS.getName(), EMPTY_ATTRS); } AttributesImpl attrs; for (HippoDocument relDoc : relDocs) { attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, relDoc.getName()); attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, relDoc.getPath()); attrs.addAttribute(NS_EMPTY, Attribute.LOC_NAME.getName(), Attribute.LOC_NAME.getName(), XSD_STRING, relDoc.getLocalizedName()); attrs.addAttribute(NS_EMPTY, Attribute.LOCALE.getName(), Attribute.LOCALE.getName(), XSD_STRING, relDoc.getLocalizedName()); saxConsumer.startElement(NS_HCT, elementName, PREFIX_HCT + ":" + elementName, attrs); saxConsumer.endElement(NS_HCT, elementName, PREFIX_HCT + ":" + elementName); } if (wrap) { saxConsumer.endElement(NS_HCT, Element.RELATED_DOCS.getName(), PREFIX_HCT + ":" + Element.RELATED_DOCS.getName()); } }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void dumpTags(final TagCollection tags) throws SAXException { saxConsumer.startElement(NS_HCT, Element.TAGS.getName(), PREFIX_HCT + ":" + Element.TAGS.getName(), EMPTY_ATTRS);/* w w w . j a v a 2s . c om*/ for (Tag tag : tags.values()) { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.SCORE.getName(), Attribute.SCORE.getName(), XSD_DOUBLE, String.valueOf(tag.getScore())); saxConsumer.startElement(NS_HCT, Element.TAG.getName(), PREFIX_HCT + ":" + Element.TAG.getName(), attrs); saxConsumer.characters(tag.getName().toCharArray(), 0, tag.getName().length()); saxConsumer.endElement(NS_HCT, Element.TAG.getName(), PREFIX_HCT + ":" + Element.TAG.getName()); } saxConsumer.endElement(NS_HCT, Element.TAGS.getName(), PREFIX_HCT + ":" + Element.TAGS.getName()); }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void startTaxonomy(final HCTTaxonomyCategoryBean taxonomy, final Locale locale) throws SAXException { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, taxonomy.getKey());/*from w w w . jav a 2s .co m*/ attrs.addAttribute(NS_EMPTY, Attribute.LOC_NAME.getName(), Attribute.LOC_NAME.getName(), XSD_STRING, taxonomy.getLocalizedName(locale.getLanguage())); attrs.addAttribute(NS_EMPTY, Attribute.ORDER.getName(), Attribute.ORDER.getName(), XSD_STRING, taxonomy.getOrder(locale.getLanguage())); attrs.addAttribute(NS_EMPTY, Attribute.PATH.getName(), Attribute.PATH.getName(), XSD_STRING, taxonomy.getPath()); saxConsumer.startElement(NS_HCT, Element.TAXONOMY.getName(), PREFIX_HCT + ":" + Element.TAXONOMY.getName(), attrs); }
From source file:net.tirasa.hct.cocoon.sax.HippoItemXMLDumper.java
public void dumpField(final Entry<String, Object> entry, final String dateFormat, final Locale locale) throws SAXException { final AttributesImpl attrs = new AttributesImpl(); attrs.addAttribute(NS_EMPTY, Attribute.NAME.getName(), Attribute.NAME.getName(), XSD_STRING, entry.getKey());//from ww w .j a va 2 s . c om saxConsumer.startElement(NS_HCT, Element.FIELD.getName(), PREFIX_HCT + ":" + Element.FIELD.getName(), attrs); if (entry.getValue() instanceof String) { saxConsumer.startElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName(), EMPTY_ATTRS); saxConsumer.characters(((String) entry.getValue()).toCharArray(), 0, ((String) entry.getValue()).length()); saxConsumer.endElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName()); } else if (entry.getValue() instanceof Boolean) { saxConsumer.startElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName(), EMPTY_ATTRS); saxConsumer.characters(((Boolean) entry.getValue()).toString().toCharArray(), 0, ((Boolean) entry.getValue()).toString().length()); saxConsumer.endElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName()); } else if (entry.getValue() instanceof GregorianCalendar) { final SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, locale); final String date = sdf.format(((GregorianCalendar) entry.getValue()).getTime()); saxConsumer.startElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName(), EMPTY_ATTRS); saxConsumer.characters(date.toCharArray(), 0, date.length()); saxConsumer.endElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName()); } else if (entry.getValue() instanceof String[]) { for (int i = 0; i < ((String[]) entry.getValue()).length; i++) { saxConsumer.startElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName(), EMPTY_ATTRS); saxConsumer.characters(((String[]) entry.getValue())[i].toCharArray(), 0, ((String[]) entry.getValue())[i].length()); saxConsumer.endElement(NS_HCT, Element.VALUE.getName(), PREFIX_HCT + ":" + Element.VALUE.getName()); } } saxConsumer.endElement(NS_HCT, Element.FIELD.getName(), PREFIX_HCT + ":" + Element.FIELD.getName()); }