Class TemplateHelper
java.lang.Object
com.nomagic.magicdraw.magicreport.helper.TemplateHelper
Provide helper methods for template such as create and save.
- Since:
- May 10, 2007
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringConstants for Default DOCBOOK type.static final Stringstatic final StringConstants for DOCBOOK type.static final StringConstants for DOCX type.static final StringConstants for HTML type.static final org.apache.logging.log4j.Loggerstatic final StringConstants for ODP type.static final StringConstants for ODS type.static final StringConstants for ODT type.static final StringConstants for PPTX type.static final Stringstatic final StringDelete property name.static final StringReload property name.static final StringSave property name.static final StringConstants for RTF type.static final StringConstants for template extension.static final StringConstants for TXT type.static final StringConstants for XLSX type.static final StringConstants for XML type. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidRegister a listener for the PropertyChange event.static booleancheckEdition(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean bean, com.nomagic.magicdraw.lic.MDVersion version) Return true if this template is valid to MDVersion.static StringcheckRequiredPlugins(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean bean) static voidstatic FilecreateTemplateFile(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Create a directory or file from given template bean.static FilecreateTemplateFile(String templateName) Create a directory or file from given template name.static IconcreateTemplateIcon(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Create and return icon for this template bean.static voidExport template bean to zip file with default progress status.static voidexportZip(File zipFile, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, ProgressStatus progress) Export template bean to zip file.static voidexportZip(File zipFile, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, ProgressStatus progress, List<File> includedFiles) Export template bean to zip file.static booleanextractZip(File zipFile, File destinationDir, ProgressStatus progress) static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanfindTemplateBean(String catName, String templName) Get the templateBean by given category name and template name.static voidFire an existing PropertyChangeEvent to any registered listeners.static voidfirePropertyChange(Object source, String propertyName, Object oldValue, Object newValue) Report a bound property update to any registered listeners.Get custom location that store template.static StringgetDefaultReportKey(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Return a key for default report preference.static ResizableIconstatic StringgetOutputReportKey(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) Return a key for output report preference.static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeangetTemplateBean(String path) Return existing template bean from the template path.static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeangetTemplateBeanByName(String catName, String templateName) Get template bean by category name and template namestatic FilegetTemplateFile(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) static FilegetTemplateFile(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, boolean revolveDir) static StringgetTemplateType(String extension) Consider template type from file extension.static StringgetViewerReportKey(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) Return a key for viewer report preference.static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanImport zip file to template bean.static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanimportZip(File zipFile, boolean copyToData, ProgressStatus progress) Import zip file to template bean.static booleanisFileExternal(File file, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) static List<com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean>listAvailableTemplates(com.nomagic.magicdraw.lic.MDVersion version, com.nomagic.magicdraw.usermodes.UserMode userMode) Return a list of available template to MDVersion and Perspective.static voidLoad and Unzip MRZip template file from template directory.static List<com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean>This method will automatically load all template file from "data" directory of report plugin and return a List ofTemplateBean.static List<com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean>listTemplates(boolean forceReload) Load all template files from report plugin "data" directory and return to List ofTemplateBean.static com.nomagic.magicdraw.magicreport.ui.bean.ReportBeanloadReport(File reportFile) Create aReportBeanfrom given reportFile.static voidloadReportDataAndConfig(File templateDir, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanloadTemplate(File templateFile) Create aTemplateBeanfrom given templateFile.static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanloadTemplate(File templateFile, boolean checkValid) Create aTemplateBeanfrom given templateFile.static voidloadTemplateBean(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, Document document) static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanloadTemplateBean(File file) static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBeanreloadTemplate(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Force the application to remove this template from cache and then reload it from file.static voidremoveImportHistory(File[] importedMrzipFiles) static voidRemove a listener for the PropertyChange event.static voidremoveTemplate(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Delete a template file from physical storage.static voidsaveReport(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) Create a new report file from ReportBean.static voidsaveReport(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) Create a new report file from ReportBean.static voidsaveTemplate(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Create a new template file from TemplateBean.static voidunzipMRZipTemplates(File[] mrZipFile) Unzip MRZip Templates files.
-
Field Details
-
TEMPLATE_EXTENSION
Constants for template extension.- See Also:
-
PROPERTY_SAVE
Save property name.- See Also:
-
PROPERTY_DELETE
Delete property name.- See Also:
-
PROPERTY_CREATE
- See Also:
-
PROPERTY_RELOAD
Reload property name.- See Also:
-
HTML
Constants for HTML type.- See Also:
-
RTF
Constants for RTF type.- See Also:
-
XML
Constants for XML type.- See Also:
-
TXT
Constants for TXT type.- See Also:
-
ODT
Constants for ODT type.- See Also:
-
ODS
Constants for ODS type.- See Also:
-
ODP
Constants for ODP type.- See Also:
-
DOCX
Constants for DOCX type.- See Also:
-
XLSX
Constants for XLSX type.- See Also:
-
PPTX
Constants for PPTX type.- See Also:
-
DBK
Constants for Default DOCBOOK type.- See Also:
-
DOCBOOK
Constants for DOCBOOK type.- See Also:
-
DESCRIPTOR_FILE
- See Also:
-
LOG
public static final org.apache.logging.log4j.Logger LOG
-
-
Constructor Details
-
TemplateHelper
public TemplateHelper()
-
-
Method Details
-
listTemplates
This method will automatically load all template file from "data" directory of report plugin and return a List ofTemplateBean.TemplateBeanis a container of template information.- Returns:
- a List of
TemplateBeanfrom "data" directory. - Throws:
AccessControlException- when unable to locate and create directory for data- See Also:
-
listAvailableTemplates
public static List<com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean> listAvailableTemplates(@CheckForNull com.nomagic.magicdraw.lic.MDVersion version, @CheckForNull com.nomagic.magicdraw.usermodes.UserMode userMode) Return a list of available template to MDVersion and Perspective.- Parameters:
version- MDVersionuserMode- UserMode- Returns:
- a list of available template after filter out
- See Also:
-
checkEdition
public static boolean checkEdition(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean bean, @CheckForNull com.nomagic.magicdraw.lic.MDVersion version) Return true if this template is valid to MDVersion.- Parameters:
version- MDVersion- Returns:
- true if this template is valid to given MDVersion; otherwise false.
-
checkRequiredPlugins
public static String checkRequiredPlugins(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean bean) - Returns:
- empty string if all required plugins are ok. Otherwise, a multiline info message for each missing/outdated plugin
-
addPropertyChangeListener
Register a listener for the PropertyChange event. When a Template changes its value it should fire a PropertyChange event on all registered PropertyChangeListeners.- Parameters:
listener- An object to be invoked when a PropertyChange event is fired.
-
removePropertyChangeListener
Remove a listener for the PropertyChange event.- Parameters:
listener- The PropertyChange listener to be removed.
-
firePropertyChange
public static void firePropertyChange(Object source, String propertyName, @CheckForNull Object oldValue, Object newValue) Report a bound property update to any registered listeners. No event is fired if old and new are equal and non-null.- Parameters:
source- property sourcepropertyName- The programmatic name of the property that was changed.oldValue- The old value of the property.newValue- The new value of the property.
-
firePropertyChange
Fire an existing PropertyChangeEvent to any registered listeners. No event is fired if the given event's old and new values are equal and non-null.- Parameters:
evt- The PropertyChangeEvent object.
-
listTemplates
public static List<com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean> listTemplates(boolean forceReload) Load all template files from report plugin "data" directory and return to List ofTemplateBean.- Parameters:
forceReload- true if you want this method to reload template from disk; false use template from cache.- Returns:
- a List of
TemplateBeanfrom "data" directory. - Throws:
AccessControlException- when unable to locate and create directory for data- See Also:
-
listMRZipTemplates
public static void listMRZipTemplates()Load and Unzip MRZip template file from template directory. -
unzipMRZipTemplates
Unzip MRZip Templates files.- Parameters:
mrZipFile- file
-
removeImportHistory
-
reloadTemplate
public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean reloadTemplate(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Force the application to remove this template from cache and then reload it from file.- Parameters:
templateBean- a target template- Returns:
- TemplateBean or null if invalid template file format.
-
getTemplateBean
Return existing template bean from the template path.- Parameters:
path- path of templateTemplateBean.getPath()- Returns:
- the
TemplateBean
-
getTemplateBeanByName
public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean getTemplateBeanByName(String catName, String templateName) Get template bean by category name and template name- Parameters:
catName- template category nametemplateName- template name- Returns:
- template bean
-
loadTemplate
public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean loadTemplate(File templateFile) Create aTemplateBeanfrom given templateFile. If template file is not valid template format, return null.- Parameters:
templateFile- a File for template- Returns:
- TemplateBean or null if invalid template file format.
-
loadTemplate
@CheckForNull public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean loadTemplate(File templateFile, boolean checkValid) throws com.nomagic.magicreport.TemplateException Create aTemplateBeanfrom given templateFile. If template file is not valid template format, return null.- Parameters:
templateFile- a File for templatecheckValid- true if this template file require format checking- Returns:
- TemplateBean or null if invalid template file format.
- Throws:
com.nomagic.magicreport.TemplateException- if the template file is not valid format and check parameter is true.
-
loadReportDataAndConfig
public static void loadReportDataAndConfig(File templateDir, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) -
importZip
public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean importZip(File zipFile, boolean copyToData) throws IOException Import zip file to template bean.- Parameters:
zipFile- an input zip file.copyToData- copy template to data folder after successfully extract.- Returns:
- templateBean a template bean
- Throws:
IOException- when unable to import zip file.- See Also:
-
importZip
@CheckForNull public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean importZip(File zipFile, boolean copyToData, ProgressStatus progress) throws IOException Import zip file to template bean.- Parameters:
zipFile- an input zip file.copyToData- copy template to data folder after successfully extract.progress- the progress status- Returns:
- templateBean a template bean
- Throws:
IOException- when unable to import zip file.- See Also:
-
extractZip
public static boolean extractZip(File zipFile, File destinationDir, ProgressStatus progress) throws IOException - Throws:
IOException
-
exportZip
public static void exportZip(File zipFile, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) throws IOException Export template bean to zip file with default progress status.- Parameters:
zipFile- a output zip file.templateBean- a template bean- Throws:
IOException- when unable to export zip file.- See Also:
-
exportZip
public static void exportZip(File zipFile, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, ProgressStatus progress) throws IOException Export template bean to zip file.- Parameters:
zipFile- a output zip file.templateBean- a template beanprogress- the progress status- Throws:
IOException- when unable to export zip file.- See Also:
-
exportZip
public static void exportZip(File zipFile, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, ProgressStatus progress, List<File> includedFiles) throws IOException Export template bean to zip file.- Parameters:
zipFile- a output zip file.templateBean- a template beanprogress- the progress statusincludedFiles- other files to be included in this zip- Throws:
IOException- when unable to export zip file.- See Also:
-
isFileExternal
public static boolean isFileExternal(File file, com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) - Parameters:
templateBean-file- to check- Returns:
- true if checked file resides outside the template package
-
getTemplateFile
public static File getTemplateFile(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) -
getTemplateFile
public static File getTemplateFile(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, boolean revolveDir) -
loadReport
Create aReportBeanfrom given reportFile. If report file is not valid report format, return null.- Parameters:
reportFile- a File for report- Returns:
- ReportBean or null if invalid report file format.
-
saveTemplate
public static void saveTemplate(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) throws IOException Create a new template file from TemplateBean. IfTemplateBean.getPath()exists, write a template file to this value; if value doesn't exists create a new file withTemplateBean.getName()as template filename.- Parameters:
templateBean- a Template Bean- Throws:
IOException- if the template was not successfully created
-
loadTemplateBean
public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean loadTemplateBean(File file) throws IOException - Throws:
IOException
-
loadTemplateBean
public static void loadTemplateBean(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, Document document) throws IOException - Throws:
IOException
-
saveReport
public static void saveReport(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean, com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) throws IOException Create a new report file from ReportBean. IfReportBean.getFileName()exists, write a report file to this value; if value doesn't exists create a new file withTemplateBean.getName()as template filename.- Parameters:
templateBean- a TemplateBeanreportBean- a ReportBean- Throws:
IOException- if the template was not successfully created
-
saveReport
public static void saveReport(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) throws IOException Create a new report file from ReportBean. IfReportBean.getFileName()exists, write a report file to this value; if value doesn't exists throw IOException.- Parameters:
reportBean- a ReportBean- Throws:
IOException- if the report was not successfully created
-
removeTemplate
public static void removeTemplate(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) throws IOException Delete a template file from physical storage. Physical storage meaning that template file will not be able to recovery after successfully deleted.- Parameters:
templateBean- a Template Bean- Throws:
IOException- if the template was not successfully deleted
-
createTemplateFile
public static File createTemplateFile(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) throws IOException Create a directory or file from given template bean. This method use template name as a directory name.- Parameters:
templateBean- a template bean- Returns:
- File references to template bean
- Throws:
IOException- if false to create directory.
-
createTemplateFile
Create a directory or file from given template name.- Parameters:
templateName- a template name- Returns:
- File references to template bean
- Throws:
IOException- if false to create directory.
-
findTemplateBean
public static com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean findTemplateBean(@CheckForNull String catName, String templName) Get the templateBean by given category name and template name.- Parameters:
catName- categoryName or nulltemplName- the template name- Returns:
- the TemplateBean
-
getTemplateType
Consider template type from file extension.- Parameters:
extension- a file extension.- Returns:
- a template type.
-
createTemplateIcon
public static Icon createTemplateIcon(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) Create and return icon for this template bean.- Parameters:
templateBean- a template bean- Returns:
- template icon
-
getIconByFileExtension
-
getDefaultReportKey
public static String getDefaultReportKey(com.nomagic.magicdraw.magicreport.ui.bean.TemplateBean templateBean) throws IllegalArgumentException Return a key for default report preference. A key is a concatenation of#hashCode()and ";default".- Parameters:
templateBean- a template bean- Returns:
- a key.
- Throws:
IllegalArgumentException- illegal argument is used.
-
getOutputReportKey
public static String getOutputReportKey(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) throws IllegalArgumentException Return a key for output report preference. A key is a concatenation of {@link ReportBean#getModel()#getID()} and ";output" or {@link ReportBean#getFileName()#hashCode()} + ";output".- Parameters:
reportBean- a report bean- Returns:
- a key.
- Throws:
IllegalArgumentException- illegal argument is used.
-
getViewerReportKey
public static String getViewerReportKey(com.nomagic.magicdraw.magicreport.ui.bean.ReportBean reportBean) throws IllegalArgumentException Return a key for viewer report preference. A key is a concatenation of {@link ReportBean#getModel()#getID()} and ";viewer" or {@link ReportBean#getFileName()#hashCode()} + ";viewer".- Parameters:
reportBean- a report bean- Returns:
- a key.
- Throws:
IllegalArgumentException- illegal argument is used.
-
getCustomTemplateLocations
Get custom location that store template.- Returns:
- list of custom location
-
clearCachedElements
public static void clearCachedElements()
-