Closed mining4UML closed 1 year ago
Rilevo i seguenti problemi:
WkjqIhGGAqACBws9.xes
I file di log si trovano nel seguente percorso: /Applications/Visual\ Paradigm.app/Contents/Resources/app/bin/logs/pasqualeardimento
Suggerisco di far stampare, nel pannello di messaggio, un feedback (solo di test) relativo al percorso completo della cartella acceduta per leggere i file ed i nomi stessi dei file.
Al momento su Windows il file .zip viene creato all'interno della cartella selezionata con i file di log creati in precedenza.
Per la lingua, viene impostata quella di default del sistema operativo in uso.
Per la lingua, viene impostata quella di default del sistema operativo in uso.
ASSUNZIONE La lingua di default del plug-in è l'inglese. CONSIDERAZIONI e SUGGERIMENTI La lingua da utilizzare per il plug-in dovrebbe essere quella correntemente usata da VP la cui lingua di default è l'inglese. Ad ogni buon conto, sarebbe opportuno aggiungere un file che gestisca la lingua dell'interfaccia utente nello stesso modo in cui la gestisce VP. VP si serve di file LNG dove ogni file LNG contiene il testo in una lingua specifica. In VP tali file sono situati in /Contents/Resources/app/UserLanguage. Un esempio di parte di un file LNG in VP,Spanish.lng, è mostrato di seguito:
<?xml version="1.0" encoding="UTF-8"?>
<UserLanguage>
<Information name="Spanish" nameInEnglish="Spanish"/>
<WordSet>
<Word key="Display as stereotype icon" section="Option Dialog" value="Mostrar como icono de estereotipo"/>
<!-- OMISSIS -->
<Word key="Persistent API return type" section="ORM" value="Tipo de Retorno Persistente API"/>
</WordSet>
</UserLanguage>
Per completezza riporto quanto scritto nell'HELP di VP. In Visual Paradigm, the default language is English. However, you might find it more convinient to use another language which is your first language to operate the software, so that you can understand the commands more easily and to perform the desired actions faster. Actually, Visual Paradigm supports the capability to allow users to switch to other langauges like Traditional Chinesem French and many others. In the following, we will show you the way to switch your User Interface into your preferred language. Please follow the simple steps below. Select Window > Application Options in the toolbar. In Application Options window, select General > Appearance.
Al momento su Windows il file .zip viene creato all'interno della cartella selezionata con i file di log creati in precedenza.
Ho testato nuovamente "Export Logs" su MacOS Ventura 13.3.1 senza esito positivo. Il file compresso non viene generato
Al momento su Windows il file .zip viene creato all'interno della cartella selezionata con i file di log creati in precedenza.
Ho testato nuovamente "Export Logs" su MacOS Ventura 13.3.1 senza esito positivo. Il file compresso non viene generato
Immagino ci sia un incompatibilita' del codice con MacOS. Riesce per caso ad inviarmi un eventuale log d'errore dell'operazione registrato nel file "vp.log" all'interno della cartella di default dei plugin. Per Windows e' C:\Users{user}\AppData\Roaming\VisualParadigm Dovrebbe essere la medesima che le inserisce VP quando si installa il plugin direttamente inserendolo nella cartella indicata.
Inoltre ho inserito un messaggio di log nel pannello del plugin in VP che le dovrebbe comparire nel caso di operazioni riuscite senza eccezioni.
Al momento su Windows il file .zip viene creato all'interno della cartella selezionata con i file di log creati in precedenza.
Ho testato nuovamente "Export Logs" su MacOS Ventura 13.3.1 senza esito positivo. Il file compresso non viene generato
Immagino ci sia un incompatibilita' del codice con MacOS. Riesce per caso ad inviarmi un eventuale log d'errore dell'operazione registrato nel file "vp.log" all'interno della cartella di default dei plugin. Per Windows e' C:\Users{user}\AppData\Roaming\VisualParadigm Dovrebbe essere la medesima che le inserisce VP quando si installa il plugin direttamente inserendolo nella cartella indicata.
[2023/05/24 10:42:18] [message] Exit Visual Paradigm
[2023/05/24 10:42:18] [message] Saved project ".systemproject" to "/Users/pasqualeardimento/Library/Application Support/VisualParadigm/ws/.vpprefdata/.systemproject.vpp".
[2023/05/24 10:42:19] [message] System.exit: true
[2023/05/24 10:42:21] [message] [Wed May 24 10:42:21 CEST 2023]: Start Visual Paradigm Community Edition [VP CE]: 17.0 (20230401)
[2023/05/24 10:42:21] [message] Operating system: Mac OS X 13.3.1 running on aarch64
[2023/05/24 10:42:21] [message] Java VM: 11.0.16.1 OpenJDK 64-Bit Server VM, vendor 11.0.16.1+1 Eclipse Adoptium
[2023/05/24 10:42:21] [message] User: pasqualeardimento, language: it
[2023/05/24 10:42:21] [message] Installation ID: 0f3a7f83e8edfdb4abd4f3f0aeaa6e1c
[2023/05/24 10:42:21] [message] Memory: current=256M, max=1024M
[2023/05/24 10:42:21] [message] start startup getLicenseKey on 24-May-2023
[2023/05/24 10:42:21] [message] getLicenseKey in local ...
[2023/05/24 10:42:21] [message] finish startup getLicenseKey
[2023/05/24 10:42:21] [message] Workspace: /Users/pasqualeardimento/Library/Application Support/VisualParadigm/ws
[2023/05/24 10:42:22] [message] Opening Project: /Users/pasqualeardimento/Library/Application Support/VisualParadigm/ws/.vpprefdata/.systemproject.vpp
[2023/05/24 10:42:25] [message] Parse log gA43MhGGAqACBwBO.xes
[2023/05/24 10:42:25] [message] NikeFS2: Allocating new swap file. (#1: 67108864 bytes)
[2023/05/24 10:42:25] [message] NikeFS2: cleaned up 0 stale swap files (from 0 sessions).
[2023/05/24 10:42:25] [message] NikeFS2: Populating shadow map 1 (of 2 max.)
[2023/05/24 10:42:25] [message] May 24, 2023 10:42:25 AM com.jidesoft.plaf.aqua.AquaPreferences loadGlobalPreferences
AVVERTENZA: AquaPreferences failed to load Mac OS X global system preferences - parseInt: unsupported byte count:16
[2023/05/24 10:42:42] [message] java.io.FileNotFoundException: /Users/pasqualeardimento/Desktop/exportPasquale/2023-05-24_10.42.42.zip (No such file or directory)
[2023/05/24 10:42:42] [message] at java.base/java.io.FileOutputStream.open0(Native Method)
[2023/05/24 10:42:42] [message] at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
[2023/05/24 10:42:42] [message] at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
[2023/05/24 10:42:42] [message] at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
[2023/05/24 10:42:42] [message] at com.plugin.mining.logging.LogStream.exportLogs(LogStream.java:98)
[2023/05/24 10:42:42] [message] at com.plugin.mining.actions.ExportLogsActionController.performAction(ExportLogsActionController.java:34)
[2023/05/24 10:42:42] [message] at v.bee.b.performAction(:44)
[2023/05/24 10:42:42] [message] at v.bek.p.a(:78)
[2023/05/24 10:42:42] [message] at v.dnj.cj.a(:44)
[2023/05/24 10:42:42] [message] at v.dnj.gh.actionPerformed(:261)
[2023/05/24 10:42:42] [message] at org.pushingpixels.flamingo.api.common.AbstractCommandButton.fireActionPerformed(AbstractCommandButton.java:616)
[2023/05/24 10:42:42] [message] at org.pushingpixels.flamingo.api.common.AbstractCommandButton$ActionHandler.actionPerformed(AbstractCommandButton.java:568)
[2023/05/24 10:42:42] [message] at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
[2023/05/24 10:42:42] [message] at org.pushingpixels.flamingo.api.common.model.ActionRepeatableButtonModel.setPressed(ActionRepeatableButtonModel.java:123)
[2023/05/24 10:42:42] [message] at org.pushingpixels.flamingo.internal.ui.common.BasicCommandButtonListener.mouseReleased(BasicCommandButtonListener.java:147)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
[2023/05/24 10:42:42] [message] at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Component.processEvent(Component.java:6400)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Container.processEvent(Container.java:2263)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
[2023/05/24 10:42:42] [message] at java.base/java.security.AccessController.doPrivileged(Native Method)
[2023/05/24 10:42:42] [message] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
[2023/05/24 10:42:42] [message] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
[2023/05/24 10:42:42] [message] at java.base/java.security.AccessController.doPrivileged(Native Method)
[2023/05/24 10:42:42] [message] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[2023/05/24 10:42:42] [message] at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
[2023/05/24 10:42:45] [message] Exit Visual Paradigm
[2023/05/24 10:42:45] [message] Saved project ".systemproject" to "/Users/pasqualeardimento/Library/Application Support/VisualParadigm/ws/.vpprefdata/.systemproject.vpp".
[2023/05/24 10:42:45] [message] System.exit: true
[2023/05/24 10:42:42] [message] java.io.FileNotFoundException: /Users/pasqualeardimento/Desktop/exportPasquale/2023-05-24_10.42.42.zip (No such file or directory)
Bisogna impedire di far editare il nome del file nella casella di testo "salva con nome". Il malfunzionamento accade, infatti, quando, in quella casella di testo si inserisce un nome che non corrisponde al nome di una cartella che si trova nel percorso selezionato.
Deve essere possibile selezionare solo il percorso in cui salvare il file (_DIRECTORIESONLY).
Ho aggiunto un possibile fix, puo' verificare?
Ho aggiunto un possibile fix, puo' verificare?
Non funziona ancora. Ti riporto parte di un commento già scritto da me prima.
Bisogna impedire di far editare il nome del file nella casella di testo "salva con nome". Il malfunzionamento accade, infatti, quando, in quella casella di testo si inserisce un nome che non corrisponde al nome di una cartella che si trova nel percorso selezionato.
Deve essere possibile selezionare solo il percorso in cui salvare il file (DIRECTORIES_ONLY).
In breve, la casella di testo in cui porre il nome NON deve essere proprio presente.
Dovrebbe adesso essere disabilitato
Dovrebbe adesso essere disabilitato
Ok, è disabilitato. Sarebbe il caso di modificare Salva con nome in Save in_ L'interfaccia utente deve essere in lingua inglese, compresi i tooltip.
Nel momento in cui non ci sono file di log presenti bisognerebbe:
Visualizzazione corrente su Windows
E' necessario che l'export riguardi solo file con le seguenti estensioni:
Purtroppo il malfunzionamento relativo alla cartella selezionata continua ad essere presente e non credo dipenda dal sistema operativo. Scenario di esempio che genera malfunzionamento Quando si esegue un doppio click su una cartella accade che il campo "SelectedFile" sia avvalorato con il nome della cartella selezionata. Se cliccassi, ad esempio, due volte sulla cartella Desktop accadrebbero le seguenti cose:
A questo punto cliccando su Salva l'export non sarebbe eseguito.
L'export non è eseguito in quanto il codice prevede che la cartella in cui eseguire l'export sia ottenuta mediante il seguente codice fileChooser.getSelectedFile().toPath()
.
In questo scenario, dunque, fileChooser.getSelectedFile().toPath() restituirebbe il seguente valore /Users/{nome:utente}/Desktop/Desktop
Quindi, a meno che in Desktop non ci sia casualmente una cartella di nome Desktop, l'export non avverrà. Quand'anche dovesse accadere che in Desktop ci fosse una cartella Desktop l'export non avverrebbe nella cartella desiderata.
2023/05/25 12:35:17] [message] java.nio.file.NoSuchFileException: /Users/pasqualeardimento/Desktop/Desktop/2023-05-25_12.35.17.zip
Possibile soluzione
Utilizzando una OpenDialog al posto della ShowDialog questo malfunzionamento non viene più generato.
invece di
if (fileChooser.showSaveDialog(viewManager.getRootFrame()) == JFileChooser.APPROVE_OPTION) {
ci dovrebbe essere
if (fileChooser.showOpenDialog(viewManager.getRootFrame()) == JFileChooser.APPROVE_OPTION) {
Onestamente, non mi è chiaro cosa intende per creare una cartella Esempio all interno di Esempio. La cartella selezionata dovrebbe essere quella in cui viene generato lo zip con i log.
Onestamente, non mi è chiaro cosa intende per creare una cartella Esempio all interno di Esempio. La cartella selezionata dovrebbe essere quella in cui viene generato lo zip con i log.
Ho riscritto più chiaramente lo scenario di esempio che genera il malfunzionamento.
Aggiunto possibile fix e rinominato button in "Export". Su Windows:
Mi faccia sapere per altre problematiche, da suo consiglio ho modificato in openDialog anche se il problema su Windows, provando diversi test, non si manifestava
Il plug-in deve rendere possibile l'export di tutti i file di log generati fino a quel momento in un unico file compresso. A tale scopo sarebbe opportuno aggiungere un tab ad-hoc in Visual Paradigm che permetta l'export. Il nome del file compresso deve essere definito con il timestamp del momento in cui l'export è eseguito. L'utente deve selezionare il percorso in cui salvare il file.
Suggerimento Per realizzare questa funzionalità si potrebbe considerare come esempio il seguente plug-in: