I am making a UML class diagram in IntelliJ with the "Sketch it!" plugin, but it says there is a syntax error in line 5, where it says namespace the first time. I don't get why, as it says the same on many times below as well without an error. I can't find a tutorial to this program online, so I'm having trouble fixing it.
@startuml
title __STREAMINGSERVICE's Class Diagram__\n
namespace { \\ <--- this is where I get the syntax error!!
class ChangeLoginGUI {
}
}
namespace {
class Episode {
}
}
namespace {
class EpisodeGUI {
}
}
namespace {
class FileReader {
}
}
namespace {
class IncorrectLoginException {
}
}
namespace {
class InfoGUI {
}
}
namespace {
class InfoSGUI {
}
}
namespace {
abstract class InfoSuper {
}
}
namespace {
class LoginGUI {
}
}
namespace {
class Main {
}
}
namespace {
class MainGUI {
}
}
namespace {
abstract class Media {
}
}
namespace {
class MediaLibrary {
}
}
namespace {
class MediaPlayer {
}
}
namespace {
class Movie {
}
}
namespace {
class MovieGenerator {
}
}
namespace {
class MovieGeneratorTest {
}
}
namespace {
class NotificationGUI {
}
}
namespace {
abstract class ObjectGenerator {
}
}
namespace {
interface Playable {
}
}
namespace {
class SearchEngine {
}
}
namespace {
class SearchEngineTest {
}
}
namespace {
class Series {
}
}
namespace {
class SeriesGenerator {
}
}
namespace {
class SeriesGeneratorTest {
}
}
namespace {
class User {
}
}
namespace {
class UserList {
}
}
ChangeLoginGUI -up-|> javax.swing.JFrame
ChangeLoginGUI o-- User : user
ChangeLoginGUI o-- UserList : userList
Episode .up.|> Playable
EpisodeGUI -up-|> javax.swing.JFrame
EpisodeGUI o-- MediaPlayer : play
EpisodeGUI o-- Series : media
EpisodeGUI o-- MediaLibrary : ml
EpisodeGUI o-- User : user
InfoGUI -up-|> InfoSuper
InfoSGUI -up-|> InfoSuper
InfoSuper -up-|> javax.swing.JFrame
InfoSuper o-- Media : media
InfoSuper o-- MediaPlayer : play
InfoSuper o-- User : user
LoginGUI -up-|> javax.swing.JFrame
LoginGUI o-- MainGUI : launchProgram
LoginGUI o-- UserList : userList
MainGUI -up-|> javax.swing.JFrame
MainGUI o-- MediaLibrary : mediaLibrary
MainGUI o-- SearchEngine : searchEngine
MainGUI o-- User : user
MediaLibrary o-- SeriesGenerator : m1
MediaLibrary o-- MovieGenerator : m2
MediaPlayer -up-|> javax.swing.JFrame
Movie .up.|> Playable
Movie -up-|> Media
MovieGenerator -up-|> ObjectGenerator
MovieGeneratorTest o-- FileReader : fr
MovieGeneratorTest o-- MovieGenerator : mg
MovieGeneratorTest o-- MovieGeneratorTest : mgt
ObjectGenerator o-- FileReader : fr
SearchEngine o-- MediaLibrary : mediaLibrary
SearchEngineTest o-- SearchEngine : searchEngine
Series -up-|> Media
SeriesGenerator -up-|> ObjectGenerator
SeriesGeneratorTest o-- FileReader : fr
SeriesGeneratorTest o-- SeriesGenerator : sg
right footer
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
For more information about this tool, please contact philippe.mesmeur@gmail.com
endfooter
@enduml
The definition is incompatible with PlantUML syntax, with all these namespace {..}
without naming the namespace and these {}
after introducing each class
Placing the two first classes in a dedicated namespace but not the next :
@startuml
title __STREAMINGSERVICE's Class Diagram__\n
namespace A {
class ChangeLoginGUI
}
namespace B {
class Episode
}
class EpisodeGUI
class FileReader
class IncorrectLoginException
class InfoGUI
class InfoSGUI
abstract class InfoSuper
class LoginGUI
class Main
class MainGUI
abstract class Media
class MediaLibrary
class MediaPlayer
class Movie
class MovieGenerator
class MovieGeneratorTest
class NotificationGUI
abstract class ObjectGenerator
interface Playable
class SearchEngine
class SearchEngineTest
class Series
class SeriesGenerator
class SeriesGeneratorTest
class User
class UserList
ChangeLoginGUI -up-|> javax.swing.JFrame
ChangeLoginGUI o-- User : user
ChangeLoginGUI o-- UserList : userList
Episode .up.|> Playable
EpisodeGUI -up-|> javax.swing.JFrame
EpisodeGUI o-- MediaPlayer : play
EpisodeGUI o-- Series : media
EpisodeGUI o-- MediaLibrary : ml
EpisodeGUI o-- User : user
InfoGUI -up-|> InfoSuper
InfoSGUI -up-|> InfoSuper
InfoSuper -up-|> javax.swing.JFrame
InfoSuper o-- Media : media
InfoSuper o-- MediaPlayer : play
InfoSuper o-- User : user
LoginGUI -up-|> javax.swing.JFrame
LoginGUI o-- MainGUI : launchProgram
LoginGUI o-- UserList : userList
MainGUI -up-|> javax.swing.JFrame
MainGUI o-- MediaLibrary : mediaLibrary
MainGUI o-- SearchEngine : searchEngine
MainGUI o-- User : user
MediaLibrary o-- SeriesGenerator : m1
MediaLibrary o-- MovieGenerator : m2
MediaPlayer -up-|> javax.swing.JFrame
Movie .up.|> Playable
Movie -up-|> Media
MovieGenerator -up-|> ObjectGenerator
MovieGeneratorTest o-- FileReader : fr
MovieGeneratorTest o-- MovieGenerator : mg
MovieGeneratorTest o-- MovieGeneratorTest : mgt
ObjectGenerator o-- FileReader : fr
SearchEngine o-- MediaLibrary : mediaLibrary
SearchEngineTest o-- SearchEngine : searchEngine
Series -up-|> Media
SeriesGenerator -up-|> ObjectGenerator
SeriesGeneratorTest o-- FileReader : fr
SeriesGeneratorTest o-- SeriesGenerator : sg
right footer
PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
For more information about this tool, please contact philippe.mesmeur@gmail.com
endfooter
@enduml
produces :
Note your diagram is not easy to read because containing a lot of classes, and some of them are orphan.
The footer indicates this is generated by SketchIt, I do not know it, perhaps that tool needs to have all classes defined in a namespace rather than out of a namespace ?