Willkommen Gast. Bitte einloggen oder registrieren.
Back to Mainpage
News: New Version WirthSim Professional available! See Mainpage for details

 
Seiten: [1]
  Drucken  
Autor Thema: Probleme mit Pluginerstellung  (Gelesen 780 mal)
semo
Jr. Member
**
Offline Offline

Beiträge: 2


Profil anzeigen
« am: April 02, 2009, 09:25:23 »

Hallo,

Ich möchte ein Plugin für WirthSim zu schreiben, mit dem man Transportgüter auf der Anlage direkt steuern kann.

Wie in der Hilfe beschrieben habe ich ein neues Plugin Projekt erstellt und es an den extension point wirthsim.disposition angedockt mit der Klasse MyDisposition. Das Projekt habe ich dann als .jar exportiert und in das WirthSim/plugins Verzeichnis kopiert.

Wenn ich Wirthsim starte, bekomme ich im message dialog bei Errors eine java.lang.ClassNotFoundException:mypackage.MyDisposition.

Versuchsweise habe ich mein plugin package in die wirthsim_1.2.24.jar kopiert und die MANIFEST.MF und die plugin.xml dementsprechend angepasst. Danach hat mein Plugin in Wirthsim funktioniert.

Wie kann ich die ClassNotFoundException beheben damit ich mein Plugin normal zum Laufen bekomme?

Hier noch die MANIFEST.MF meines Plugins:
Code:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: WirthSimTest Plug-in
Bundle-SymbolicName: myplugin;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: mypackage.Activator
Require-Bundle: wirthsim,
 org.eclipse.ui,
 org.eclipse.core.runtime
Eclipse-LazyStart: true
Export-Package: myplugin

und die plugin.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   
   <extension
         point="wirthsim.disposition">
      <disposition
            id="mypackage.MyDisposition"
            name="mypackage.MyDisposition"
            class="mypackage.MyDisposition"/>
   </extension>
   
</plugin>

Grüße
semo
Gespeichert
Ihr WirthSim Team
Administrator
Hero Member
*****
Offline Offline

Beiträge: 89



Profil anzeigen
« Antworten #1 am: April 07, 2009, 06:16:59 »

Hallo Semo,

Danke für Ihren Post. Sagen Sie uns bitte, welche Aktionen Sie via Ihrem Plugin durchführen möchten.

Wir haben festgestellt, dass wir das MANIFEST.MF anpassen mussten. Sollte mit dem nächsten Release behoben sein (in ca. einer Woche).

Feedback in detail:

I slightly modified the our Manifest.MF file - please see my update;

And how to add own disposition:
I did the following:
1. created new Plugin Project; when create, say this will not need an Activator to be generated;
2. in new project: added a required plugins: wirthsim,
org.eclipse.swt,
org.eclipse.core.runtime
3. created two extensions:
- wirthsim.disposition (and a class proposed)
- org.eclipse.core.runtime.applications->(application)->com.wirthlogistics.wirthsim.rcp.WirthsimApplication

(this last step is vital!)
3. specified the Activator class as wirthsim.Activator

4. for the testing purposes, modified the getDispositionName() method in my new Disposition1.java class to return something like "MyDisposition"

Voila... now starting the application will bring the wirthsim on front. (however without splash screen - sorry for that Smiley )

if you will now go to Dispositions tab in details view, you will be able to see a tab for the disposition named "MyDisposition". That means, new disposition is on place, and is ready to receive signals from the workflow.

Please NOTE - you MUST run the workflow in exactly this order - because it must be initialized to made the disposition staff work. Disposition is just a small piece of the big cake called Wirthsim workflow, and it cannot live without it. However, it MUST obey rules existing in the workflow.

Es grüsst

Ihr WirthSim Team
Gespeichert
semo
Jr. Member
**
Offline Offline

Beiträge: 2


Profil anzeigen
« Antworten #2 am: April 16, 2009, 12:19:39 »

Hallo,

Danke für Ihre Antwort. Ich möchte mit dem Plugin die Simulation steuern ohne auf das Datenbankinterface zugreifen zu müssen, um das Datenbankpolling zu vermeiden. Beispielsweise, wenn ein Transportgut an einem Abzweigungspunkt angekommen ist, möchte ich auf einen Knopf drücken können, um es in eine bestimmte Richtung zu schicken.

Ich möchte auch jedem Transportgut eine Kennung mitgeben, um sie später identifizieren zu können. Welche Attribute könnte ich dafür nutzen?
z.B. würde sich tuNumber anbieten. Kann man dieses problemlos nutzen oder andere wie die auxiliary Attribute?

Grüße
semo
Gespeichert
Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS