Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-01-2011, 13:48   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Probleme bei Generierung des ActionScript-Datenmodells

Hallo,

ich versuche zurzeit ein Java-Backend mit einem Flex 4 Frontend zu verbinden. Das Backend befindet sich in einem Dynamischen Web-Projekt und das Frontend in einem eigenständigen Flex-Projekt.

Der Zugriff auf die Serviceklassen ist soweit konfiguriert, dass ich bei Daten/Dienste unter BlazeDS die angemeldeten Serviceklassen sehen kann. Wenn ich nun aber eine dieser Klassen auswähle und diese mit Finish einbinden möchte, so kommt folgende Fehlermeldung:

Das Datenmodell kann nicht gespeichert werden

Details: Beim Versuch, das Modell aufzulösen, ist ein Fehler aufgetreten.

ERROR [1]: ActionScript generation is not supported for entities containing properties or methods that clash with ActionScript keywords. Entity "Class" contains illegal property "package".

ERROR [1]: ActionScript generation is not supported for entities containing properties or methods that clash with ActionScript keywords. Entity "Class" contains illegal property "interface".

Soweit ich die Fehlermeldung richtig verstehe bedeutet das, dass es Schlüsselwörter (package, interface) die in den Domain-Klassen nicht enthalten sein dürfen, da diese eben geschützte Schlüsselwörter in ActionScript sind…

Das ist aber doch kompletter Blödsinn… es kann ja nicht angehen, dass die Domain-Klassen komplett ohne Schnittstellen und Packetangaben auskommen müssen…

Kennt einer eventuell dieses Problem und hat eine Lösung parat?
Jarell ist offline   Mit Zitat antworten
Alt 08-01-2011, 14:19   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
Zitat:
Das ist aber doch kompletter Blödsinn
ist es nicht, wenn du variablen-namen vergibst, die als keyword deklariert sind..

Zitat:
und hat eine Lösung parat?
benenne deine variable um..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn

Geändert von the binary (08-01-2011 um 14:20 Uhr)
the binary ist offline   Mit Zitat antworten
Alt 08-01-2011, 15:17   #3 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
In Java müsstest du eigentlich das gleiche Problem haben, wenn du das default Mapping der Properties verwendest.
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 10:09   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
@the binary

ich habe natürlich keine Variablen in dem Domain-Klassen, die Schlüsselwörter vorbehalten währen... das man so etwas immer extra sagen muss

Die einzigen Passagen, wo z.B. 'package' in den Klassen auftaucht, sind die Angaben des 'package':

Code:
package ort.data.domain;
Was genau in der Fehlermeldung mit Entity "Class" genau meint ist mir ein Rätsel. Es gibt keine Klasse oder sonst etwas mit diesem Namen. Nur bei der Deklaration der Klassen taucht das Wort class auf:

Code:
public class Eintrag ...
Schnittstellen werden in den Domainklassen ebenfalls nicht verwendet. Deswegen verstehe ich diesen Part der Fehlermeldung ebenfalls nicht : Entity "Class" contains illegal property "interface".

@Omega Psi

Das Backend läuft unter Java und im Testbetrieb fehlerfrei und ohne Probleme.
Jarell ist offline   Mit Zitat antworten
Alt 09-01-2011, 10:48   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Was bedeutet Testbetrieb? Eine Anwendung nur hochfahren zu können ist was anderes als ein komplettes integriertes System, und das funktioniert ja offensichtlich nicht.

Dann brauch man mal Code und den Stacktrace, alles andere ist raten ins Blaue, zumindest für mich.
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:08   #6 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
Zitat:
das man so etwas immer extra sagen muss
musst ja deswegen nicht gleich beleidigt sein..

poste vielleicht, wie von omega vorgeschlagen, die entsprechende klasse etc
und dann schaun wir weiter..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:13   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Man muss a auch immer extra nach einem Stacktrace fragen...
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:19   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Adobe Forums: ActionScript generation - Can it ignore...

Probleme und Lösung sind in dem Thread richtig identifiziert und ich würde vermuten, dass es bei dir die Ursache die gleiche ist.
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:38   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
@ Omega Psi

Testbetrieb bedeutet eine Reihe von JUnit-Testfällen wo sämtliche Szenarien durchgespielt werden. Benutzer wird registriert, Benutzer führt Aktion XY durch etc. Hier funktioniert wie gesagt alles.

Ist das erste Mal, dass ich Flex4 und eben diese Code-Generierung verwenden möchte. Aber Ansonsten ist das alles kein Neuland für mich.

Hier ist mal eine Klasse als Beispiel:
(Habe Kommentare zur besseren Übersicht entfernt)

Code:
package ort.data.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name = "benutzer")
public class Benutzer extends DBObjekt {

	@Column(name="anmeldename", unique=true)
	private String anmeldename;
	
	@Column(name="passwort")
	private String passwort;
	
	@Column(name="email", unique=true)
	private String email;
	
	@Column(name="benutzerIstAktiviert")
	private boolean benutzerIstAktiviert;
	
	@Column(name="benutzerIstGesperrt")
	private boolean benutzerIstGesperrt;
	
	// GETTER & SETTER
	
	public String getAnmeldename() {
		return anmeldename;
	}

	public void setAnmeldename(String anmeldename) {
		this.anmeldename = anmeldename;
	}

	public String getPasswort() {
		return passwort;
	}

	public void setPasswort(String passwort) {
		this.passwort = passwort;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	
	public boolean isBenutzerIstAktiviert() {
		return benutzerIstAktiviert;
	}

	public void setBenutzerIstAktiviert(boolean benutzerIstAktiviert) {
		this.benutzerIstAktiviert = benutzerIstAktiviert;
	}

	public boolean isBenutzerIstGesperrt() {
		return benutzerIstGesperrt;
	}

	public void setBenutzerIstGesperrt(boolean benutzerIstGesperrt) {
		this.benutzerIstGesperrt = benutzerIstGesperrt;
	}
}
Und damit es besser nachvollziehbar ist noch die beerbte Klasse

Code:
package ort.data.domain;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.MappedSuperclass;

@MappedSuperclass
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class DBObjekt {

	public DBObjekt()
	{
		if(zeitStempel == null)
		{
			setZeitStempel(new java.util.Date());
		}
	}

	@Id
	@Column(name="dbOid")
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int dbOid;

	@Column(name="zeitStempel")	
	private Date zeitStempel;

	// Getter & Setter 

	public int getDbOid() {
		return dbOid;
	}

        // setDbOid wird bewusst nicht angeboten

	public Date getZeitStempel() {
		return zeitStempel;
	}

	public void setZeitStempel(Date zeitStempel) {
		this.zeitStempel = zeitStempel;
	}
}
Hoffe das hilft, wobei ich eher der Meinung bin, dass es sich um ein Konfigurationsproblem oder so handelt.

Ps. einen Stacktrace gibt es leider nicht. Nur die oben angegebene Fehlermeldung.


@ the binary

sorry falls ich jetzt beleidigt gewirkt habe. aber ich bin wegen dem Problem schon relativ genervt gewesen. Wenn man dann noch solche Schusselfehler vorgeworfen bekommt, dann kann man das schon mal in den falschen Hals bekommen ^^

Geändert von Jarell (09-01-2011 um 11:43 Uhr)
Jarell ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:44   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Das ist die einzige Klasse? Und die assoziierte ActionScript Klasse soll aus dieser generiert werden?

Geändert von Omega Psi (09-01-2011 um 11:46 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:45   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Adobe Forums: ActionScript generation - Can it ignore...

Probleme und Lösung sind in dem Thread richtig identifiziert und ich würde vermuten, dass es bei dir die Ursache die gleiche ist.
Über den Thread bin ich auch schon gestolpert und habe auch gleich eine 4.0-Version ausprobiert. Leider bekam ich auch hier die gleiche Fehlermeldung.

Zitat:
Und die assoziierte ActionScript Klasse soll aus dieser generiert werden?
Ich habe das ganze schon mal vor einer Weile probeweise durchgespielt. Ich hatte mich da an ein Buch gehalten "Flash Builder 4 und Java - Kickstart" Dort wurde das auf dem gleichen Weg gemacht und hatte damals auch funktioniert.

Kurz: Ja aus diesen Klassen werden wohl die ActionScript-Abbilder generiert.

Geändert von Jarell (09-01-2011 um 11:48 Uhr)
Jarell ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:49   #12 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Willst du Generierung mit FlashBuilder oder Granite ausführen?
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 11:53   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Willst du Generierung mit FlashBuilder oder Granite ausführen?
FlashBuilder

genauer Weg:
Daten/Dienste -> Mit Daten/Diensten verbinden... -> BlazeDS -> Angabe des Backends -> Auswahl der Serviceklasse -> Fehlermeldung nach dem Klick auf Finish... Normal sollte hier die Generierung beginnen.

Geändert von Jarell (09-01-2011 um 11:59 Uhr)
Jarell ist offline   Mit Zitat antworten
Alt 09-01-2011, 12:20   #14 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Kann es sein, dass die Annotationen, die du verwendest, dazu führen? Ich bin in dem Part von Java nicht mehr so fit, aber ich denke, das kann die Ursache sein.
Omega Psi ist offline   Mit Zitat antworten
Alt 09-01-2011, 12:34   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Zitat:
Zitat von Omega Psi Beitrag anzeigen
Kann es sein, dass die Annotationen, die du verwendest, dazu führen? Ich bin in dem Part von Java nicht mehr so fit, aber ich denke, das kann die Ursache sein.
Hmm, ich hatte auch schon mit dem Gedanken gespielt,… aber wenn man in den Gedanken mit einbezieht, dass ja Grundlegende Sachen wie z.B. die Packetangaben von der Fehlermeldung angekreidet werden,... dann kann das eigentlich nicht wirklich der Grund sein.

Fakt ist aber, dass meine Klassen Annotationen haben und die anderen Klassen (die ich damals mit dem Buch erstellt hatte) hatten keine….

Ich wende mich Morgen glaube ich mal an einen Kollegen, der ein ähnliches Projekt hat. Dann geh ich noch mal Schritt für Schritt alles durch. Irgendwo MUSS es ja einen Grund geben.

Danke aber für deine Mühe Omega Psi.
Jarell ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
UML und ActionScript-Code-Generierung derRaab Softwarearchitektur und Entwurfsmuster 7 01-07-2010 19:20
XML-Generierung mit AS3 Ui-Ui ActionScript 3 11 14-05-2009 19:10
Probleme mit XML Generierung Ju2999 Softwarearchitektur und Entwurfsmuster 1 27-09-2005 15:17
Probleme bei der Generierung dynamischer Movie Clips & OOP menty Softwarearchitektur und Entwurfsmuster 2 18-08-2004 13:07
probleme mit flash5-actionscript konvertierung in flash4-actionscript !!! theWEBster Flash 4 und Flash 5 5 19-02-2003 07:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele