Пример #1
0
  /* (non-Javadoc)
   * @see org.alfresco.service.cmr.view.Exporter#start()
   */
  public void start(ExporterContext context) {
    try {
      this.context = context;
      contentHandler.startDocument();
      contentHandler.startPrefixMapping(
          NamespaceService.REPOSITORY_VIEW_PREFIX, NamespaceService.REPOSITORY_VIEW_1_0_URI);
      contentHandler.startElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          VIEW_LOCALNAME,
          VIEW_QNAME.toPrefixString(),
          EMPTY_ATTRIBUTES);

      //
      // output metadata
      //
      contentHandler.startElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          METADATA_LOCALNAME,
          METADATA_QNAME.toPrefixString(),
          EMPTY_ATTRIBUTES);

      // exported by
      contentHandler.startElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTEDBY_LOCALNAME,
          EXPORTEDBY_QNAME.toPrefixString(),
          EMPTY_ATTRIBUTES);
      contentHandler.characters(
          context.getExportedBy().toCharArray(), 0, context.getExportedBy().length());
      contentHandler.endElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTEDBY_LOCALNAME,
          EXPORTEDBY_QNAME.toPrefixString());

      // exported date
      contentHandler.startElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTEDDATE_LOCALNAME,
          EXPORTEDDATE_QNAME.toPrefixString(),
          EMPTY_ATTRIBUTES);
      String date = DefaultTypeConverter.INSTANCE.convert(String.class, context.getExportedDate());
      contentHandler.characters(date.toCharArray(), 0, date.length());
      contentHandler.endElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTEDDATE_LOCALNAME,
          EXPORTEDDATE_QNAME.toPrefixString());

      // exporter version
      contentHandler.startElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTERVERSION_LOCALNAME,
          EXPORTERVERSION_QNAME.toPrefixString(),
          EMPTY_ATTRIBUTES);
      contentHandler.characters(
          context.getExporterVersion().toCharArray(), 0, context.getExporterVersion().length());
      contentHandler.endElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTERVERSION_LOCALNAME,
          EXPORTERVERSION_QNAME.toPrefixString());

      // export of
      contentHandler.startElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTOF_LOCALNAME,
          EXPORTOF_QNAME.toPrefixString(),
          EMPTY_ATTRIBUTES);
      String path = nodeService.getPath(context.getExportOf()).toPrefixString(namespaceService);
      contentHandler.characters(path.toCharArray(), 0, path.length());
      contentHandler.endElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          EXPORTOF_LOCALNAME,
          EXPORTOF_QNAME.toPrefixString());

      contentHandler.endElement(
          NamespaceService.REPOSITORY_VIEW_PREFIX,
          METADATA_LOCALNAME,
          METADATA_QNAME.toPrefixString());
    } catch (SAXException e) {
      throw new ExporterException("Failed to process export start event", e);
    }
  }