Get-Methode will nicht funktionieren

Kaibear

Aktives Mitglied
Moin moin,

mein IO-Tool, das ich gebaut habe, nimmt Formen an und ich bin grad an der Implementierung zwischen Model und GUI mittels MVC am werkeln.

Es gibt eine Funktion "checkOutCustomContent", die mit einer Pfad-Angabe arbeitet, blöderweise will die get-Methode des Projektnamens nicht arbeiten und liefert ein Blank zurück.

checkOut-Funktion in der Klasse "SVN-Repository"
Java:
public void checkOutCustomContent(Project project, String targetPath)
			throws SVNException {
		this.executeCommand(TextConstants.svnCheckout
				+ this.getRepositoryPath() + TextConstants.SVN_FILE_SEPARATOR
				+ project.getName() + TextConstants.SVN_FILE_SEPARATOR
				+ TextConstants.TRUNK + TextConstants.SVN_FILE_SEPARATOR
				+ project.getName() + TextConstants.SVN_FILE_SEPARATOR
				+ TextConstants.CUSTOMCONTENT + TextConstants.BLANK
				+ targetPath.replace("\\", "/")
				+ TextConstants.OS_FILE_SEPARATOR + TextConstants.CUSTOMCONTENT);

Controller-Klasse mit actionPerformed-Funktion:
Java:
public void actionPerformed(ActionEvent e) {
		Object button = e.getSource();
		if (button == graphicInterface.btnSubmit) {
			try {
				String temp = graphicInterface.getEingabe();
				projectCreator.createProjectStructureInSVN(temp);

				graphicInterface.btnConfigureDefaultsetups.setEnabled(true);
				graphicInterface.textField_2.setText(TextConstants.REPOSITORY
						+ TextConstants.SVN_FILE_SEPARATOR
						+ graphicInterface.getEingabe());

			} catch (SVNException e1) {
				e1.printStackTrace();
			}
		} else {
			if (button == graphicInterface.btnConfigureDefaultsetups) {
				try {
					projectCreator.checkOutCustomContentSVN();
					projectCreator.commitCustomContent();
				} catch (SVNException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			} else {
				if (button == graphicInterface.btnClose) {
					System.exit(0);
				}
			}
		}
	}

ProjectCreator-Klasse, die checkOut-Funktion beinhaltet.
Java:
public class ProjectCreator implements ProjectCreatorI {

	private VersionControlRepository versionControl;
	private MagicInstance magicInstance;
	public Project project = new Project("");
	Path thisPath = Paths.get("");
	SVNRepository svnRepository = new SVNRepository(null, null,
			TextConstants.REPOSITORY);
	XML xml = new XML();
	
	public String getProjectName(){
		return project.getName();
	}
	
	public void createProjectStructureInSVN(String name) throws SVNException {
		Project project = new Project(name);
//			InputProjectName name = new InputProjectName();
//			name.input(project);
		svnRepository.createProjectStructure(project);
	}

	public void checkOutCustomContentSVN() throws SVNException {
		svnRepository.checkOutCustomContent(project, thisPath.toAbsolutePath()
				.toString());
		xml.transferXMLwithProjectName(project, thisPath.toAbsolutePath()
				.toString()
				+ TextConstants.OS_FILE_SEPARATOR
				+ TextConstants.CUSTOMCONTENT
				+ TextConstants.OS_FILE_SEPARATOR
				+ TextConstants.ENV + TextConstants.SVN_FILE_SEPARATOR);
	}

	public void commitCustomContent() throws SVNException {
		svnRepository.addAllXMLforCommit(thisPath.toAbsolutePath().toString()
				+ TextConstants.OS_FILE_SEPARATOR + TextConstants.CUSTOMCONTENT
				+ TextConstants.OS_FILE_SEPARATOR);
		svnRepository
				.commitCustomContent(thisPath.toAbsolutePath().toString()
						+ TextConstants.OS_FILE_SEPARATOR
						+ TextConstants.CUSTOMCONTENT);
	}

}

Project-Klasse mit dem Attribut "Name"
Java:
public class Project {

	private String name;

	public Project(String name) {
		super();
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}

Ich vermute, dass meine Deklaration von Project project in der ProjectCreator-Klasse den Fehler erzeugen könnte, aber warum nimmt die Checkout-Funktion nicht den aktuellen Wert des Namens an?
Wie könnte ich das fixen?
 
Zuletzt bearbeitet:

Kaibear

Aktives Mitglied
Grad weitergetestet, das Problem ist, dass er ins getName nicht geht. Er zieht sich den Namen hart aus Zeile 5 aus der ProjectCreator-Klasse.

In meinen JUnit-Tests jedoch, wird sich der Name gekrallt.
Problematisch ist grade nur, dass ich "CheckOutCustomContentSVN" auch als Junit-Test nicht auf die Reihe bekomme. Die Funktion aus der SVN-Repository Klasse läuft dagegen tadellos.
 
Zuletzt bearbeitet:

HarleyDavidson

Bekanntes Mitglied
In der Zeile steht doch
Java:
public Project project = new Project("");

Das heißt, ein Projekt mit leerem Namen wird erzeugt. Also ist das doch eigentlich korrekt oder? ???:L
 

Kaibear

Aktives Mitglied
Ich konnte es umgehen, dass es nun funktioniert. Die Änderungen sehen so aus:

In der Klasse ProjectCreator:

eine globale Varibale "String tempName = "";" erzeugt,


Die folgende Funktion ist in dem Arbeitsprozess, den das Programm verkürzen soll, die Herstellung einer Struktur. Dafür wird der Name schon gebraucht. Anscheinend nimmt die zweite Funktion absolut keinen Bezug auf diese erste.
Java:
public void createProjectStructureInSVN(String name) throws SVNException {
		Project project = new Project(name);
		tempName = name; // Wertbelegung der Variablen.
		svnRepository.createProjectStructure(project);
	}

Und nun die Zeile hinzugefügt:
Java:
public void checkOutCustomContentSVN() throws SVNException {
		Project project = new Project(tempName); // damit der Name gleich bleibt
		svnRepository.checkOutCustomContent(project, thisPath.toAbsolutePath()
				.toString());
		xml.transferXMLwithProjectName(project, thisPath.toAbsolutePath()
				.toString()
				+ TextConstants.OS_FILE_SEPARATOR
				+ TextConstants.CUSTOMCONTENT
				+ TextConstants.OS_FILE_SEPARATOR
				+ TextConstants.ENV + TextConstants.SVN_FILE_SEPARATOR);
	}

Soll es das wirklich sein?

Irgendwie kommt mir das merkwürdig vor, dafür extra noch einmal ein neues Project zu deklarieren.
 

HarleyDavidson

Bekanntes Mitglied
Ich meine etwas gefunden zu haben.
Auszug aus deiner Klasse:
Java:
public class ProjectCreator implements ProjectCreatorI {
 
    private VersionControlRepository versionControl;
    private MagicInstance magicInstance;
    public Project project = new Project("");
    Path thisPath = Paths.get("");
    SVNRepository svnRepository = new SVNRepository(null, null,
            TextConstants.REPOSITORY);
    XML xml = new XML();
    
    public String getProjectName(){
        return project.getName();
    }
    
    public void createProjectStructureInSVN(String name) throws SVNException {
        Project project = new Project(name);
//          InputProjectName name = new InputProjectName();
//          name.input(project);
        svnRepository.createProjectStructure(project);
    }
(...)

In Zeile 5 deklarierst du ein neues Feld und instantiierst es gleich mit einem neuen Projekt (Name "").

Das Objekt "project" in Zeile 16 ist ein "lokales" Objekt, also nur innerhalb der Methode "createProjectStructureInSVN" sichtbar. Dieses Projekt hat dann auch den Namen aus dem String "name". Ändere die Zeile mal in
Java:
this.project = new Project(name);

Hab ich jetzt nicht getestet auf die Schnelle, aber dann wird das Objektattribut angesprochen und geändert.
 

Kaibear

Aktives Mitglied
In Zeile 5 deklarierst du ein neues Feld und instantiierst es gleich mit einem neuen Projekt (Name "").

Das Objekt "project" in Zeile 16 ist ein "lokales" Objekt, also nur innerhalb der Methode "createProjectStructureInSVN" sichtbar. Dieses Projekt hat dann auch den Namen aus dem String "name". Ändere die Zeile mal in
Java:
this.project = new Project(name);

Hab ich jetzt nicht getestet auf die Schnelle, aber dann wird das Objektattribut angesprochen und geändert.

Ayyy das ist perfekt. Wieso habe ich nur nicht vorher dran gedacht...
Mal wieder ein Fall davon, dass wenn man selbst stundenlang auf seinen Code guckt, den Wald vor lauter Bäumen nicht sieht.

Ich danke dir vielmals!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Warum kann Hashtable get Methode nicht funktionieren? Java Basics - Anfänger-Themen 3
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
L Methoden Methode kompiliert nicht Java Basics - Anfänger-Themen 2
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
U Methode übernimmt nicht veränderte klassenvariable Java Basics - Anfänger-Themen 5
X Methode kann auf ArrayListe nicht zugreifen! Java Basics - Anfänger-Themen 10
D Klassen add Methode funktioniert nicht. Java Basics - Anfänger-Themen 31
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
T Methode in Klasse funktioniert nicht Java Basics - Anfänger-Themen 14
C Gui- Klasse erkennt Übergabeparameter aus Methode nicht Java Basics - Anfänger-Themen 4
T Methoden Methode wird nicht auf Konsole ausgeführt Java Basics - Anfänger-Themen 3
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
E Methoden 2D Array wird in der Methode nicht geändert/gespeichert Java Basics - Anfänger-Themen 5
M Klassen Methode aus anderer Klasse nicht aufrufbar Java Basics - Anfänger-Themen 11
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
Z Klassen set Methode funktioniert nicht Java Basics - Anfänger-Themen 2
L Vererbung auf Methode einer abgeleiteten Klassezu greifen, die nicht in allen abgeleiteten existiert Java Basics - Anfänger-Themen 3
P Settext-Methode funktioniert nicht Java Basics - Anfänger-Themen 11
W Darf man den Übergabeparameter in einer Methode nicht verwenden? Java Basics - Anfänger-Themen 2
J HashSet contain Methode funktioniert nicht wie gewollt Java Basics - Anfänger-Themen 7
H Erste Schritte Arrayes.toString methode funktioniert nicht Java Basics - Anfänger-Themen 2
D Methoden Methode wird nicht aufgerufen Java Basics - Anfänger-Themen 4
W If_Bedingung in statischer Methode beim zweiten Mal nicht durchlaufen Java Basics - Anfänger-Themen 14
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
M Warum soll man die Finanlize Methode nicht überschreiben und aufrufen? Java Basics - Anfänger-Themen 2
T kann methode nicht ausführen Java Basics - Anfänger-Themen 5
T String toString methode nicht vererbt ... Java Basics - Anfänger-Themen 4
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
A Was stimmt mit Main-Methode nicht? Java Basics - Anfänger-Themen 4
A Frage zu einer Methode - Panel arbeitet nicht ordnungsgemäß Java Basics - Anfänger-Themen 2
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
R rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
A Nicht-statische Methode in einer statischen aufrufen Java Basics - Anfänger-Themen 10
M Methoden Fehler in Methode - Finde ihn nicht Java Basics - Anfänger-Themen 7
G Methoden BlueJ SuM Methode wird nicht gefunden Java Basics - Anfänger-Themen 9
T Threads Neuen Thread nicht aus main-Methode starten Java Basics - Anfänger-Themen 3
H Methoden Stopwatch misst Zeit einer Methode nicht Java Basics - Anfänger-Themen 8
N JFrame-Objekt in neuer Methode nicht verfügbar? Java Basics - Anfänger-Themen 3
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
S If methode funktioniert nicht Java Basics - Anfänger-Themen 10
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
M repaint() in run-Methode funktioniert nicht Java Basics - Anfänger-Themen 9
B verstehe methode nicht methode Java Basics - Anfänger-Themen 2
D Methoden Methode in anderer .class Datei Funktioniert nicht. Java Basics - Anfänger-Themen 11
M Value-returing Methode funktioniert nicht Java Basics - Anfänger-Themen 4
S Methoden rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
B Methoden Methode lässt sich nicht selbst aufrufen? Java Basics - Anfänger-Themen 3
D Variablen Methode erkennt Variable nicht Java Basics - Anfänger-Themen 6
M Methode abbrechen funktioniert nicht?! Java Basics - Anfänger-Themen 2
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
K Methode funzt nicht, wieso? Java Basics - Anfänger-Themen 12
D Variablen get-Methode funktioniert nicht. Java Basics - Anfänger-Themen 4
L Vererbung - Methode wird nicht erkannt Java Basics - Anfänger-Themen 5
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
H Warum funktioniert diese kleine Methode nicht? Java Basics - Anfänger-Themen 8
P ich versteh diese Methode nicht ;? Java Basics - Anfänger-Themen 7
StupidAttack Abstrakte Methoden in nicht-abstrakter Methode in abstrakter Klasse Java Basics - Anfänger-Themen 6
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
M paint-Methode funzt nicht Java Basics - Anfänger-Themen 11
N Methode erfüllt nicht den zweck (Call by value) Java Basics - Anfänger-Themen 17
J return bricht methode nicht ab Java Basics - Anfänger-Themen 12
L longwert mit Methode addieren geht nicht! Java Basics - Anfänger-Themen 20
M Kapier die Methode nicht Java Basics - Anfänger-Themen 6
L Warum erkennt java meine methode nicht? Java Basics - Anfänger-Themen 17
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
T Polymorphie:Überschreiben der Methode klappt nicht Java Basics - Anfänger-Themen 4
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
Developer_X Methode "warte" funktioniert nicht Java Basics - Anfänger-Themen 23
I Methode wird nicht gefunden Java Basics - Anfänger-Themen 8
K class Enum Methode: values() - finde ich nicht in der API Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben