Avatar billede riversen Nybegynder
23. maj 2003 - 11:20 Der er 23 kommentarer og
1 løsning

Reverse Engineering i Rational Rose

Jeg har en ordentlig spandfuld java filer jeg gere vil lave Reverse Engineering på.

I Rational Rose går jeg in i Tools menuen --> java --> project specifications og tilføjer stien til mit source bibliotek og bagefter tools --> java --> reverse engineering java


Tilføjer mine filer etc.

loggen fyldes med fejl ala:
11:18:16|  Parser Error: near token Asked on line 31 occurred in File C:\Documents and Settings\dmu21010\Desktop\FTP-Projekt\src\com\ftp\server\commands\CdupCommand.java
Avatar billede disky Nybegynder
23. maj 2003 - 11:23 #1
Prøv at poste hele den metode som den linie er i
Avatar billede riversen Nybegynder
23. maj 2003 - 11:28 #2
package com.ftp.server.commands;

import com.ftp.server.log.Log;

import java.io.File;
import java.util.regex.Pattern;

/**
* Klasse implementerer håndtering af CDUP kommandoen, der modtages fra
* klienten.
*
* @author René Iversen, Søren Christensen og Strange Poulsen.
*/

public class CdupCommand extends AbstractCommand
{
  /**
  * Håndterer hvad der skal svares tilbage på CDUP kommandoen.
  */
  public void respond()
  {
    if( !Pattern.matches( "CDUP", commandLine ) )
      syntaxError();
    else
    {
      String currentPath = owner.getCurrentDirectory().getAbsolutePath();
      int offSet = currentPath.lastIndexOf( "\\" );
     
      File newPath = new File( currentPath.substring( 0, offSet ) );
     
      logHandler.logEvent( "Asked to change directory: '" +
                          currentPath + " -> "
                          + newPath.getAbsolutePath() + "'", Log.LOG );
     
      if( !newPath.exists() || !owner.getUser().hasReadAccess( newPath ) )
        writeLine( "550 The action could not be completed" );
      else
      {
        owner.setCurrentDirectory( newPath );
        writeLine( "200 Directory changed successfully" );
      } 
    }
  }
}

det skal siges der kun er problemet med commands pakken. Men nogle commands bliver reverse engineered
Avatar billede riversen Nybegynder
23. maj 2003 - 11:29 #3
Avatar billede riversen Nybegynder
23. maj 2003 - 11:30 #4
Avatar billede hoejrup Nybegynder
23. maj 2003 - 11:31 #5
Hvis det er skrevet i Sun Java, så kan du vel ikke lave reverse engineering med en Microsoft Java metode, eller det modsatte.

/per
Avatar billede riversen Nybegynder
23. maj 2003 - 11:33 #6
hoejrup: ved ikke hvad du mener
Avatar billede disky Nybegynder
23. maj 2003 - 11:38 #7
Det er i denn her ikke:
logHandler.logEvent( "Asked to change directory: '" +
                          currentPath + " -> "
                          + newPath.getAbsolutePath() + "'", Log.LOG );


Prøv at ret den til:
logHandler.logEvent( "Asked to change directory: '" + currentPath + " -> " + newPath.getAbsolutePath() + "'", Log.LOG );


Måske kan rational ikke hitte ud af linier der er splittet
Avatar billede arne_v Ekspert
23. maj 2003 - 11:55 #8
Skal du arbejde med det i Rational Rose eller skal du bare have
printet et UML digram ?
Avatar billede riversen Nybegynder
23. maj 2003 - 11:55 #9
hjælper ikke...det er også gjort andre steder hvor der ingen problemer er...som sagt er det kun i command pakken der er problemer
Avatar billede riversen Nybegynder
23. maj 2003 - 12:29 #10
arne_v: ja, der skal laves noget uml. Men har lavet noget i rational rose, og det skal helst se ens ud, så det er vist ikke en mulighed at skifte, hvis det er det du tænker på :-)
Avatar billede arne_v Ekspert
23. maj 2003 - 12:33 #11
Ja - det var det jeg tænkte på.
Avatar billede disky Nybegynder
23. maj 2003 - 12:35 #12
Man plejer jo at lave UML før man programmerer og ikke bagefter :)
Avatar billede riversen Nybegynder
23. maj 2003 - 12:36 #13
arne_v: men hvilket program ville du så foreslå...det kan jo blive en nødvendighed egentlig
Avatar billede arne_v Ekspert
23. maj 2003 - 12:51 #14
Der er masser af muligheder.

Hvis du har adgang til JBuilder eller Together så kan de UML.

Der er et gratis produkt Poseidon som faktisk er udmærket (jeg bruger
det en del selv).

Poseidon kan iøvrigt bruges som plugin til NetBeans og Sun ONE Studio
(men det har jeg aldrig prøvet).

Jeg har prøvet at bruge Poseidons import Java funktion og det ser ud
til at virke OK.
Avatar billede arne_v Ekspert
23. maj 2003 - 12:52 #15
Iøvrigt kan det være at du kan flytte UML mellem de forskellige tools.

Der er faktisk en standard XMI for det. Og ja det er baseret
på XML.

[en meget ny standard så det er stadigvæk kryds finge og håb teknologi]
Avatar billede arne_v Ekspert
23. maj 2003 - 12:53 #16
JDeveloper kan også UML.
Avatar billede riversen Nybegynder
23. maj 2003 - 13:47 #17
int offSet = currentPath.lastIndexOf( "\\" );
hvis jeg udkommenterer denne linie er der ingen problemer...nogen ideer til hvad jeg kan gøre ?
Avatar billede arne_v Ekspert
23. maj 2003 - 14:00 #18
Hmm.

Måske har de en dårlig parser der har et problem emd "\\" !?
Avatar billede arne_v Ekspert
23. maj 2003 - 14:00 #19
Kunne du prøve at se om den kan æde:

String garbage = "\\";
Avatar billede riversen Nybegynder
23. maj 2003 - 14:06 #20
det vil den ikke...der er nok ikke noget at gøre så
Avatar billede riversen Nybegynder
23. maj 2003 - 14:11 #21
det er en gammel 2000e version.
Avatar billede arne_v Ekspert
23. maj 2003 - 14:16 #22
Virker:

int offSet = currentPath.lastIndexOf( '\\' );

?
Avatar billede arne_v Ekspert
23. maj 2003 - 14:23 #23
Eller endnu grovere:

int offSet = currentPath.lastIndexOf( '\u005C\u005C' );
Avatar billede riversen Nybegynder
23. maj 2003 - 15:59 #24
det er en bug i den version jeg bruger...det virker fint i en nyere version. Jeg fandt også noget om det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester