Class ExportTool3
- java.lang.Object
 - 
- java.util.Observable
 - 
- com.nomagic.magicreport.engine.Tool
 - 
- com.nomagic.magicreport.engine.ConcurrentTool
 - 
- com.nomagic.magicdraw.magicreport.tools.ExportTool3
 
 
 
 
 
- 
- All Implemented Interfaces:
 com.nomagic.magicreport.engine.ITool,com.nomagic.magicreport.IVariable,java.io.Serializable,java.lang.Cloneable
@OpenApiAll public class ExportTool3 extends com.nomagic.magicreport.engine.ConcurrentToolThis class allow report to export element in other file format including tree folder. This class use XMLStreamWriter2 instead of DOM.- Since:
 - Aut 31, 2021
 - See Also:
 - Serialized Form
 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description private classExportTool3.ConcurrentHashSet<T>private static classExportTool3.ElementComparator<T>(package private) classExportTool3.ElementIDCreator(package private) classExportTool3.HexaElementIDCreatorprivate static classExportTool3.SymbolElement 
- 
Field Summary
Fields Modifier and Type Field Description private com.nomagic.magicdraw.ui.ElementFilterauxiliaryFilterprivate java.lang.StringblankFieldValuestatic java.lang.StringCONTEXT_NAMEContains a context name.private intcurrentPercentageprivate java.io.FiledefaultOutputDirectoryprivate javax.xml.stream.XMLOutputFactorydocumentBuilderprivate intdummyULIdprivate java.util.Comparator<BaseElement>elementComparatorprivate ExportTool3.ElementIDCreatorelementIDCreatorprivate java.util.Set<java.lang.String>elementsToBeExportprivate static java.lang.StringEXPORT_ALL_ELEMENTexport all elements.private static java.lang.StringEXPORT_ALL_TREE_ELEMENTprivate java.util.Map<java.lang.String,java.lang.Boolean>exportConfigprivate java.util.Set<Diagram>exportedDiagramSetprivate java.util.Set<java.lang.String>exportedIconSetprivate static java.lang.StringFILE_PROTOCOLprivate longfileExportedCountprivate longfilesToBeExportedCountprivate com.nomagic.magicdraw.ui.ElementFilterfilterprivate java.text.DecimalFormatformatterprivate com.nomagic.magicreport.engine.ITemplateEngineglobalEngineprivate com.nomagic.magicreport.format.HTMLFormatterhtmlFormatterprivate java.util.Set<java.lang.String>ignoreDiagramsprivate java.util.Set<java.lang.String>ignoreElementsprivate intimageScaleprivate java.lang.BooleanisDisplayTreeElementIdprivate java.lang.BooleanisDisplayTreeElementNumberprivate booleanisRecursiveprivate java.lang.BooleanisShowAppearsInPageprivate java.lang.BooleanisShowAppliedStereotypeprivate booleanisShowAuxiliaryprivate booleanisSkipExportAllprivate static org.apache.logging.log4j.Loggerlogprivate Projectprojectprivate com.nomagic.uml2.ext.jmi.reflect.ModelReflectionreflectionprivate com.nomagic.magicdraw.magicreport.ui.bean.ReportBeanreportBeanprivate ReportHelperreportHelperprivate java.io.FileresourcesDirprivate java.lang.StringresourcesLocationprivate java.util.Collection<Element>scopesprivate static longserialVersionUIDprivate static java.lang.StringSKIP_EXPORT_ALL_SPEC_ELEMENTprivate java.lang.BooleanskipProgressbarprivate SorterToolsorterprivate com.nomagic.magicdraw.magicreport.ObserverTasktask 
- 
Constructor Summary
Constructors Constructor Description ExportTool3()Create an export tool.ExportTool3(com.nomagic.magicreport.engine.ITemplateEngine engine, java.util.Observer observer)Create an export tool with observer.ExportTool3(java.util.Observer observer)Create an export tool with observer. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidappendPropertyCollection(java.util.Collection<?> propertyCollection, org.codehaus.stax2.XMLStreamWriter2 document, boolean exportResources)private long[]calculateBoundByBorder(ImageExportResult exportResult, java.awt.Rectangle point, double scale, java.awt.Rectangle diagramRect, float[] refPoint)private intcalculatePercentage(long current, long total)private long[]calculateXYByBorder(ImageExportResult exportResult, com.nomagic.magicdraw.magicreport.helper.Point point, double scale, java.awt.Rectangle diagramRect, float[] refPoint)private voidcollectAnchorShapeBounds(javax.swing.text.View view, java.awt.Shape container, java.util.Set<ExportTool3.SymbolElement> shapeList, javax.swing.text.Element element, com.nomagic.magicdraw.uml.symbols.DiagramObjectViewContainer diagramContainer)private java.util.Set<java.lang.String>collectElementPropertiesNames(Element element, java.lang.String mode)Creates and collects groups nodes user friendly names that appears in element's specification dialog tree at specific view mode (Standard/Expert/All)private voidcollectElements()private voidcollectElements(Element exportingElement)private voidcollectOwnedElements(Element exportingElement, boolean isRecursive)private booleancollectOwner(Element exportingElement, java.util.Set<java.lang.String> parents, java.util.Set<Diagram> diagrams, java.util.Set<java.lang.String> notAccepts)voidconsume(com.nomagic.magicreport.engine.ConcurrentTool.ConsumeObject consumeObject)Consume a object.private java.lang.StringconvertModelLinkToFileURL(Element propertyValue)protected voidcreateAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter)protected voidcreateAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter, boolean isSmart)protected voidcreateAndExportSmartElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter)private voidcreateAreaMapForDiagramPresentation(org.codehaus.stax2.XMLStreamWriter2 document, com.nomagic.magicdraw.uml.symbols.DiagramObjectViewContainer diagramContainer, java.util.Collection<PresentationElement> presentationElements, double scale, java.io.FileWriter writer, ImageExportResult exportResult, java.awt.Rectangle diagramRect, float[] refPoint)protected voidcreateAttributeAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, boolean skipData)Create attributes for XML element represents theexportingElementand offer the element to be created into file.private java.lang.StringcreateDiagramTypeName(java.lang.String name)Append 's' after diagram type name.private voidcreateElementAttributeData(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources)private voidcreateElementAttributeData(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean skipData)private com.nomagic.magicdraw.ui.ElementFiltercreateElementFilter(Project project)private voidcreateElementForTree(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources)Create XML element for element which is used to create tree.private java.io.FilecreateOutputByID(java.lang.String prefix, java.lang.String elementID, java.lang.String subfix, boolean forceRenew)private java.io.FilecreateOutputFile(java.lang.String filename)private java.io.FilecreateOutputFromDefault(java.lang.String filename, boolean forceRenew)private java.lang.StringcreateReferneceDiagramType(java.lang.String name)private voidcreateRequiredDirs()private java.io.FilecreateResourcesDir()Create a resource directory.protected java.io.FilecreateResourcesDir(java.lang.String resourcesLocation)Create a resource directory.protected java.lang.StringcreateTagName(java.lang.String tagName)private voidcreateWebData()voiddestroy()Called by the engine to inform this tool is no longer use and that it should destroy any resources that it has allocated.java.lang.StringexportAll(boolean exportResources, boolean exportLinkedFile)Export current opened project into file.protected java.lang.StringexportCustomImageHolder(BaseElement exportingElement)Export the image for the element.private voidexportDiagram(Diagram diagram, Project project, org.codehaus.stax2.XMLStreamWriter2 document, java.lang.String[] mainData, boolean exportResources, boolean exportLinkedFile)Export area mapping of elements in the diagram.com.nomagic.magicreport.engine.ITool.VoidexportDiagramImage(DiagramPresentationElement diagramPresentation, boolean exportResources)ImageExportResultexportDiagramImageWithResult(DiagramPresentationElement diagramPresentation, boolean exportResources)com.nomagic.magicreport.engine.ITool.VoidexportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources)Export element to XML file.com.nomagic.magicreport.engine.ITool.VoidexportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile)Export element to XML file.com.nomagic.magicreport.engine.ITool.VoidexportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, ImageExportResult result)Export element to XML file.com.nomagic.magicreport.engine.ITool.VoidexportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, com.nomagic.magicdraw.ui.ElementFilter filter)private voidexportElement(org.codehaus.stax2.XMLStreamWriter2 parentElement, Element exportingElement, boolean exportResources, boolean exportLinkedFile, boolean skipData)Export xml element for data.xmlprivate voidexportElementForDiagramTree()private com.nomagic.magicreport.engine.ITool.VoidexportElementForDiagramTypeTree(java.util.Map<java.lang.String,java.util.List<Diagram>> diagramTypeMap)private com.nomagic.magicreport.engine.ITool.VoidexportElementForRootDiagramTree(java.util.Map<java.lang.String,java.util.List<Diagram>> diagramTypeMap)com.nomagic.magicreport.engine.ITool.VoidexportElementForTree(java.io.File exportingNodeFile, Element exportingElement, boolean exportResources)Export element to XML file which is used for create tree.com.nomagic.magicreport.engine.ITool.VoidexportElementForTree(java.io.File exportingNodeFile, Element exportingElement, boolean exportResources, com.nomagic.magicdraw.ui.ElementFilter filter)private voidexportFavorite()protected java.lang.StringexportIcon(BaseElement exportingElement)Export the icon for element.java.lang.StringexportIcon(java.lang.String type)private java.lang.StringexportIconForHTMLDocument(Project project, java.lang.String text)For html, it may contain some attributes that refer to element icon.
Ex.private voidexportImageMap(org.codehaus.stax2.XMLStreamWriter2 document, java.lang.String[] mainData, Diagram diagram, boolean exportResources, boolean exportLinkedFile, ImageExportResult exportResult)private voidexportRootTreeAndProfile(org.codehaus.stax2.XMLStreamWriter2 rootElement, java.lang.String resourcesLocation, Package dataModel, Project project, boolean exportResources, boolean exportLinkedFile)private ElementfindRootOwner(Element element)private java.lang.StringformatObject(java.lang.Object object)private com.nomagic.magicdraw.ui.ElementFiltergetAuxiliaryResourceFilter()private java.lang.StringgetBlankField()private java.util.Set<ExportTool3.SymbolElement>getContentShapeAnchorBounds(com.nomagic.magicdraw.uml.symbols.shapes.TextObject textObject, com.nomagic.magicdraw.uml.symbols.DiagramObjectViewContainer diagramContainer)Collect all anchor element from content shape.private java.io.FilegetDefaultOutputLocation(boolean forceRenew)private java.lang.StringgetElementPropertyString(Element exportingElement, java.lang.String propertyName)protected java.lang.StringgetElementType(Element element)Return String representing element type.protected java.lang.StringgetElementTypeForTagName(Element element)private booleangetExportConfig(java.lang.String config)private intgetExportImageSize()private java.lang.StringgetFormattedNumber(long num)private com.nomagic.magicreport.format.HTMLFormattergetHTMLFormatter()static java.lang.StringgetHumanName(java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.String> nameMap)private java.util.Set<java.lang.String>getIgnoreDiagrams()private java.util.Set<java.lang.String>getIgnoreElements()private java.lang.StringgetModeString(java.util.Set<java.lang.String>[] propertiesModes, java.lang.String propertyName)java.lang.StringgetPropertyHumanName(java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.String> nameMap)Get property human name of given property name.protected java.lang.StringgetResourcesLocation()Return location of resources directory.private java.util.Collection<Element>getScopes()protected voidhandleIOException(java.lang.Exception e)private booleanhasActiveHyperlink(Element exportingElement)private booleanhasChildElement(Element exportingElement)private voidincreaseProgressBar(Element exportingElement, java.lang.String id, java.lang.String text)private voidinitialScopeAndVariable()private voidinitialScopeAndVariable(boolean alwaysInit)protected booleanisCancel()private booleanisCreateSpecificationIcon(Element exportingElement)private booleanisDisplayTreeElementId()private booleanisDisplayTreeElementNumber()private static booleanisExportableElement(Element element)Fixed https://jira.nomagic.com/browse/MGRP-3170s 1) Applied Stereotype Instances and Slots that are tagged values should not be exported, since they are not part of actual model 2) Documentation comments should not be exported in a separate file - it is enough to print info in its owner 3) Should not export not user-created ValueSpecifications, like ones that are created when setting multiplicity property valueprivate booleanisExportableSpecElement(Element element)Check element that can be created as xml file for specification panelprivate booleanisExportableTreeElement(Element element)Check element that can be created as xml file for containment treeprivate booleanisHiddenElement(Element exportingElement, com.nomagic.magicdraw.ui.ElementFilter filter)private booleanisNotAcceptAuxiliary(BaseElement testPackage)private booleanisShowAppearsInPage()private booleanisShowAppliedStereotype()private booleanisSkipExportAll()private voidofferElementToConsumeObject(Element exportingElement, boolean exportResources, boolean exportLinkedFile)Export element to XML file.private voidsaveInnerUserDefinedBean(org.codehaus.stax2.XMLStreamWriter2 document, com.nomagic.magicdraw.magicreport.ui.bean.UserDefinedBean userDefinedBean)private voidsetModeString(org.codehaus.stax2.XMLStreamWriter2 xmlElement, java.util.Set<java.lang.String>[] propertiesModes, java.lang.String propertyName)voidsetRecursive(boolean isRecursive)voidsetReportBean(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean)voidsetShowAuxiliary(boolean isShowAuxiliary)private voidwrite(org.w3c.dom.Node node, java.lang.StringBuilder builder)- 
Methods inherited from class com.nomagic.magicreport.engine.ConcurrentTool
getCustomPoolSize, isNoSpaceException, isRunning, offer 
- 
Methods inherited from class com.nomagic.magicreport.engine.Tool
clone, getContext, getProperties, getProperty, getProperty, notifyObservers, setContext, setProperties 
- 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, setChanged 
 - 
 
 - 
 
- 
- 
Field Detail
- 
CONTEXT_NAME
public static final java.lang.String CONTEXT_NAME
Contains a context name.- See Also:
 - Constant Field Values
 
 
- 
serialVersionUID
private static final long serialVersionUID
- See Also:
 - Constant Field Values
 
 
- 
log
private static final org.apache.logging.log4j.Logger log
 
- 
EXPORT_ALL_ELEMENT
private static final java.lang.String EXPORT_ALL_ELEMENT
export all elements. true to export all xml file for containment tree and specification panel.- See Also:
 - Constant Field Values
 
 
- 
EXPORT_ALL_TREE_ELEMENT
private static final java.lang.String EXPORT_ALL_TREE_ELEMENT
- See Also:
 - Constant Field Values
 
 
- 
SKIP_EXPORT_ALL_SPEC_ELEMENT
private static final java.lang.String SKIP_EXPORT_ALL_SPEC_ELEMENT
- See Also:
 - Constant Field Values
 
 
- 
FILE_PROTOCOL
private static final java.lang.String FILE_PROTOCOL
- See Also:
 - Constant Field Values
 
 
- 
formatter
private final java.text.DecimalFormat formatter
 
- 
resourcesDir
private java.io.File resourcesDir
 
- 
dummyULId
private int dummyULId
 
- 
imageScale
private int imageScale
 
- 
project
private Project project
 
- 
reflection
private com.nomagic.uml2.ext.jmi.reflect.ModelReflection reflection
 
- 
exportConfig
private java.util.Map<java.lang.String,java.lang.Boolean> exportConfig
 
- 
elementsToBeExport
private final java.util.Set<java.lang.String> elementsToBeExport
 
- 
exportedDiagramSet
private final java.util.Set<Diagram> exportedDiagramSet
 
- 
exportedIconSet
private final java.util.Set<java.lang.String> exportedIconSet
 
- 
fileExportedCount
private long fileExportedCount
 
- 
filesToBeExportedCount
private long filesToBeExportedCount
 
- 
currentPercentage
private int currentPercentage
 
- 
skipProgressbar
private java.lang.Boolean skipProgressbar
 
- 
elementIDCreator
private ExportTool3.ElementIDCreator elementIDCreator
 
- 
scopes
private java.util.Collection<Element> scopes
 
- 
auxiliaryFilter
private com.nomagic.magicdraw.ui.ElementFilter auxiliaryFilter
 
- 
filter
private com.nomagic.magicdraw.ui.ElementFilter filter
 
- 
isShowAuxiliary
private boolean isShowAuxiliary
 
- 
ignoreElements
private java.util.Set<java.lang.String> ignoreElements
 
- 
ignoreDiagrams
private java.util.Set<java.lang.String> ignoreDiagrams
 
- 
globalEngine
private com.nomagic.magicreport.engine.ITemplateEngine globalEngine
 
- 
reportHelper
private ReportHelper reportHelper
 
- 
htmlFormatter
private com.nomagic.magicreport.format.HTMLFormatter htmlFormatter
 
- 
sorter
private final SorterTool sorter
 
- 
blankFieldValue
private java.lang.String blankFieldValue
 
- 
defaultOutputDirectory
private java.io.File defaultOutputDirectory
 
- 
isRecursive
private boolean isRecursive
 
- 
isSkipExportAll
private boolean isSkipExportAll
 
- 
reportBean
private com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean
 
- 
isShowAppearsInPage
private java.lang.Boolean isShowAppearsInPage
 
- 
isDisplayTreeElementId
private java.lang.Boolean isDisplayTreeElementId
 
- 
isDisplayTreeElementNumber
private java.lang.Boolean isDisplayTreeElementNumber
 
- 
isShowAppliedStereotype
private java.lang.Boolean isShowAppliedStereotype
 
- 
resourcesLocation
private java.lang.String resourcesLocation
 
- 
documentBuilder
private javax.xml.stream.XMLOutputFactory documentBuilder
 
- 
task
private com.nomagic.magicdraw.magicreport.ObserverTask task
 
- 
elementComparator
private final java.util.Comparator<BaseElement> elementComparator
 
 - 
 
- 
Constructor Detail
- 
ExportTool3
public ExportTool3()
Create an export tool. 
- 
ExportTool3
public ExportTool3(java.util.Observer observer)
Create an export tool with observer.- Parameters:
 observer- Observer
 
- 
ExportTool3
public ExportTool3(com.nomagic.magicreport.engine.ITemplateEngine engine, java.util.Observer observer)Create an export tool with observer.- Parameters:
 engine- engineobserver- Observer
 
 - 
 
- 
Method Detail
- 
setRecursive
public void setRecursive(boolean isRecursive)
 
- 
setReportBean
public void setReportBean(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean)
 
- 
setShowAuxiliary
public void setShowAuxiliary(boolean isShowAuxiliary)
 
- 
consume
public void consume(com.nomagic.magicreport.engine.ConcurrentTool.ConsumeObject consumeObject)
Consume a object.- Specified by:
 consumein classcom.nomagic.magicreport.engine.ConcurrentTool- Parameters:
 consumeObject- consume object.- See Also:
 ConcurrentTool.consume(ConsumeObject)
 
- 
increaseProgressBar
private void increaseProgressBar(Element exportingElement, java.lang.String id, java.lang.String text)
 
- 
getFormattedNumber
private java.lang.String getFormattedNumber(long num)
 
- 
calculatePercentage
private int calculatePercentage(long current, long total) 
- 
getBlankField
private java.lang.String getBlankField()
 
- 
formatObject
private java.lang.String formatObject(@CheckForNull java.lang.Object object) 
- 
getScopes
private java.util.Collection<Element> getScopes()
 
- 
getAuxiliaryResourceFilter
private com.nomagic.magicdraw.ui.ElementFilter getAuxiliaryResourceFilter()
 
- 
getExportImageSize
private int getExportImageSize()
 
- 
isSkipExportAll
private boolean isSkipExportAll()
 
- 
isNotAcceptAuxiliary
private boolean isNotAcceptAuxiliary(BaseElement testPackage)
 
- 
collectElementPropertiesNames
private java.util.Set<java.lang.String> collectElementPropertiesNames(Element element, java.lang.String mode)
Creates and collects groups nodes user friendly names that appears in element's specification dialog tree at specific view mode (Standard/Expert/All)- Parameters:
 element- elementmode- view mode from PropertiesModeHelper.MODES- Returns:
 - Collection of String group nodes names
 - See Also:
 PropertiesMode
 
- 
appendPropertyCollection
private void appendPropertyCollection(java.util.Collection<?> propertyCollection, org.codehaus.stax2.XMLStreamWriter2 document, boolean exportResources) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
getModeString
private java.lang.String getModeString(java.util.Set<java.lang.String>[] propertiesModes, java.lang.String propertyName) 
- 
setModeString
private void setModeString(org.codehaus.stax2.XMLStreamWriter2 xmlElement, java.util.Set<java.lang.String>[] propertiesModes, java.lang.String propertyName) throws javax.xml.stream.XMLStreamException- Throws:
 javax.xml.stream.XMLStreamException
 
- 
exportElement
public com.nomagic.magicreport.engine.ITool.Void exportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources)Export element to XML file.- Parameters:
 exportingFile- exporting fileexportingElement- exporting elementexportResources- true if you want to export resources of this element- Returns:
 - nothing
 
 
- 
exportElement
public com.nomagic.magicreport.engine.ITool.Void exportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter) 
- 
exportElement
public com.nomagic.magicreport.engine.ITool.Void exportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile)Export element to XML file.- Parameters:
 exportingFile- exporting fileexportingElement- exporting elementexportResources- true if you want to export resources of this elementexportLinkedFile- true if you want to include linked files.- Returns:
 - nothing
 
 
- 
exportElement
public com.nomagic.magicreport.engine.ITool.Void exportElement(java.io.File exportingFile, Element exportingElement, boolean exportResources, boolean exportLinkedFile, ImageExportResult result)Export element to XML file.- Parameters:
 exportingFile- exporting fileexportingElement- exporting elementexportResources- true if you want to export resources of this elementexportLinkedFile- true if you want to include linked files.result- result of exporting digram- Returns:
 - nothing
 
 
- 
exportImageMap
private void exportImageMap(org.codehaus.stax2.XMLStreamWriter2 document, java.lang.String[] mainData, Diagram diagram, boolean exportResources, boolean exportLinkedFile, @CheckForNull ImageExportResult exportResult) throws javax.xml.stream.XMLStreamException- Throws:
 javax.xml.stream.XMLStreamException
 
- 
createAreaMapForDiagramPresentation
private void createAreaMapForDiagramPresentation(org.codehaus.stax2.XMLStreamWriter2 document, com.nomagic.magicdraw.uml.symbols.DiagramObjectViewContainer diagramContainer, java.util.Collection<PresentationElement> presentationElements, double scale, java.io.FileWriter writer, ImageExportResult exportResult, @CheckForNull java.awt.Rectangle diagramRect, float[] refPoint) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
calculateXYByBorder
private long[] calculateXYByBorder(ImageExportResult exportResult, com.nomagic.magicdraw.magicreport.helper.Point point, double scale, java.awt.Rectangle diagramRect, float[] refPoint)
 
- 
calculateBoundByBorder
private long[] calculateBoundByBorder(ImageExportResult exportResult, java.awt.Rectangle point, double scale, java.awt.Rectangle diagramRect, float[] refPoint)
 
- 
createRequiredDirs
private void createRequiredDirs()
 
- 
convertModelLinkToFileURL
@CheckForNull private java.lang.String convertModelLinkToFileURL(Element propertyValue) throws java.io.IOException
- Throws:
 java.io.IOException
 
- 
exportDiagram
private void exportDiagram(Diagram diagram, Project project, org.codehaus.stax2.XMLStreamWriter2 document, java.lang.String[] mainData, boolean exportResources, boolean exportLinkedFile) throws javax.xml.stream.XMLStreamException
Export area mapping of elements in the diagram.- Throws:
 javax.xml.stream.XMLStreamException
 
- 
exportDiagramImage
public com.nomagic.magicreport.engine.ITool.Void exportDiagramImage(DiagramPresentationElement diagramPresentation, boolean exportResources)
 
- 
exportDiagramImageWithResult
public ImageExportResult exportDiagramImageWithResult(DiagramPresentationElement diagramPresentation, boolean exportResources)
 
- 
getHTMLFormatter
private com.nomagic.magicreport.format.HTMLFormatter getHTMLFormatter()
 
- 
exportElementForTree
public com.nomagic.magicreport.engine.ITool.Void exportElementForTree(java.io.File exportingNodeFile, Element exportingElement, boolean exportResources, com.nomagic.magicdraw.ui.ElementFilter filter) 
- 
exportElementForTree
public com.nomagic.magicreport.engine.ITool.Void exportElementForTree(java.io.File exportingNodeFile, Element exportingElement, boolean exportResources)Export element to XML file which is used for create tree.- Parameters:
 exportingNodeFile- exporting fileexportingElement- export elementexportResources- true if you want to export resources of this element- Returns:
 - nothing
 
 
- 
write
private void write(org.w3c.dom.Node node, java.lang.StringBuilder builder) 
- 
createElementForTree
private void createElementForTree(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionCreate XML element for element which is used to create tree.- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
getElementPropertyString
@CheckForNull private java.lang.String getElementPropertyString(Element exportingElement, java.lang.String propertyName)
 
- 
hasActiveHyperlink
private boolean hasActiveHyperlink(Element exportingElement)
 
- 
isCreateSpecificationIcon
private boolean isCreateSpecificationIcon(Element exportingElement)
 
- 
isHiddenElement
private boolean isHiddenElement(Element exportingElement, com.nomagic.magicdraw.ui.ElementFilter filter)
 
- 
hasChildElement
private boolean hasChildElement(Element exportingElement)
 
- 
getResourcesLocation
protected java.lang.String getResourcesLocation()
Return location of resources directory.- Returns:
 - a path to resources directory.
 
 
- 
createResourcesDir
protected java.io.File createResourcesDir(java.lang.String resourcesLocation) throws java.io.IOExceptionCreate a resource directory.- Parameters:
 resourcesLocation- resources location- Returns:
 - a File pointed to resources directory
 - Throws:
 java.io.IOException- if IO error occurs.
 
- 
createResourcesDir
private java.io.File createResourcesDir() throws java.io.IOExceptionCreate a resource directory.- Returns:
 - a File pointed to resources directory
 - Throws:
 java.io.IOException- if IO error occurs.
 
- 
exportIcon
public java.lang.String exportIcon(java.lang.String type) throws java.io.IOException- Throws:
 java.io.IOException
 
- 
exportIcon
protected java.lang.String exportIcon(BaseElement exportingElement) throws java.io.IOException
Export the icon for element. This method should not perform graphic renderer by itself. The icon exporting process should be enqueue by methodoffer(ConsumeObject).- Parameters:
 exportingElement- target element- Returns:
 - path to icon
 - Throws:
 java.io.IOException- if IO error occurs
 
- 
exportCustomImageHolder
protected java.lang.String exportCustomImageHolder(BaseElement exportingElement) throws java.io.IOException
Export the image for the element. Image for the element will be exported from strereotype CustomImageHolder.- Parameters:
 exportingElement- target element- Returns:
 - path to icon
 - Throws:
 java.io.IOException- if IO error occurs
 
- 
offerElementToConsumeObject
private void offerElementToConsumeObject(Element exportingElement, boolean exportResources, boolean exportLinkedFile)
Export element to XML file. Use element id as file name.- Parameters:
 exportingElement- exporting element
 
- 
createElementAttributeData
private void createElementAttributeData(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
createElementAttributeData
private void createElementAttributeData(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean skipData) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
createAndExportElement
protected void createAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
createAndExportSmartElement
protected void createAndExportSmartElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
createAndExportElement
protected void createAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, @CheckForNull com.nomagic.magicdraw.ui.ElementFilter filter, boolean isSmart) throws java.io.IOException, javax.xml.stream.XMLStreamException- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
createAttributeAndExportElement
protected void createAttributeAndExportElement(org.codehaus.stax2.XMLStreamWriter2 document, Element exportingElement, boolean exportResources, boolean exportLinkedFile, boolean skipData) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionCreate attributes for XML element represents theexportingElementand offer the element to be created into file. Returnnullto cancel this element exporting.- Parameters:
 document- XML documentexportingElement- exporting elementexportResources- true if you want to export resources of this elementexportLinkedFile- true if you want to include linked files.skipData- true to create only main attribute to xml document.- Throws:
 java.io.IOException- when IO error occurred.javax.xml.stream.XMLStreamException
 
- 
getElementType
protected java.lang.String getElementType(Element element)
Return String representing element type.- Parameters:
 element- element- Returns:
 - a String representing element type.
 
 
- 
getElementTypeForTagName
protected java.lang.String getElementTypeForTagName(Element element)
 
- 
createTagName
protected java.lang.String createTagName(java.lang.String tagName)
 
- 
exportElement
private void exportElement(org.codehaus.stax2.XMLStreamWriter2 parentElement, Element exportingElement, boolean exportResources, boolean exportLinkedFile, boolean skipData) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionExport xml element for data.xml- Parameters:
 parentElement- dom parentexportingElement- element to be exportedexportResources- true to export sources (icon, image)exportLinkedFile- true to export link fileskipData- true to create only main data- Throws:
 java.io.IOExceptionjavax.xml.stream.XMLStreamException
 
- 
createOutputByID
private java.io.File createOutputByID(java.lang.String prefix, java.lang.String elementID, java.lang.String subfix, boolean forceRenew) 
- 
getDefaultOutputLocation
private java.io.File getDefaultOutputLocation(boolean forceRenew)
 
- 
createOutputFromDefault
private java.io.File createOutputFromDefault(java.lang.String filename, boolean forceRenew) 
- 
createOutputFile
private java.io.File createOutputFile(java.lang.String filename)
 
- 
initialScopeAndVariable
private void initialScopeAndVariable()
 
- 
initialScopeAndVariable
private void initialScopeAndVariable(boolean alwaysInit)
 
- 
collectElements
private void collectElements()
 
- 
collectOwner
private boolean collectOwner(Element exportingElement, java.util.Set<java.lang.String> parents, java.util.Set<Diagram> diagrams, java.util.Set<java.lang.String> notAccepts)
 
- 
collectElements
private void collectElements(Element exportingElement)
 
- 
collectOwnedElements
private void collectOwnedElements(Element exportingElement, boolean isRecursive)
 
- 
exportAll
public java.lang.String exportAll(boolean exportResources, boolean exportLinkedFile)Export current opened project into file.- Parameters:
 exportResources- true if you want to export resources.exportLinkedFile- true if you want to include linked files.- Returns:
 - nothing
 
 
- 
exportRootTreeAndProfile
private void exportRootTreeAndProfile(org.codehaus.stax2.XMLStreamWriter2 rootElement, java.lang.String resourcesLocation, Package dataModel, Project project, boolean exportResources, boolean exportLinkedFile) 
- 
createElementFilter
private com.nomagic.magicdraw.ui.ElementFilter createElementFilter(Project project)
 
- 
destroy
public void destroy()
Called by the engine to inform this tool is no longer use and that it should destroy any resources that it has allocated.- Overrides:
 destroyin classcom.nomagic.magicreport.engine.ConcurrentTool- See Also:
 ConcurrentTool.destroy()
 
- 
collectAnchorShapeBounds
private void collectAnchorShapeBounds(javax.swing.text.View view, java.awt.Shape container, java.util.Set<ExportTool3.SymbolElement> shapeList, javax.swing.text.Element element, com.nomagic.magicdraw.uml.symbols.DiagramObjectViewContainer diagramContainer) 
- 
getContentShapeAnchorBounds
private java.util.Set<ExportTool3.SymbolElement> getContentShapeAnchorBounds(com.nomagic.magicdraw.uml.symbols.shapes.TextObject textObject, com.nomagic.magicdraw.uml.symbols.DiagramObjectViewContainer diagramContainer)
Collect all anchor element from content shape.- Returns:
 - a list containing anchor shape
 
 
- 
getPropertyHumanName
public java.lang.String getPropertyHumanName(java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.String> nameMap)Get property human name of given property name. IfnameMapis used, human name will be resolved bynameMapthen resource string.- Parameters:
 propertyName- a property namenameMap- optional provides new name map fromDSL.getPropertyNameMap(com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element)to resolve property name from <<metaType>>- Returns:
 - human name
 
 
- 
getHumanName
public static java.lang.String getHumanName(java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.String> nameMap) 
- 
exportElementForDiagramTree
private void exportElementForDiagramTree() throws java.io.FileNotFoundException, javax.xml.stream.XMLStreamException- Throws:
 java.io.FileNotFoundExceptionjavax.xml.stream.XMLStreamException
 
- 
createReferneceDiagramType
private java.lang.String createReferneceDiagramType(java.lang.String name)
 
- 
createDiagramTypeName
private java.lang.String createDiagramTypeName(java.lang.String name)
Append 's' after diagram type name. 
- 
exportElementForRootDiagramTree
private com.nomagic.magicreport.engine.ITool.Void exportElementForRootDiagramTree(java.util.Map<java.lang.String,java.util.List<Diagram>> diagramTypeMap)
 
- 
exportElementForDiagramTypeTree
private com.nomagic.magicreport.engine.ITool.Void exportElementForDiagramTypeTree(java.util.Map<java.lang.String,java.util.List<Diagram>> diagramTypeMap) throws javax.xml.stream.XMLStreamException, java.io.FileNotFoundException
- Throws:
 javax.xml.stream.XMLStreamExceptionjava.io.FileNotFoundException
 
- 
getExportConfig
private boolean getExportConfig(java.lang.String config)
 
- 
isExportableTreeElement
private boolean isExportableTreeElement(Element element)
Check element that can be created as xml file for containment tree- Parameters:
 element- specific element- Returns:
 - true if it can be created as xml file; otherwise, false.
 
 
- 
isExportableSpecElement
private boolean isExportableSpecElement(Element element)
Check element that can be created as xml file for specification panel- Parameters:
 element- specific element- Returns:
 - true if it can be created as xml file; otherwise, false.
 
 
- 
isExportableElement
private static boolean isExportableElement(Element element)
Fixed https://jira.nomagic.com/browse/MGRP-3170s 1) Applied Stereotype Instances and Slots that are tagged values should not be exported, since they are not part of actual model 2) Documentation comments should not be exported in a separate file - it is enough to print info in its owner 3) Should not export not user-created ValueSpecifications, like ones that are created when setting multiplicity property value 
- 
exportIconForHTMLDocument
private java.lang.String exportIconForHTMLDocument(Project project, java.lang.String text)
For html, it may contain some attributes that refer to element icon.
Ex.This icon should be exported and the value of "src" attribute should be changed to the url of exported icon.
- Parameters:
 project- current projecttext- html text- Returns:
 - updated text
 
 
- 
isCancel
protected boolean isCancel()
 
- 
handleIOException
protected void handleIOException(java.lang.Exception e)
 
- 
exportFavorite
private void exportFavorite() throws javax.xml.stream.XMLStreamException, java.io.FileNotFoundException- Throws:
 javax.xml.stream.XMLStreamExceptionjava.io.FileNotFoundException
 
- 
getIgnoreElements
private java.util.Set<java.lang.String> getIgnoreElements()
 
- 
getIgnoreDiagrams
private java.util.Set<java.lang.String> getIgnoreDiagrams()
 
- 
isShowAppearsInPage
private boolean isShowAppearsInPage()
 
- 
isDisplayTreeElementId
private boolean isDisplayTreeElementId()
 
- 
isDisplayTreeElementNumber
private boolean isDisplayTreeElementNumber()
 
- 
isShowAppliedStereotype
private boolean isShowAppliedStereotype()
 
- 
createWebData
private void createWebData() throws javax.xml.stream.XMLStreamException, java.io.FileNotFoundException- Throws:
 javax.xml.stream.XMLStreamExceptionjava.io.FileNotFoundException
 
- 
saveInnerUserDefinedBean
private void saveInnerUserDefinedBean(org.codehaus.stax2.XMLStreamWriter2 document, com.nomagic.magicdraw.magicreport.ui.bean.UserDefinedBean userDefinedBean) throws javax.xml.stream.XMLStreamException- Throws:
 javax.xml.stream.XMLStreamException
 
 - 
 
 -