[Java]String vergelijken werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Ik ben redelijk nieuw in Java, dus mogelijk is het een beginnersfout. Maar ik kom er niet uit (ook niet met Google!). Wat gaat hier mis...

Ik heb in een CSV-bestand (testdata_testje) uit de kolom 'Testactie' de eerste waarde opgehaald. Deze waarde is 'Actie1'. Een print geeft ook aan dat de string daadwerkelijk gevuld is met deze waarde.
Echter de if-statement slaagt alsnog niet. Iemand enig idee hoe dit komt? de statement slaagt overiges ook niet wanneer ik er if (Testactie_Testje.equals(Testactie1)){ van maak.


code:
1
2
3
4
5
6
        getDatabank("testdata_testje").getNextDatabankRecord();
        String Testactie_Testje="{{db.testdata_testje.Testactie}}";
        String Testactie1="Actie1";
        
        if (Testactie_Testje==Testactie1){
...

N.b. dit betreft een stukje code uit Oracle ATS.

[ Voor 12% gewijzigd door kazz1980 op 27-12-2011 10:58 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
En als je .Equals() gebruikt?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22:14

Janoz

Moderator Devschuur®

!litemod

In java is dat trouwens .equals(). In java hebben methodenamen geen hoofdletter.

Maar goed, als ik naar de code kijk zie ik niet waarom die test uberhaupt zou moeten kunnen slagen. Er staat precies wat er in elk van de strings gestopt wordt en "{{db.testdata_testje.Testactie}}" en "Actie1" is natuurlijk niet gelijk aan elkaar.

[ Voor 61% gewijzigd door Janoz op 27-12-2011 10:59 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 21:22

RayNbow

Kirika <3

google: java compare strings --> Java String comparison FAQ: How to compare Java Strings

Dus zoals hierboven al vermeld, gebruik de equals() methode. De == operator in Java staat voor object identity, niet equality.

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
RayNbow schreef op dinsdag 27 december 2011 @ 10:59:
google: java compare strings --> Java String comparison FAQ: How to compare Java Strings

Dus zoals hierboven al vermeld, gebruik de equals() methode. De == operator in Java staat voor object identity, niet equality.
excuus. had de startpost nog aangepast.
equals is ook geprobeerd. zonder succes.

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Janoz schreef op dinsdag 27 december 2011 @ 10:57:
In java is dat trouwens .equals(). In java hebben methodenamen geen hoofdletter.

Maar goed, als ik naar de code kijk zie ik niet waarom die test uberhaupt zou moeten kunnen slagen. Er staat precies wat er in elk van de strings gestopt wordt en "{{db.testdata_testje.Testactie}}" en "Actie1" is natuurlijk niet gelijk aan elkaar.
{{db.testdata_testje.Testactie}} zal denk ik iets zijn uit Oracle ATS...?
Middels een print statement zie ik in ieder geval dat de betreffende variabele netjes gevuld is met "Actie1"... De eerste waarde uit het CSV-bestand.

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

Verwijderd

Kan het misschien zijn dat er nog spaties achter de waarde staan van Testactie_Testje? Met trim kan je dit oplossen.

http://docs.oracle.com/ja...api/java/lang/String.html

Acties:
  • 0 Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 12-10 17:25
Het put van Janoz is dan ook - als ik me niet vergis - dat je van die {{db.testdata_testje.Testactie}} een String maakt. Die quotes er rond zijn er teveel aan.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22:14

Janoz

Moderator Devschuur®

!litemod

kazz1980 schreef op dinsdag 27 december 2011 @ 11:09:
[...]

{{db.testdata_testje.Testactie}} zal denk ik iets zijn uit Oracle ATS...?
Middels een print statement zie ik in ieder geval dat de betreffende variabele netjes gevuld is met "Actie1"... De eerste waarde uit het CSV-bestand.
Hoe print je dat? Het lijkt me namelijk waarschijnlijker dat {{db.testdata_testje.Testactie}} wordt vervangen bij het afrdukken, niet door de constante aan een variabele toe te kennen. kijk eens met een debugger wat nu daadwerkelijk de waarde is.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
kazz1980 schreef op dinsdag 27 december 2011 @ 11:09:
[...]

{{db.testdata_testje.Testactie}} zal denk ik iets zijn uit Oracle ATS...?
Middels een print statement zie ik in ieder geval dat de betreffende variabele netjes gevuld is met "Actie1"... De eerste waarde uit het CSV-bestand.
Pssst, gebruik eens breakpoints in plaats van dingen uit te spugen naar je console.

Acties:
  • 0 Henk 'm!

Verwijderd

Volgens mij gaat dit uberhaupt nooit werken, de vergelijking dit je op dit op dit moment doet is.

code:
1
if("{{db.testdata_testje.Testactie}}".equals("Actie1"))


Ik vermoed dat de volgende code een String array oplevert:
code:
1
getDatabank("testdata_testje").getNextDatabankRecord();


Even er vanuit gaande dat het resultaat van getDatabank("testdata_testje").getNextDatabankRecord(); een 1-dimensionaal array oplevert moet de code ongeveer zo worden

code:
1
2
3
4
5
String[] rij = getDatabank("testdata_testje").getNextDatabankRecord();
String Testactie_Testje=rij[4] // 4 is de positie van de waarde db.testdata_testje.Testactie in de String array
String Testactie1="Actie1";
        
if (Testactie_Testje==Testactie1){

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
kazz1980 schreef op dinsdag 27 december 2011 @ 11:09:
[...]

{{db.testdata_testje.Testactie}} zal denk ik iets zijn uit Oracle ATS...?
Middels een print statement zie ik in ieder geval dat de betreffende variabele netjes gevuld is met "Actie1"... De eerste waarde uit het CSV-bestand.
Het is jouw code, niet die van ons? Je code is compleet krom. Kennelijk vraag je in regel 1 een record op, waar je vervolgens niks mee doet. Je maakt in regel 2 de string Testactie_Testje aan die je vult met {{db.testdata_testje.Testactie}}, daarna maak je de string Testactie1 aan die je vult met Actie1. Als je die twee vergelijkt zijn ze niet gelijk, ra ra hoe kan dat?

Post of de echte code, of ga eens goed nadenken wat daar misgaat. Stringsd vergelijken doe je overigens in Java ALTIJD met .equals() of .equalsIgnoreCase() als je hoofdletters wil negeren. Strings vergelijken met == gaat per definitie niet werken, daarmee kijk je alleen of de objectreferenties gelijk zijn.

[ Voor 13% gewijzigd door Hydra op 27-12-2011 11:34 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Janoz schreef op dinsdag 27 december 2011 @ 11:16:
[...]


Hoe print je dat? Het lijkt me namelijk waarschijnlijker dat {{db.testdata_testje.Testactie}} wordt vervangen bij het afrdukken, niet door de constante aan een variabele toe te kennen. kijk eens met een debugger wat nu daadwerkelijk de waarde is.
Ik gebruikte de waarde in een controle:
code:
1
2
    //web.verifyText("controle_testje",Testactie_Testje , Source.Html,
            //  TextPresence.PassIfPresent, MatchOption.Exact);


Dat levert de melding dat de tekst "Actie1" niet gevonden is....
Omdat ik de code niet uitvoer als java applicatie is er nl. geen console... dus daar spuug ik ook niks naar uit ;)

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Hydra schreef op dinsdag 27 december 2011 @ 11:33:
[...]


Het is jouw code, niet die van ons? Je code is compleet krom. Kennelijk vraag je in regel 1 een record op, waar je vervolgens niks mee doet. Je maakt in regel 2 de string Testactie_Testje aan die je vult met {{db.testdata_testje.Testactie}}, daarna maak je de string Testactie1 aan die je vult met Actie1. Als je die twee vergelijkt zijn ze niet gelijk, ra ra hoe kan dat?

Post of de echte code, of ga eens goed nadenken wat daar misgaat. Stringsd vergelijken doe je overigens in Java ALTIJD met .equals() of .equalsIgnoreCase() als je hoofdletters wil negeren. Strings vergelijken met == gaat per definitie niet werken, daarmee kijk je alleen of de objectreferenties gelijk zijn.
De uitdaging is dat ik werk binnen een tool die gebruik maakt van Java... ik weet echter neit exact wat nu zuiver Java is, en wat functionaliteit uit de tool... Het opvragen van data vanuit een CSV-bestand komt volgens mij uit de tool... Logischerwijs zou {{db.testdata_testje.Testactie}} niet tussen aanhalingstekens moeten. Maar dan levert het een foutmelding op, terwijl mét aanhalingstekens wel de juiste waarde ingevuld wordt. Overigens komt regel 1 uit Oracle ATS... heeft te maken met de testuitvoer... nl. dat er bij elke testuitvoer de volgende regel gepakt moet worden.

m.a.w.... de variabele Testactie_Testje wordt prima gevuld met "Actie1"... Maar vergelijken met de string "Actie1" geeft toch een verschil aan.

p.s. dat gebruik van "==" daar verschillen de meningen blijkbaar over... Daarom had ik ook zowel ==, als equals geprobeerd.

[ Voor 11% gewijzigd door kazz1980 op 27-12-2011 11:49 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
kazz1980 schreef op dinsdag 27 december 2011 @ 11:39:
De uitdaging is dat ik werk binnen een tool die gebruik maakt van Java... ik weet echter neit exact wat nu zuiver Java is, en wat functionaliteit uit de tool... Het opvragen van data vanuit een CSV-bestand komt volgens mij uit de tool... Logischerwijs zou {{db.testdata_testje.Testactie}} niet tussen aanhalingstekens moeten. Maar dan levert het een foutmelding op, terwijl mét aanhalingstekens wel de juiste waarde ingevuld wordt. Overigens komt regel 1 uit Oracle ATS... heeft te maken met de testuitvoer... nl. dat er bij elke testuitvoer de volgende regel gepakt moet worden.

m.a.w.... de variabele Testactie_Testje wordt prima gevuld met "Actie1"... Maar vergelijken met de string "Actie1" geeft toch een verschil aan.
Heb je het al teruggezet naar .equals en beide variabelen geprint? Kun je die code eens posten?
p.s. dat gebruik van "==" daar verschillen de meningen blijkbaar over... Daarom had ik ook zowel ==, als equals geprobeerd.
Misschien moet je ook de tekst even lezen in plaats van de eerste 3 regels? 8)7 Als je de inhoud van een string wilt vergelijken, zoals jij doet, gebruik je altijd equals.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Hydra schreef op dinsdag 27 december 2011 @ 11:53:
[...]

Heb je het al teruggezet naar .equals en beide variabelen geprint? Kun je die code eens posten?

[...]

Misschien moet je ook de tekst even lezen in plaats van de eerste 3 regels? 8)7 Als je de inhoud van een string wilt vergelijken, zoals jij doet, gebruik je altijd equals.
Uiteraard heb ik het direct aangepast naar 'equals'... Als ik advies vraag doe ik er ook iets mee 8) De tekst iop betreffende site heb ik overigens wel degelijk helemaal gelezen... blijkbaar begrijp ik daarin dan toch iets verkeerd - want ik zie daarin nog steeds staan dat == wel zou kunnen bij vergelijken van twee string-variabelen... Maar doet er niet toe. vanaf nu gebruik ik gewoon altijd equals!! ;)

code:
1
if (Testactie_Testje.equals(Testactie1)){


Als ik een web.VerifyText doe met de beide variabelen levert dat in beide gevallen de volgende melding op: The text "Actie1" is not found in the HTML content. ofwel zowel Testactie_Testje als Testactie1 is gevuld met de waarde "Actie1"... Maar blijkbaar is er toch een verschil!

Trim werkt overigens niet... die functie wordt niet herkent... wellicht moet ik dan nog wat importen... ga ik even naar zoeken.

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

Verwijderd

kazz1980 schreef op dinsdag 27 december 2011 @ 12:00:
[...]

Uiteraard heb ik het direct aangepast naar 'equals'... Als ik advies vraag doe ik er ook iets mee 8) De tekst iop betreffende site heb ik overigens wel degelijk helemaal gelezen... blijkbaar begrijp ik daarin dan toch iets verkeerd - want ik zie daarin nog steeds staan dat == wel zou kunnen bij vergelijken van twee string-variabelen... Maar doet er niet toe. vanaf nu gebruik ik gewoon altijd equals!! ;)

[...]
Zeggen dat het er niet toe doet en het klakkeloos overnemen 'omdat men zegt dat het zo moet' werkt misschien op de korte termijn, maar je gaat 100% zeker tegen andere problemen aanlopen qua object referenties.

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 22:40

Haan

dotnetter

Het is al een paar keer genoemd, maar je lijkt er overheen te lezen of het te negeren, dus:
DEBUGGEN

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Verwijderd schreef op dinsdag 27 december 2011 @ 12:10:
[...]

Zeggen dat het er niet toe doet en het klakkeloos overnemen 'omdat men zegt dat het zo moet' werkt misschien op de korte termijn, maar je gaat 100% zeker tegen andere problemen aanlopen qua object referenties.
Ik begrijp wel dat er een verschil is tussen == en equals! Dat so wie so... De ene vergelijkt twee objecten uit het geheugen. de andere twee strings. Dat maakt dat equals hoe dan ook een stuk zuiverder is wanneer je strings wilt vergelijken! Ik ga nog wel een keer goed in dit verhaal duiken! Thx voor het meedenken!

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
kazz1980 schreef op dinsdag 27 december 2011 @ 12:00:
Als ik een web.VerifyText doe met de beide variabelen levert dat in beide gevallen de volgende melding op: The text "Actie1" is not found in the HTML content. ofwel zowel Testactie_Testje als Testactie1 is gevuld met de waarde "Actie1"... Maar blijkbaar is er toch een verschil!
Output de inhoud van die beide variabelen nou eens gewoon? Kennelijk kun je het spul niet in een debugger draaien, maar even iets outputten naar (bijvoorbeeld) de console lijkt me toch wel mogelijk? Vandaar dat ik naar je code vroeg, omdat ik wou weten hoe je aan het debuggen bent.
Trim werkt overigens niet... die functie wordt niet herkent... wellicht moet ik dan nog wat importen... ga ik even naar zoeken.
http://docs.oracle.com/ja...ng/String.html#trim%28%29

Asje. Als Java developer heb je gewoon de API docs paraat.
kazz1980 schreef op dinsdag 27 december 2011 @ 12:13:
Ik begrijp wel dat er een verschil is tussen == en equals! Dat so wie so... De ene vergelijkt twee objecten uit het geheugen. de andere twee strings. Dat maakt dat equals hoe dan ook een stuk zuiverder is wanneer je strings wilt vergelijken! Ik ga nog wel een keer goed in dit verhaal duiken! Thx voor het meedenken!
Joh, ons hou je echt niet voor de gek. Dat je daar die == had staan in je code geeft gewoon aan dat je maar wat probeert. Als je echt het verschil had geweten had die == daar niet gestaan. Geeft niet, het is een veelgemaakte beginnersfout, maar wees wel gewoon eerlijk en doe wel je best het te leren.

[ Voor 27% gewijzigd door Hydra op 27-12-2011 12:15 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Haan schreef op dinsdag 27 december 2011 @ 12:10:
Het is al een paar keer genoemd, maar je lijkt er overheen te lezen of het te negeren, dus:
DEBUGGEN
Excuus... had ik inderdaad even op moeten reageren!
Uiteraard ben ik de code al veelvuldig doorgelopen en heb ik diverse print-statements toegevoegd om door te krijgen wat er gebeurd. (althans... middels een Verify dus... dat is binnen deze tool een makkelijker manier om iets in beeld te krijgen!)

Uitdaging is dus dat beide variabelen de waarde "Actie1" terug geven, maar een equals toch aangeeft dat er een verschil is. Er zijn overigens verder geen foutmeldingen of waarschuwingen oid binnen de code.

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Hydra schreef op dinsdag 27 december 2011 @ 12:14:
[...]


Output de inhoud van die beide variabelen nou eens gewoon? Kennelijk kun je het spul niet in een debugger draaien, maar even iets outputten naar (bijvoorbeeld) de console lijkt me toch wel mogelijk? Vandaar dat ik naar je code vroeg, omdat ik wou weten hoe je aan het debuggen bent.


[...]


http://docs.oracle.com/ja...ng/String.html#trim%28%29

Asje. Als Java developer heb je gewoon de API docs paraat.


[...]


Joh, ons hou je echt niet voor de gek. Dat je daar die == had staan in je code geeft gewoon aan dat je maar wat probeert. Als je echt het verschil had geweten had die == daar niet gestaan. Geeft niet, het is een veelgemaakte beginnersfout, maar wees wel gewoon eerlijk en doe wel je best het te leren.
;P Ik hou niemand voor de gek... heb direct in het begin al gemeld dat ik redelijk nieuw ben qua Java!... En iedere programmeur zal toch weten dat je in beginsel gewoon wat uitprobeert en middels trial and error verder komt! Als ik het verschil vooraf had geweten had ik het uiteraard anders gedaan... Dankzij jullie hulp snap ik nu dus wel dat er een verschil is! Nogmaals... ik neem jullie adviezen zeer ter harte!!

Helaas heeft de tool (Oracle ATS dus) geen uitgebreide debug-mogelijkheden (althans - niet dat ik kan vinden!). Outputten naar een console kan ook niet omdat de applicatie binnen de tool draait en niet als onafhankelijke Java-code... (sorry - ik verzin het ook niet!) er is dus geen console waar bv. output naar toe gespuugd kan worden!

trim werkt ook nog altijd niet... ondanks "import java.lang.*;"... Het wordt niet herkent en als debug krijg ik enkel de optie er een Method van te maken... Schiet niet erg op dus.

Edit:

Hoera! De tool heeft toch een console (al zegt de help-file expliciet van niet 8)7 ) - dan is er ineens wel wat serieuzer debugging mogelijk... Dat scheelt een hele hoop!

Er gaat inderdaad iets mis met het vervangen van dat spul tussen {{ }}... Deze wordt letterlijk als string genomen. Dus dan is het inderdaad nogal logisch dat het mis gaat!!
Grote vraag is nu enkel hoe ik wél betreffende waarde in een string krijg. En tevens snap ik totaal niet waarom ik bij een web-Verify wél gewoon de juiste waarde (nl. 'Actie1' krijg!)

[ Voor 16% gewijzigd door kazz1980 op 27-12-2011 12:29 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
Ik heb geen idee wat je in godsnaam aan het proberen bent, maar ik kan me niet voorstellen dat je geen breakpoints kunt gebruiken. Nogmaals: dingen naar je console spugen is GEEN goede manier van debuggen.

Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Avalaxy schreef op dinsdag 27 december 2011 @ 12:40:
Ik heb geen idee wat je in godsnaam aan het proberen bent, maar ik kan me niet voorstellen dat je geen breakpoints kunt gebruiken. Nogmaals: dingen naar je console spugen is GEEN goede manier van debuggen.
Hydra vraagt me om dingen naar de console te sturen tbv debugging...
jij zegt het juist niet te doen...?
Hoe moet ik dan nog weten wat handig is?
Ik kan breakpoints toevoegen... alleen zie ik niet in hoe deze me hier verder moeten helpen? Het probleem is namelijk de vergelijking van strings die niet juist gaat. Het is neit dat ik neit weet hoe de code doorlopen wordt oid...

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:47
Dat is ook niet zozeer het doel van een breakpoint, het handige ervan is dat je alle waardes van alle objecten/typen die je gebruikt live kunt inzien zonder ze eerst te hoeven outputten. Zie: Wikipedia: Breakpoint

Geen dank ;)

Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Avalaxy schreef op dinsdag 27 december 2011 @ 12:52:
Dat is ook niet zozeer het doel van een breakpoint, het handige ervan is dat je alle waardes van alle objecten/typen die je gebruikt live kunt inzien zonder ze eerst te hoeven outputten. Zie: Wikipedia: Breakpoint

Geen dank ;)
Thx voor de uitleg!
Alleen biedt Oracle ATS maar heel beperkt mogelijkheden om de boel te inspecteren tijdens zo'n breakpoint... dus met de console kom ik toch echt een stuk verder!...

Hm... volgens Oracle ATS (via een wizzard, of de help-file) zou het zo moeten:

code:
1
        getVariables().set("Testactie_Testje", "{{db.testdata_testje.Testactie}}")


Dat doet echter in het geheel niets! Beetje jammer... deze tool heeft toch wat stevige manco's...

[ Voor 19% gewijzigd door kazz1980 op 27-12-2011 13:03 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
kazz1980 schreef op dinsdag 27 december 2011 @ 12:50:
Hydra vraagt me om dingen naar de console te sturen tbv debugging...
jij zegt het juist niet te doen...?
Debuggen gaat veel verder dan spul naar de console dumpen, dat bedoelt hij. Alleen zit jij binnen een vaag systeem te werken waarvan ik niet weet of je uberhaupt breakpoints kunt zetten, dus dan is spul naar de console schrijven (dat kan bijna niet onmogelijk zijn) een eerste stap.

Uiteindelijk wil je natuurlijk dit soort spullen gewoon ontwikkelen in een fatsoenlijke IDE als Eclipse of Netbeans.
Avalaxy schreef op dinsdag 27 december 2011 @ 12:40:
Ik heb geen idee wat je in godsnaam aan het proberen bent, maar ik kan me niet voorstellen dat je geen breakpoints kunt gebruiken.
Hij werkt met Oracle meuk, ik kan me best voorstellen dat erg basale zaken daar niet kunnen.
kazz1980 schreef op dinsdag 27 december 2011 @ 12:57:
Thx voor de uitleg!
Alleen biedt Oracle ATS maar heel beperkt mogelijkheden om de boel te inspecteren tijdens zo'n breakpoint... dus met de console kom ik toch echt een stuk verder!...

Hm... volgens Oracle ATS (via een wizzard, of de help-file) zou het zo moeten:

code:
1
        getVariables().set("Testactie_Testje", "{{db.testdata_testje.Testactie}}")


Dat doet echter in het geheel niets! Beetje jammer... deze tool heeft toch wat stevige manco's...
Ik neem aan dat je niet de enige bent daar die die tool kent? Vraag eens bij het bedrijf rond?

[ Voor 47% gewijzigd door Hydra op 27-12-2011 13:22 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • boe2
  • Registratie: November 2002
  • Niet online

boe2

'-')/

Dat doet echter in het geheel niets! Beetje jammer... deze tool heeft toch wat stevige manco's...
Wat probeer je daar nu eigenlijk te doen :?

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Boeboe schreef op dinsdag 27 december 2011 @ 13:22:
Wat probeer je daar nu eigenlijk te doen :?
Verschillende knopjes drukken in de hoop dat er wat uitkomt, onder het mom van "trial and error". Hij gebruikt trouwens "Oracle Application Testing Suite", kan me best voorstellen dat daar geen of beperkte debugging mogelijkheiden in zitten, het is ook gewoon geen IDE.

[ Voor 25% gewijzigd door Hydra op 27-12-2011 13:24 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:44

kazz1980

Goh... Ik hier?

Topicstarter
Hydra schreef op dinsdag 27 december 2011 @ 13:23:
[...]


Verschillende knopjes drukken in de hoop dat er wat uitkomt, onder het mom van "trial and error". Hij gebruikt trouwens "Oracle Application Testing Suite", kan me best voorstellen dat daar geen of beperkte debugging mogelijkheiden in zitten, het is ook gewoon geen IDE.
Thx Hydra... Dat is precies wat ik doe... want inderdaad biedt ATS maar beperkt de mogelijkheden om goede code te produceren!
Java is al lastig (voor mij dan).. en al helemaal als je dit binnen een tool moet doen die daar niet echt bij wil helpen en dus zelfs ronduit foutieve informatie geeft...
Nu al een paar keer meegemaakt dat je de tool iets voor je laat doen (via Wizard-achtige dingen) en dat dat vervolgens ongeldige code oplevert.

Ik denk dat het inderdaad zaak wordt eens op zoek te gaan naar iemand met kennis van deze specifieke tool... Want kom totaal niet verder!
Toch heel erg bedankt voor alle tips en trucs. ben nl. wel een heel stuk wijzer geworden!!

[ Voor 4% gewijzigd door kazz1980 op 27-12-2011 13:29 ]

hier stond iets interessants, maar het is even weg...


Acties:
  • 0 Henk 'm!

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 14-10 11:54

_Erikje_

Tweaker in Spanje

StringUtils.equals(str, str) _/-\o_ _/-\o_ _/-\o_ _/-\o_ geen gezeik met NullPointers :9~ O+

[ Voor 2% gewijzigd door _Erikje_ op 28-12-2011 00:23 . Reden: ctrl-space ]

Pagina: 1