mirror of
https://github.com/octoleo/plantuml.git
synced 2024-11-22 04:55:10 +00:00
Wip
This commit is contained in:
parent
1c650bb2f9
commit
678949b44c
@ -66,7 +66,7 @@ public class Canvas {
|
||||
private static int frameWidth;
|
||||
private static int frameHeight;
|
||||
|
||||
public static int initCanvas(int width, int height) throws IOException {
|
||||
public static int initCanvas(int width, int height) {
|
||||
WasmLog.start = System.currentTimeMillis();
|
||||
WasmLog.log("initCanvas");
|
||||
if (g2d == null) {
|
||||
@ -85,6 +85,37 @@ public class Canvas {
|
||||
return 47;
|
||||
}
|
||||
|
||||
public static int convert(String text) throws IOException {
|
||||
WasmLog.start = System.currentTimeMillis();
|
||||
final BlockUmlBuilder builder = new BlockUmlBuilder(Collections.<String>emptyList(), UTF_8,
|
||||
Defines.createEmpty(), new StringReader(text), null, "string");
|
||||
List<BlockUml> blocks = builder.getBlockUmls();
|
||||
|
||||
WasmLog.log("...loading data...");
|
||||
|
||||
final Diagram system = blocks.get(0).getDiagram();
|
||||
|
||||
if (system instanceof PSystemError) {
|
||||
final ErrorUml error = ((PSystemError) system).getFirstError();
|
||||
WasmLog.log("[" + error.getPosition() + "] " + error.getError());
|
||||
return -242;
|
||||
}
|
||||
WasmLog.log("...processing...");
|
||||
|
||||
final HColor back = HColors.simple(Color.WHITE);
|
||||
final StringBounder stringBounder = new StringBounderCanvas(g2d);
|
||||
final UGraphicG2d ug = new UGraphicG2d(back, ColorMapper.IDENTITY, stringBounder, g2d, 1.0);
|
||||
// ug.apply(back).apply(back.bg()).draw(new URectangle(frameWidth,
|
||||
// frameHeight));
|
||||
ug.apply(HColors.RED).apply(back.bg()).draw(new URectangle(frameWidth, frameHeight));
|
||||
WasmLog.log("system= " + system.getClass().getName());
|
||||
|
||||
system.exportDiagramGraphic(ug);
|
||||
|
||||
return 45;
|
||||
|
||||
}
|
||||
|
||||
public static int convertCanvas(int width, int height, String text) throws IOException {
|
||||
WasmLog.start = System.currentTimeMillis();
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
*/
|
||||
package com.plantuml.wasm;
|
||||
|
||||
//::uncomment when WASM
|
||||
//::uncomment when CORE
|
||||
//import com.leaningtech.client.Document;
|
||||
//import com.leaningtech.client.Element;
|
||||
//import com.leaningtech.client.Global;
|
||||
@ -46,7 +46,7 @@ public class WasmLog {
|
||||
public static long start;
|
||||
|
||||
public static void log(String message) {
|
||||
// ::uncomment when WASM
|
||||
// ::uncomment when CORE
|
||||
// if (start > 0) {
|
||||
// final long duration = System.currentTimeMillis() - start;
|
||||
// message = "(" + duration + " ms) " + message;
|
||||
|
@ -97,7 +97,7 @@ import ext.plantuml.com.ctreber.aclib.sort.QuickSort;
|
||||
* @author Christian Treber, ct@ctreber.com
|
||||
*/
|
||||
public class ACearth {
|
||||
// :: remove folder when WASM
|
||||
// :: remove folder when CORE
|
||||
public static final String VERSION = "1.1";
|
||||
public static final String BUILD = "22.11.2002 004";
|
||||
|
||||
|
@ -9,7 +9,7 @@ package ext.plantuml.com.ctreber.aclib.gui;
|
||||
*/
|
||||
public class MOBoolean extends MonitoredObject
|
||||
{
|
||||
// :: remove folder when WASM
|
||||
// :: remove folder when CORE
|
||||
private boolean fBoolean;
|
||||
|
||||
public MOBoolean()
|
||||
|
@ -11,7 +11,7 @@ import java.util.Comparator;
|
||||
*/
|
||||
abstract public class CTSort
|
||||
{
|
||||
// :: remove folder when WASM
|
||||
// :: remove folder when CORE
|
||||
public void sort(Object[] items)
|
||||
{
|
||||
sort(items, new DefaultComparator());
|
||||
|
@ -24,7 +24,7 @@ import java.util.Hashtable;
|
||||
* @author Sean Owen
|
||||
*/
|
||||
public final class BarcodeFormat {
|
||||
// :: remove folder when WASM
|
||||
// :: remove folder when CORE
|
||||
|
||||
// No, we can't use an enum here. J2ME doesn't support it.
|
||||
|
||||
|
@ -48,7 +48,7 @@ import jcckit.util.Factory;
|
||||
* @author Franz-Josef Elmer
|
||||
*/
|
||||
public class GraphicsPlotCanvas extends PlotCanvas {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
/** Key of a configuration parameter. */
|
||||
public static final String BACKGROUND_KEY = "background";
|
||||
public static final String FOREGROUND_KEY = "foreground";
|
||||
|
@ -85,7 +85,7 @@ public abstract class AbstractPSystem implements Diagram {
|
||||
toAppend.append(Version.versionString());
|
||||
toAppend.append("(" + Version.compileTimeString() + ")\n");
|
||||
toAppend.append("(" + License.getCurrent() + " source distribution)\n");
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
for (String name : OptionPrint.interestingProperties()) {
|
||||
toAppend.append(name);
|
||||
toAppend.append(BackSlash.CHAR_NEWLINE);
|
||||
@ -187,7 +187,7 @@ public abstract class AbstractPSystem implements Diagram {
|
||||
// }
|
||||
return exportDiagramNow(os, index, fileFormatOption);
|
||||
} finally {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (OptionFlags.getInstance().isEnableStats())
|
||||
StatsUtilsIncrement.onceMoreGenerate(System.currentTimeMillis() - now, getClass(),
|
||||
fileFormatOption.getFileFormat());
|
||||
|
@ -49,7 +49,7 @@ import net.sourceforge.plantuml.preproc.FileWithSuffix;
|
||||
|
||||
@Deprecated
|
||||
public class DirWatcher {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
final private File dir;
|
||||
final private Option option;
|
||||
|
@ -53,7 +53,7 @@ import net.sourceforge.plantuml.log.Logme;
|
||||
import net.sourceforge.plantuml.preproc.FileWithSuffix;
|
||||
|
||||
public class DirWatcher2 {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
final private File dir;
|
||||
final private Option option;
|
||||
|
@ -74,7 +74,7 @@ public class EmptyImageBuilder {
|
||||
if (width <= 0 || height <= 0)
|
||||
throw new IllegalArgumentException("width and height must be positive");
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (width > GraphvizUtils.getenvImageLimit()) {
|
||||
Log.info("Width too large " + width + ". You should set PLANTUML_LIMIT_SIZE");
|
||||
width = GraphvizUtils.getenvImageLimit();
|
||||
|
@ -64,7 +64,7 @@ import net.sourceforge.plantuml.ugraphic.debug.StringBounderDebug;
|
||||
*/
|
||||
public enum FileFormat {
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
EPS("application/postscript"), //
|
||||
EPS_TEXT("application/postscript"), //
|
||||
ATXT("text/plain"), //
|
||||
@ -106,7 +106,7 @@ public enum FileFormat {
|
||||
* @return a string starting by a point.
|
||||
*/
|
||||
public String getFileSuffix() {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (name().startsWith("XMI"))
|
||||
return ".xmi";
|
||||
|
||||
@ -141,7 +141,7 @@ public enum FileFormat {
|
||||
}
|
||||
|
||||
public StringBounder getDefaultStringBounder(TikzFontDistortion tikzFontDistortion, SvgCharSizeHack charSizeHack) {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (this == LATEX || this == LATEX_NO_PREAMBLE)
|
||||
return getTikzStringBounder(tikzFontDistortion);
|
||||
|
||||
@ -200,7 +200,7 @@ public enum FileFormat {
|
||||
return new XDimension2D(rect.getWidth(), rect.getHeight());
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private StringBounder getBrailleStringBounder() {
|
||||
return new StringBounderRaw(FileFormat.gg.getFontRenderContext()) {
|
||||
public String toString() {
|
||||
|
@ -65,7 +65,7 @@ public class FileSystem {
|
||||
}
|
||||
|
||||
public SFile getCurrentDir() {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
final String path = this.currentDir.get();
|
||||
if (path != null)
|
||||
return new SFile(path);
|
||||
@ -75,11 +75,11 @@ public class FileSystem {
|
||||
}
|
||||
|
||||
public SFile getFile(String nameOrPath) throws IOException {
|
||||
// ::uncomment when WASM
|
||||
// ::uncomment when CORE
|
||||
// return null;
|
||||
// ::done
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (isAbsolute(nameOrPath)) {
|
||||
final SFile result = new SFile(nameOrPath);
|
||||
Log.info("Trying " + result.getAbsolutePath());
|
||||
@ -117,7 +117,7 @@ public class FileSystem {
|
||||
// ::done
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private boolean isAbsolute(String nameOrPath) {
|
||||
final SFile f = new SFile(nameOrPath);
|
||||
return f.isAbsolute();
|
||||
|
@ -39,7 +39,7 @@ import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
public interface ISourceFileReader {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
public List<GeneratedImage> getGeneratedImages() throws IOException;
|
||||
|
||||
|
@ -115,7 +115,7 @@ public class Option {
|
||||
this.fileFormatOption = newFormat;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public Option(String... arg) throws InterruptedException, IOException {
|
||||
if (arg.length == 0)
|
||||
OptionFlags.getInstance().setGui(true);
|
||||
@ -407,7 +407,7 @@ public class Option {
|
||||
// ::done
|
||||
|
||||
public Stdrpt getStdrpt() {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (stdrpt == 1)
|
||||
return new StdrptV1();
|
||||
|
||||
|
@ -77,7 +77,7 @@ public class OptionFlags {
|
||||
|
||||
// static public final boolean LINK_BETWEEN_FIELDS = true;
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public void reset() {
|
||||
reset(false);
|
||||
GraphvizUtils.setDotExecutable(null);
|
||||
@ -197,7 +197,7 @@ public class OptionFlags {
|
||||
private final AtomicBoolean logDataInitized = new AtomicBoolean(false);
|
||||
|
||||
public void logData(final SFile file, Diagram system) {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
final String warnOrError = system.getWarningOrError();
|
||||
if (warnOrError == null) {
|
||||
return;
|
||||
@ -228,7 +228,7 @@ public class OptionFlags {
|
||||
// ::done
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public final void setLogData(SFile logData) {
|
||||
this.logData = logData;
|
||||
logData.delete();
|
||||
|
@ -56,7 +56,7 @@ import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
import net.sourceforge.plantuml.version.Version;
|
||||
|
||||
public class OptionPrint {
|
||||
//::remove file when WASM
|
||||
//::remove file when CORE
|
||||
|
||||
static public void printTestDot() throws InterruptedException {
|
||||
final List<String> result = new ArrayList<>();
|
||||
|
@ -153,7 +153,7 @@ public class PSystemBuilder {
|
||||
result = PSystemErrorUtils.merge(errors);
|
||||
return result;
|
||||
} finally {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (result != null && OptionFlags.getInstance().isEnableStats()) {
|
||||
StatsUtilsIncrement.onceMoreParse(System.currentTimeMillis() - now, result.getClass());
|
||||
}
|
||||
@ -175,7 +175,7 @@ public class PSystemBuilder {
|
||||
factories.add(new StateDiagramFactory());
|
||||
factories.add(new ActivityDiagramFactory3());
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new BpmDiagramFactory(DiagramType.BPM));
|
||||
// ::done
|
||||
|
||||
@ -183,7 +183,7 @@ public class PSystemBuilder {
|
||||
factories.add(new PSystemLicenseFactory());
|
||||
factories.add(new PSystemVersionFactory());
|
||||
factories.add(new PSystemDonorsFactory());
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new PSystemSkinparameterListFactory());
|
||||
factories.add(new PSystemListFontsFactory());
|
||||
factories.add(new PSystemListEmojiFactory());
|
||||
@ -193,7 +193,7 @@ public class PSystemBuilder {
|
||||
// ::done
|
||||
factories.add(new PSystemSaltFactory(DiagramType.UML));
|
||||
factories.add(new PSystemSaltFactory(DiagramType.SALT));
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new PSystemDotFactory(DiagramType.DOT));
|
||||
factories.add(new PSystemDotFactory(DiagramType.UML));
|
||||
// ::done
|
||||
@ -201,17 +201,17 @@ public class PSystemBuilder {
|
||||
factories.add(new NwDiagramFactory(DiagramType.NW));
|
||||
factories.add(new MindMapDiagramFactory());
|
||||
factories.add(new WBSDiagramFactory());
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new PSystemDitaaFactory());
|
||||
// ::done
|
||||
if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new PSystemJcckitFactory());
|
||||
// ::done
|
||||
// factories.add(new PSystemLogoFactory());
|
||||
factories.add(new PSystemSudokuFactory());
|
||||
}
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new PSystemDefinitionFactory());
|
||||
factories.add(new ListSpriteDiagramFactory());
|
||||
factories.add(new StdlibDiagramFactory());
|
||||
@ -228,7 +228,7 @@ public class PSystemBuilder {
|
||||
factories.add(new PSystemOregonFactory());
|
||||
// ::done
|
||||
factories.add(new PSystemCharlieFactory());
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) {
|
||||
factories.add(new PSystemXearthFactory());
|
||||
}
|
||||
@ -237,17 +237,17 @@ public class PSystemBuilder {
|
||||
factories.add(new FlowDiagramFactory());
|
||||
// factories.add(new PSystemTreeFactory(DiagramType.JUNGLE));
|
||||
// factories.add(new PSystemCuteFactory(DiagramType.CUTE));
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new PSystemDedicationFactory());
|
||||
// ::done
|
||||
factories.add(new TimingDiagramFactory());
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new HelpFactory());
|
||||
factories.add(new WireDiagramFactory());
|
||||
// ::done
|
||||
factories.add(new JsonDiagramFactory());
|
||||
factories.add(new GitDiagramFactory());
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
factories.add(new BoardDiagramFactory());
|
||||
// ::done
|
||||
factories.add(new YamlDiagramFactory());
|
||||
|
@ -56,7 +56,7 @@ import net.sourceforge.plantuml.sequencediagram.SequenceDiagram;
|
||||
import net.sourceforge.plantuml.utils.Log;
|
||||
|
||||
public class PSystemUtils {
|
||||
// :: remove file when WASM
|
||||
// :: remove file when CORE
|
||||
|
||||
public static List<FileImageData> exportDiagrams(Diagram system, SuggestedFile suggested,
|
||||
FileFormatOption fileFormatOption) throws IOException {
|
||||
@ -66,7 +66,7 @@ public class PSystemUtils {
|
||||
public static List<FileImageData> exportDiagrams(Diagram system, SuggestedFile suggestedFile,
|
||||
FileFormatOption fileFormatOption, boolean checkMetadata) throws IOException {
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
final SFile existingFile = suggestedFile.getFile(0);
|
||||
if (checkMetadata && fileFormatOption.getFileFormat().doesSupportMetadata() && existingFile.exists()) {
|
||||
// && system.getNbImages() == 1) {
|
||||
@ -85,7 +85,7 @@ public class PSystemUtils {
|
||||
if (system instanceof SequenceDiagram)
|
||||
return exportDiagramsSequence((SequenceDiagram) system, suggestedFile, fileFormatOption);
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (system instanceof CucaDiagram && fileFormatOption.getFileFormat() == FileFormat.HTML)
|
||||
return createFilesHtml((CucaDiagram) system, suggestedFile);
|
||||
// ::done
|
||||
|
@ -75,7 +75,7 @@ import net.sourceforge.plantuml.utils.Log;
|
||||
import net.sourceforge.plantuml.version.Version;
|
||||
|
||||
public class Run {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
private static Cypher cypher;
|
||||
|
||||
|
@ -48,7 +48,7 @@ import net.sourceforge.plantuml.utils.Log;
|
||||
|
||||
|
||||
public class SourceFileReader extends SourceFileReaderAbstract implements ISourceFileReader {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
private File outputDirectory;
|
||||
|
||||
|
@ -65,7 +65,7 @@ import net.sourceforge.plantuml.security.SecurityUtils;
|
||||
import net.sourceforge.plantuml.utils.Log;
|
||||
|
||||
public abstract class SourceFileReaderAbstract implements ISourceFileReader {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
final private File file;
|
||||
|
||||
|
@ -42,7 +42,7 @@ import java.util.List;
|
||||
import net.sourceforge.plantuml.preproc.Defines;
|
||||
|
||||
public class SourceFileReaderCopyCat extends SourceFileReaderAbstract implements ISourceFileReader {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
private final File outputDirectory;
|
||||
|
||||
|
@ -43,7 +43,7 @@ import net.sourceforge.plantuml.preproc.Defines;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
|
||||
public class SourceFileReaderHardFile extends SourceFileReaderAbstract implements ISourceFileReader {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
private final File outputFile;
|
||||
|
||||
|
@ -45,7 +45,7 @@ import net.sourceforge.plantuml.error.PSystemError;
|
||||
import net.sourceforge.plantuml.utils.Log;
|
||||
|
||||
public class StdrptV1 implements Stdrpt {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
public void printInfo(final PrintStream output, Diagram sys) {
|
||||
if (sys instanceof PSystemWelcome) {
|
||||
|
@ -44,7 +44,7 @@ import net.sourceforge.plantuml.eggs.PSystemWelcome;
|
||||
import net.sourceforge.plantuml.error.PSystemError;
|
||||
|
||||
public class StdrptV2 implements Stdrpt {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
public void finalMessage() {
|
||||
}
|
||||
|
@ -353,7 +353,7 @@ public class StringUtils {
|
||||
return result;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public static int getWcWidth(Display stringsToDisplay) {
|
||||
int result = 1;
|
||||
for (CharSequence s : stringsToDisplay) {
|
||||
|
@ -38,7 +38,7 @@ package net.sourceforge.plantuml;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
|
||||
public class SuggestedFile {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
private final FileFormat fileFormat;
|
||||
private final int initialCpt;
|
||||
|
@ -81,7 +81,7 @@ public abstract class TitledDiagram extends AbstractPSystem implements Diagram,
|
||||
|
||||
private final SkinParam skinParam;
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private Animation animation;
|
||||
// ::done
|
||||
|
||||
@ -254,7 +254,7 @@ public abstract class TitledDiagram extends AbstractPSystem implements Diagram,
|
||||
return ClockwiseTopRightBottomLeft.same(10);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
final public void setAnimation(Iterable<CharSequence> animationData) {
|
||||
// try {
|
||||
final AnimationDecoder animationDecoder = new AnimationDecoder(animationData);
|
||||
|
@ -130,7 +130,7 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
|
||||
fileFormatOption = fileFormatOption.withTikzFontDistortion(getSkinParam().getTikzFontDistortion());
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (fileFormatOption.getFileFormat() == FileFormat.PDF)
|
||||
return exportDiagramInternalPdf(os, index);
|
||||
// ::done
|
||||
@ -161,7 +161,7 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
public static void exportDiagramError(OutputStream os, Throwable exception, FileFormatOption fileFormat, long seed,
|
||||
String metadata, String flash, List<String> strings) throws IOException {
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (fileFormat.getFileFormat() == FileFormat.ATXT || fileFormat.getFileFormat() == FileFormat.UTXT) {
|
||||
exportDiagramErrorText(os, exception, strings);
|
||||
return;
|
||||
@ -171,7 +171,7 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
strings.addAll(CommandExecutionResult.getStackTrace(exception));
|
||||
|
||||
BufferedImage im2 = null;
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (flash != null) {
|
||||
final FlashCodeUtils utils = FlashCodeFactory.getFlashCodeUtils();
|
||||
try {
|
||||
@ -201,7 +201,7 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
plainImageBuilder(drawable, fileFormat).metadata(metadata).seed(seed).write(os);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private static void exportDiagramErrorText(OutputStream os, Throwable exception, List<String> strings) {
|
||||
final PrintWriter pw = SecurityUtils.createPrintWriter(os);
|
||||
exception.printStackTrace(pw);
|
||||
@ -254,7 +254,7 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
return strings;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private void exportDiagramInternalMjpeg(OutputStream os) throws IOException {
|
||||
final SFile f = new SFile("c:/test.avi");
|
||||
final int nb = 150;
|
||||
|
@ -58,7 +58,7 @@ import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.core.UmlSource;
|
||||
|
||||
public class PSystemXearth extends AbstractPSystem {
|
||||
// :: remove folder when WASM
|
||||
// :: remove folder when CORE
|
||||
|
||||
final private int width;
|
||||
final private int height;
|
||||
|
@ -42,19 +42,19 @@ import java.util.Objects;
|
||||
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.baraye.CucaDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.UmlSource;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.GroupType;
|
||||
import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.utils.Direction;
|
||||
|
||||
public class ActivityDiagram extends CucaDiagram {
|
||||
|
||||
private EntityImp lastEntityConsulted;
|
||||
private EntityImp lastEntityBrancheConsulted;
|
||||
private Entity lastEntityConsulted;
|
||||
private Entity lastEntityBrancheConsulted;
|
||||
private ConditionalContext currentContext;
|
||||
|
||||
public ActivityDiagram(UmlSource source, Map<String, String> skinParam) {
|
||||
@ -66,29 +66,10 @@ public class ActivityDiagram extends CucaDiagram {
|
||||
return "#" + this.getUniqueSequence();
|
||||
}
|
||||
|
||||
// public final IEntity getOrCreateInActivity(Quark idNewLong, String codeString, Display display, LeafType type) {
|
||||
// final Quark code = buildFromFullPath(codeString);
|
||||
// final IEntity result;
|
||||
// if (code.getData() == null) {
|
||||
// final Quark quark = getPlasma().getIfExistsFromName(code.getName());
|
||||
// if (quark != null && quark.getData() != null)
|
||||
// result = getFromName(code.getName());
|
||||
// else
|
||||
// result = reallyCreateLeaf(idNewLong, display, type, null);
|
||||
// } else {
|
||||
// result = (ILeaf) code.getData();
|
||||
// if (result.getLeafType() != type)
|
||||
// return null;
|
||||
// }
|
||||
// updateLasts(result);
|
||||
// return result;
|
||||
// }
|
||||
|
||||
public void startIf(String optionalCodeString) {
|
||||
final String idShort = optionalCodeString == null ? getAutoBranch() : optionalCodeString;
|
||||
final Quark quark = quarkInContext(cleanIdForQuark(idShort), false);
|
||||
// final Quark code = buildCode(idShort);
|
||||
final EntityImp br = reallyCreateLeaf(quark, Display.create(""), LeafType.BRANCH, null);
|
||||
final Entity br = reallyCreateLeaf(quark, Display.create(""), LeafType.BRANCH, null);
|
||||
currentContext = new ConditionalContext(currentContext, br, Direction.DOWN);
|
||||
}
|
||||
|
||||
@ -96,25 +77,25 @@ public class ActivityDiagram extends CucaDiagram {
|
||||
currentContext = currentContext.getParent();
|
||||
}
|
||||
|
||||
public EntityImp getStart() {
|
||||
public Entity getStart() {
|
||||
final Quark quark = quarkInContext("start", false);
|
||||
if (quark.getData() == null) {
|
||||
if (quark.getData() == null)
|
||||
quark.setData(reallyCreateLeaf(quark, Display.getWithNewlines("start"), LeafType.CIRCLE_START, null));
|
||||
}
|
||||
return (EntityImp) quark.getData();
|
||||
|
||||
return (Entity) quark.getData();
|
||||
}
|
||||
|
||||
public EntityImp getEnd(String suppId) {
|
||||
public Entity getEnd(String suppId) {
|
||||
final String tmp = suppId == null ? "end" : "end$" + suppId;
|
||||
final Quark quark = quarkInContext(tmp, false);
|
||||
if (quark.getData() == null) {
|
||||
if (quark.getData() == null)
|
||||
quark.setData(reallyCreateLeaf(quark, Display.getWithNewlines("end"), LeafType.CIRCLE_END, null));
|
||||
}
|
||||
return (EntityImp) quark.getData();
|
||||
|
||||
return (Entity) quark.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateLasts(EntityImp result) {
|
||||
protected void updateLasts(Entity result) {
|
||||
if (result == null || result.getLeafType() == LeafType.NOTE)
|
||||
return;
|
||||
|
||||
@ -125,7 +106,7 @@ public class ActivityDiagram extends CucaDiagram {
|
||||
|
||||
}
|
||||
|
||||
public EntityImp createNote(Quark idNewLong, String code__, Display display) {
|
||||
public Entity createNote(Quark idNewLong, String code__, Display display) {
|
||||
return reallyCreateLeaf(Objects.requireNonNull(idNewLong), display, LeafType.NOTE, null);
|
||||
}
|
||||
|
||||
@ -135,15 +116,15 @@ public class ActivityDiagram extends CucaDiagram {
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
return new DiagramDescription("(" + getLeafssize() + " activities)");
|
||||
return new DiagramDescription("(" + getEntityFactory().leafs().size() + " activities)");
|
||||
}
|
||||
|
||||
public EntityImp getLastEntityConsulted() {
|
||||
public Entity getLastEntityConsulted() {
|
||||
return lastEntityConsulted;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public EntityImp getLastEntityBrancheConsulted() {
|
||||
public Entity getLastEntityBrancheConsulted() {
|
||||
return lastEntityBrancheConsulted;
|
||||
}
|
||||
|
||||
@ -151,18 +132,18 @@ public class ActivityDiagram extends CucaDiagram {
|
||||
return currentContext;
|
||||
}
|
||||
|
||||
public final void setLastEntityConsulted(EntityImp lastEntityConsulted) {
|
||||
public final void setLastEntityConsulted(Entity lastEntityConsulted) {
|
||||
// System.err.println("setLastEntityConsulted " + lastEntityConsulted);
|
||||
this.lastEntityConsulted = lastEntityConsulted;
|
||||
}
|
||||
|
||||
public EntityImp createInnerActivity() {
|
||||
public Entity createInnerActivity() {
|
||||
|
||||
final String idShort = "##" + this.getUniqueSequence();
|
||||
|
||||
final Quark quark = quarkInContext(idShort, false);
|
||||
gotoGroup(quark, Display.getWithNewlines(quark.getName()), GroupType.INNER_ACTIVITY);
|
||||
final EntityImp g = getCurrentGroup();
|
||||
final Entity g = getCurrentGroup();
|
||||
|
||||
lastEntityConsulted = null;
|
||||
lastEntityBrancheConsulted = null;
|
||||
|
@ -37,17 +37,17 @@ package net.sourceforge.plantuml.activitydiagram;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.utils.Direction;
|
||||
|
||||
public class ConditionalContext {
|
||||
|
||||
private final EntityImp branch;
|
||||
private final Entity branch;
|
||||
private final Direction direction;
|
||||
private final ConditionalContext parent;
|
||||
|
||||
public ConditionalContext(ConditionalContext parent, EntityImp branch, Direction direction) {
|
||||
public ConditionalContext(ConditionalContext parent, Entity branch, Direction direction) {
|
||||
this.branch = Objects.requireNonNull(branch);
|
||||
if (branch.getLeafType() != LeafType.BRANCH) {
|
||||
throw new IllegalArgumentException();
|
||||
@ -64,7 +64,7 @@ public class ConditionalContext {
|
||||
return parent;
|
||||
}
|
||||
|
||||
public final EntityImp getBranch() {
|
||||
public final Entity getBranch() {
|
||||
return branch;
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
package net.sourceforge.plantuml.activitydiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.activitydiagram.ActivityDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
@ -66,7 +66,7 @@ public class CommandElse extends SingleLineCommand2<ActivityDiagram> {
|
||||
if (system.getCurrentContext() == null) {
|
||||
return CommandExecutionResult.error("No if for this else");
|
||||
}
|
||||
final EntityImp branch = system.getCurrentContext().getBranch();
|
||||
final Entity branch = system.getCurrentContext().getBranch();
|
||||
|
||||
system.setLastEntityConsulted(branch);
|
||||
|
||||
|
@ -37,7 +37,7 @@ package net.sourceforge.plantuml.activitydiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.activitydiagram.ActivityDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.command.CommandLinkClass;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
@ -94,7 +94,7 @@ public class CommandIf extends SingleLineCommand2<ActivityDiagram> {
|
||||
|
||||
@Override
|
||||
protected CommandExecutionResult executeArg(ActivityDiagram diagram, LineLocation location, RegexResult arg) {
|
||||
final EntityImp entity1 = CommandLinkActivity.getEntity(diagram, arg, true);
|
||||
final Entity entity1 = CommandLinkActivity.getEntity(diagram, arg, true);
|
||||
if (entity1 == null)
|
||||
return CommandExecutionResult.error("No if possible at this point");
|
||||
|
||||
@ -122,7 +122,7 @@ public class CommandIf extends SingleLineCommand2<ActivityDiagram> {
|
||||
lenght = arrow.length() - 1;
|
||||
}
|
||||
|
||||
final EntityImp branch = diagram.getCurrentContext().getBranch();
|
||||
final Entity branch = diagram.getCurrentContext().getBranch();
|
||||
|
||||
final LinkArg linkArg = LinkArg.build(Display.getWithNewlines(arg.get("BRACKET", 0)), lenght);
|
||||
Link link = new Link(diagram.getEntityFactory(), diagram.getSkinParam().getCurrentStyleBuilder(), entity1,
|
||||
|
@ -61,7 +61,7 @@ public class CommandInnerConcurrent extends SingleLineCommand2<ActivityDiagram>
|
||||
|
||||
@Override
|
||||
protected CommandExecutionResult executeArg(ActivityDiagram diagram, LineLocation location, RegexResult arg) {
|
||||
if (diagram.getCurrentGroup().getQuark().isRoot()) {
|
||||
if (diagram.getCurrentGroup().isRoot()) {
|
||||
return CommandExecutionResult.error("No inner activity");
|
||||
}
|
||||
diagram.concurrentActivity(arg.get("NAME", 0));
|
||||
|
@ -37,8 +37,7 @@ package net.sourceforge.plantuml.activitydiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.activitydiagram.ActivityDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.command.CommandLinkClass;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
@ -54,6 +53,7 @@ import net.sourceforge.plantuml.descdiagram.command.CommandLinkElement;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -122,7 +122,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
@Override
|
||||
protected CommandExecutionResult executeArg(ActivityDiagram diagram, LineLocation location, RegexResult arg)
|
||||
throws NoSuchColorException {
|
||||
final EntityImp entity1 = getEntity(diagram, arg, true);
|
||||
final Entity entity1 = getEntity(diagram, arg, true);
|
||||
|
||||
if (entity1 == null)
|
||||
return CommandExecutionResult.error("No such activity");
|
||||
@ -135,7 +135,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
entity1.setSpecificColorTOBEREMOVED(ColorType.BACK, diagram.getSkinParam().getIHtmlColorSet().getColor(s));
|
||||
}
|
||||
|
||||
final EntityImp entity2 = getEntity(diagram, arg, false);
|
||||
final Entity entity2 = getEntity(diagram, arg, false);
|
||||
if (entity2 == null)
|
||||
return CommandExecutionResult.error("No such activity");
|
||||
|
||||
@ -186,7 +186,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
|
||||
}
|
||||
|
||||
static EntityImp getEntity(ActivityDiagram diagram, RegexResult arg, final boolean start) {
|
||||
static Entity getEntity(ActivityDiagram diagram, RegexResult arg, final boolean start) {
|
||||
final String suf = start ? "" : "2";
|
||||
|
||||
final String openBracket2 = arg.get("OPENBRACKET" + suf, 0);
|
||||
@ -215,7 +215,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
final Quark ident = diagram.quarkInContext(diagram.cleanIdForQuark(idShort), false);
|
||||
|
||||
final LeafType type = getTypeIfExisting(diagram, ident);
|
||||
EntityImp result = (EntityImp) ident.getData();
|
||||
Entity result = (Entity) ident.getData();
|
||||
if (result == null)
|
||||
result = diagram.reallyCreateLeaf(ident, Display.getWithNewlines(idShort), type, null);
|
||||
|
||||
@ -227,7 +227,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
final String bar = arg.get("BAR" + suf, 0);
|
||||
if (bar != null) {
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(bar), false);
|
||||
EntityImp result = (EntityImp) quark.getData();
|
||||
Entity result = (Entity) quark.getData();
|
||||
if (result == null)
|
||||
result = diagram.reallyCreateLeaf(quark, Display.getWithNewlines(bar), LeafType.SYNCHRO_BAR, null);
|
||||
return result;
|
||||
@ -243,7 +243,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(quotedString), false);
|
||||
|
||||
final LeafType type = getTypeIfExisting(diagram, quark);
|
||||
EntityImp result = (EntityImp) quark.getData();
|
||||
Entity result = (Entity) quark.getData();
|
||||
if (result == null)
|
||||
result = diagram.reallyCreateLeaf(quark, Display.getWithNewlines(quoted.get(0)), type, null);
|
||||
if (partition != null)
|
||||
@ -258,7 +258,7 @@ public class CommandLinkActivity extends SingleLineCommand2<ActivityDiagram> {
|
||||
diagram.gotoGroup(quark, Display.getWithNewlines(quark), GroupType.PACKAGE);
|
||||
}
|
||||
final Quark identInvisible = diagram.quarkInContext(diagram.cleanIdForQuark(quoteInvisibleString), false);
|
||||
EntityImp result = (EntityImp) identInvisible.getData();
|
||||
Entity result = (Entity) identInvisible.getData();
|
||||
if (result == null)
|
||||
result = diagram.reallyCreateLeaf(identInvisible, Display.getWithNewlines(identInvisible.getName()),
|
||||
LeafType.ACTIVITY, null);
|
||||
|
@ -39,8 +39,7 @@ import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.activitydiagram.ActivityDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.command.CommandLinkClass;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.CommandMultilines2;
|
||||
@ -57,6 +56,7 @@ import net.sourceforge.plantuml.cucadiagram.Stereotype;
|
||||
import net.sourceforge.plantuml.descdiagram.command.CommandLinkElement;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.MyPattern;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
@ -120,7 +120,7 @@ public class CommandLinkLongActivity extends CommandMultilines2<ActivityDiagram>
|
||||
lines = lines.trim();
|
||||
final RegexResult line0 = getStartingPattern().matcher(lines.getFirst().getTrimmed().getString());
|
||||
|
||||
final EntityImp entity1 = CommandLinkActivity.getEntity(diagram, line0, true);
|
||||
final Entity entity1 = CommandLinkActivity.getEntity(diagram, line0, true);
|
||||
if (entity1 == null)
|
||||
return CommandExecutionResult.error("No such entity");
|
||||
|
||||
@ -181,7 +181,7 @@ public class CommandLinkLongActivity extends CommandMultilines2<ActivityDiagram>
|
||||
}
|
||||
final Quark ident = diagram.quarkInContext(diagram.cleanIdForQuark(idShort), false);
|
||||
|
||||
EntityImp entity2 = (EntityImp) ident.getData();
|
||||
Entity entity2 = (Entity) ident.getData();
|
||||
if (entity2 == null)
|
||||
entity2 = diagram.reallyCreateLeaf(ident, Display.getWithNewlines(display), LeafType.ACTIVITY, null);
|
||||
|
||||
|
@ -36,8 +36,7 @@
|
||||
package net.sourceforge.plantuml.activitydiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.activitydiagram.ActivityDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
@ -47,6 +46,7 @@ import net.sourceforge.plantuml.graphic.color.Colors;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -89,7 +89,7 @@ public class CommandPartition extends SingleLineCommand2<ActivityDiagram> {
|
||||
// final Quark code = diagram.buildFromFullPath(idShort);
|
||||
|
||||
diagram.gotoGroup(quark, Display.getWithNewlines(quark.getName()), GroupType.PACKAGE);
|
||||
final EntityImp p = diagram.getCurrentGroup();
|
||||
final Entity p = diagram.getCurrentGroup();
|
||||
|
||||
final Colors colors = color().getColor(arg, diagram.getSkinParam().getIHtmlColorSet());
|
||||
if (colors.isEmpty() == false) {
|
||||
|
@ -41,7 +41,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder;
|
||||
|
||||
abstract class AbstractInstruction {
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
throw new UnsupportedOperationException("" + getClass());
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public class Branch {
|
||||
private final HColor color;
|
||||
|
||||
private Ftile ftile;
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private Gtile gtile;
|
||||
// ::done
|
||||
|
||||
@ -132,7 +132,7 @@ public class Branch {
|
||||
this.ftile = factory.decorateOut(list.createFtile(factory), inlinkRendering);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public void updateGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
this.gtile = list.createGtile(skinParam, stringBounder);
|
||||
}
|
||||
@ -190,14 +190,14 @@ public class Branch {
|
||||
return ftile;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public Gtile getGtile() {
|
||||
return gtile;
|
||||
}
|
||||
// ::done
|
||||
|
||||
public ISkinParam skinParam() {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (gtile != null)
|
||||
return gtile.skinParam();
|
||||
// ::done
|
||||
|
@ -52,7 +52,7 @@ public interface Instruction extends Swimable {
|
||||
|
||||
public Ftile createFtile(FtileFactory factory);
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder);
|
||||
// ::done
|
||||
|
||||
|
@ -61,7 +61,7 @@ public class InstructionBreak extends MonoSwimable implements Instruction {
|
||||
return new FtileBreak(factory.skinParam(), getSwimlaneIn());
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
return new GtileBreak(stringBounder, skinParam, getSwimlaneIn());
|
||||
|
@ -57,7 +57,7 @@ public class InstructionEnd extends MonoSwimable implements Instruction {
|
||||
this.inlinkRendering = Objects.requireNonNull(inlinkRendering);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
return new GtileCircleStart(stringBounder, skinParam, HColors.BLACK, getSwimlaneIn());
|
||||
|
@ -98,7 +98,7 @@ public class InstructionFork extends WithNote implements Instruction {
|
||||
return getLastList().add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
final List<Gtile> all = new ArrayList<>();
|
||||
|
@ -59,7 +59,7 @@ public class InstructionGoto extends MonoSwimable implements Instruction {
|
||||
return new FtileGoto(factory.skinParam(), getSwimlaneIn(), name);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
return new GtileEmpty(stringBounder, skinParam);
|
||||
|
@ -90,7 +90,7 @@ public class InstructionGroup extends AbstractInstruction implements Instruction
|
||||
return list.add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
Gtile tmp = list.createGtile(skinParam, stringBounder);
|
||||
|
@ -108,7 +108,7 @@ public class InstructionIf extends WithNote implements Instruction, InstructionC
|
||||
return current.add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
for (Branch branch : thens)
|
||||
|
@ -59,7 +59,7 @@ public class InstructionLabel extends MonoSwimable implements Instruction {
|
||||
return new FtileLabel(factory.skinParam(), getSwimlaneIn(), name);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
return new GtileEmpty(stringBounder, skinParam);
|
||||
|
@ -101,7 +101,7 @@ public class InstructionList extends WithNote implements Instruction, Instructio
|
||||
return CommandExecutionResult.ok();
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
if (all.size() == 0)
|
||||
|
@ -127,7 +127,7 @@ public class InstructionRepeat extends AbstractInstruction implements Instructio
|
||||
return repeatList.add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
|
||||
|
@ -82,7 +82,7 @@ public class InstructionSimple extends MonoSwimable implements Instruction {
|
||||
this.colors = Objects.requireNonNull(colors);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
GtileBox result = GtileBox.create(stringBounder, colors.mute(skinParam), label, getSwimlaneIn(), style,
|
||||
|
@ -89,7 +89,7 @@ public class InstructionSplit extends AbstractInstruction implements Instruction
|
||||
return getLast().add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
final List<Gtile> all = new ArrayList<>();
|
||||
|
@ -80,7 +80,7 @@ public class InstructionSpot extends MonoSwimable implements Instruction {
|
||||
return result;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
final UFont font = skinParam.getFont(null, false, FontParam.ACTIVITY);
|
||||
|
@ -62,7 +62,7 @@ public class InstructionStart extends MonoSwimable implements Instruction {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
return new GtileCircleStart(stringBounder, skinParam, HColors.BLACK, getSwimlaneIn());
|
||||
|
@ -62,7 +62,7 @@ public class InstructionStop extends MonoSwimable implements Instruction {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
return new GtileCircleStart(stringBounder, skinParam, HColors.BLACK, getSwimlaneIn());
|
||||
|
@ -97,7 +97,7 @@ public class InstructionSwitch extends WithNote implements Instruction, Instruct
|
||||
return current.add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
for (Branch branch : switches)
|
||||
|
@ -103,7 +103,7 @@ public class InstructionWhile extends WithNote implements Instruction, Instructi
|
||||
return repeatList.add(ins);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
@Override
|
||||
public Gtile createGtile(ISkinParam skinParam, StringBounder stringBounder) {
|
||||
final Gtile back = null;
|
||||
|
@ -192,7 +192,7 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock, Styleable
|
||||
final ConnectionCross connectionCross = new ConnectionCross(connection);
|
||||
connectionCross.drawU(getUg());
|
||||
}
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
} else if (shape instanceof Gtile) {
|
||||
final Gtile tile = (Gtile) shape;
|
||||
tile.drawU(this);
|
||||
@ -222,7 +222,7 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock, Styleable
|
||||
}
|
||||
|
||||
public final void drawU(UGraphic ug) {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (Gtile.USE_GTILE) {
|
||||
drawGtile(ug);
|
||||
return;
|
||||
@ -242,7 +242,7 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock, Styleable
|
||||
}
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private void drawGtile(UGraphic ug) {
|
||||
TextBlock full = root.createGtile(skinParam, ug.getStringBounder());
|
||||
|
||||
|
@ -61,7 +61,7 @@ public class UGraphicInterceptorUDrawable2 extends UGraphicDelegator {
|
||||
}
|
||||
|
||||
public void draw(UShape shape) {
|
||||
// :: comment when WASM
|
||||
// :: comment when CORE
|
||||
if (shape instanceof Gtile) {
|
||||
final Gtile gtile = (Gtile) shape;
|
||||
// System.err.println("gtile=" + gtile);
|
||||
|
@ -73,7 +73,7 @@ public class UGraphicInterceptorOneSwimlane extends UGraphicDelegator {
|
||||
tile.drawU(this);
|
||||
// drawGoto();
|
||||
}
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
} else if (shape instanceof Gtile) {
|
||||
final Gtile tile = (Gtile) shape;
|
||||
final Set<Swimlane> swinlanes = tile.getSwimlanes();
|
||||
|
@ -43,7 +43,7 @@ import net.sourceforge.plantuml.klimt.UTranslate;
|
||||
import net.sourceforge.plantuml.klimt.font.StringBounder;
|
||||
|
||||
public interface Gtile extends Swimable2, TextBlock {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
public static final boolean USE_GTILE = false;
|
||||
|
||||
|
@ -47,7 +47,7 @@ import net.sourceforge.plantuml.awt.geom.XPoint2D;
|
||||
import net.sourceforge.plantuml.klimt.geom.MinMax;
|
||||
|
||||
public class AffineTransformation {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
static private final Pattern rotate = Pattern.compile("rotate\\s+(-?\\d+\\.?\\d*)");
|
||||
static private final Pattern shear = Pattern.compile("shear\\s+(-?\\d+\\.?\\d*)\\s+(-?\\d+\\.?\\d*)");
|
||||
|
@ -54,7 +54,7 @@ import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.security.SecurityUtils;
|
||||
|
||||
public class CheckZipTask extends Task {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
private String zipfile = null;
|
||||
private List<FileSet> filesets = new ArrayList<>();
|
||||
|
@ -38,6 +38,6 @@ package net.sourceforge.plantuml.api.mda.option2;
|
||||
import java.util.Collection;
|
||||
|
||||
public interface MDADiagram {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
public Collection<MDAPackage> getPackages();
|
||||
}
|
||||
|
@ -36,5 +36,5 @@
|
||||
package net.sourceforge.plantuml.api.mda.option3;
|
||||
|
||||
public interface MDAVisitor {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ import net.sourceforge.plantuml.argon2.model.Argon2Type;
|
||||
import net.sourceforge.plantuml.argon2.model.Instance;
|
||||
|
||||
public class Argon2 {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
private byte[] output;
|
||||
private int outputLength; // -l N
|
||||
|
@ -42,7 +42,7 @@ import net.sourceforge.plantuml.style.Style;
|
||||
import net.sourceforge.plantuml.style.StyleSignatureBasic;
|
||||
|
||||
public abstract class AbstractComponentText implements Component {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
public final XDimension2D getPreferredDimension(StringBounder stringBounder) {
|
||||
final double w = getPreferredWidth(stringBounder);
|
||||
|
@ -75,6 +75,8 @@ import net.sourceforge.plantuml.cucadiagram.dot.CucaDiagramTxtMaker;
|
||||
import net.sourceforge.plantuml.elk.CucaDiagramFileMakerElk;
|
||||
import net.sourceforge.plantuml.graphic.USymbol;
|
||||
import net.sourceforge.plantuml.graphml.CucaDiagramGraphmlMaker;
|
||||
import net.sourceforge.plantuml.plasma.Plasma;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.sdot.CucaDiagramFileMakerSmetana;
|
||||
import net.sourceforge.plantuml.security.SecurityUtils;
|
||||
import net.sourceforge.plantuml.skin.VisibilityModifier;
|
||||
@ -104,7 +106,6 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
|
||||
private boolean visibilityModifierPresent;
|
||||
|
||||
// private NamespaceStrategy lastNamespaceStrategy;
|
||||
private Together currentTogether;
|
||||
|
||||
public CucaDiagram(UmlSource source, UmlDiagramType type, Map<String, String> orig) {
|
||||
@ -147,7 +148,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
@Override
|
||||
public boolean hasUrl() {
|
||||
for (Quark quark : getPlasma().quarks()) {
|
||||
final EntityImp ent = (EntityImp) quark.getData();
|
||||
final Entity ent = (Entity) quark.getData();
|
||||
if (ent != null && ent.hasUrl())
|
||||
return true;
|
||||
}
|
||||
@ -155,21 +156,21 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return false;
|
||||
}
|
||||
|
||||
final public void setLastEntity(EntityImp foo) {
|
||||
this.lastEntity = (EntityImp) foo;
|
||||
final public void setLastEntity(Entity foo) {
|
||||
this.lastEntity = (Entity) foo;
|
||||
}
|
||||
|
||||
protected void updateLasts(EntityImp result) {
|
||||
protected void updateLasts(Entity result) {
|
||||
}
|
||||
|
||||
final public EntityImp reallyCreateLeaf(Quark ident, Display display, LeafType type, USymbol symbol) {
|
||||
final public Entity reallyCreateLeaf(Quark ident, Display display, LeafType type, USymbol symbol) {
|
||||
Objects.requireNonNull(type);
|
||||
if (ident.getData() != null)
|
||||
throw new IllegalStateException();
|
||||
if (Display.isNull(display))
|
||||
throw new IllegalArgumentException();
|
||||
|
||||
final EntityImp result = entityFactory.createLeaf(ident, display, type, getHides());
|
||||
final Entity result = entityFactory.createLeaf(ident, type, getHides());
|
||||
result.setUSymbol(symbol);
|
||||
ident.setData(result);
|
||||
this.lastEntity = result;
|
||||
@ -177,6 +178,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
updateLasts(result);
|
||||
// if (type == LeafType.OBJECT)
|
||||
// ((EntityImp) parent.getData()).muteToType2(type);
|
||||
result.setDisplay(display);
|
||||
return result;
|
||||
|
||||
}
|
||||
@ -184,7 +186,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
final public Quark quarkInContext(String full, boolean specialForCreateClass) {
|
||||
final String sep = getNamespaceSeparator();
|
||||
if (sep == null) {
|
||||
final Quark result = getPlasma().getIfExistsFromName(full);
|
||||
final Quark result = getPlasma().firstWithName(full);
|
||||
if (result != null)
|
||||
return result;
|
||||
return currentQuark().child(full);
|
||||
@ -196,7 +198,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
final int x = full.indexOf(sep);
|
||||
if (x == -1) {
|
||||
if (specialForCreateClass == false && getPlasma().countByName(full) == 1) {
|
||||
final Quark byName = getPlasma().getIfExistsFromName(full);
|
||||
final Quark byName = getPlasma().firstWithName(full);
|
||||
assert byName != null;
|
||||
if (byName != currentQuark)
|
||||
return byName;
|
||||
@ -233,24 +235,13 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return id.substring(x + 2);
|
||||
}
|
||||
|
||||
// protected Plasma getPlasma() {
|
||||
public /* protected */ Plasma getPlasma() {
|
||||
return entityFactory.getPlasma();
|
||||
}
|
||||
|
||||
final public Collection<EntityImp> getChildrenGroups(EntityImp parent) {
|
||||
final Collection<EntityImp> result = new ArrayList<>();
|
||||
|
||||
final Quark parent__;
|
||||
if (parent.instanceofGroupRoot())
|
||||
parent__ = getPlasma().root();
|
||||
else
|
||||
parent__ = ((EntityImp) parent).getQuark();
|
||||
|
||||
for (EntityImp gg : getGroups(false))
|
||||
if (gg.getQuark().getParent() == parent__)
|
||||
result.add(gg);
|
||||
|
||||
return Collections.unmodifiableCollection(result);
|
||||
final public Collection<Entity> getChildrenGroups(Entity entity) {
|
||||
return entity.groups();
|
||||
}
|
||||
|
||||
private void eventuallyBuildPhantomGroups() {
|
||||
@ -259,12 +250,13 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
continue;
|
||||
int countChildren = quark.countChildren();
|
||||
if (countChildren > 0) {
|
||||
final Display display = Display.getWithNewlines(quark.getQualifiedName());
|
||||
final EntityImp result = entityFactory.createGroup(quark, display, GroupType.PACKAGE, getHides());
|
||||
// final Display display = Display.getWithNewlines(quark.getQualifiedName());
|
||||
final Display display = Display.getWithNewlines(quark.getName());
|
||||
final Entity result = entityFactory.createGroup(quark, GroupType.PACKAGE, getHides());
|
||||
result.setDisplay(display);
|
||||
quark.setData(result);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
final public CommandExecutionResult gotoTogether() {
|
||||
@ -275,19 +267,19 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return CommandExecutionResult.ok();
|
||||
}
|
||||
|
||||
final public CommandExecutionResult gotoGroup(Quark ident, Display display, GroupType type) {
|
||||
final public CommandExecutionResult gotoGroup(Quark quark, Display display, GroupType type) {
|
||||
if (currentTogether != null)
|
||||
return CommandExecutionResult.error("Cannot be done inside 'together'");
|
||||
|
||||
if (ident.getData() == null) {
|
||||
final EntityImp result = entityFactory.createGroup(ident, display, type, getHides());
|
||||
ident.setData(result);
|
||||
if (quark.getData() == null) {
|
||||
final Entity result = entityFactory.createGroup(quark, type, getHides());
|
||||
result.setDisplay(display);
|
||||
quark.setData(result);
|
||||
}
|
||||
final EntityImp ent = (EntityImp) ident.getData();
|
||||
ent.setDisplay(display);
|
||||
ent.muteToType2(type);
|
||||
final Entity ent = (Entity) quark.getData();
|
||||
ent.muteToGroupType(type);
|
||||
|
||||
this.stacks.add(ident);
|
||||
this.stacks.add(quark);
|
||||
|
||||
return CommandExecutionResult.ok();
|
||||
|
||||
@ -309,64 +301,33 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
|
||||
}
|
||||
|
||||
public final EntityImp getCurrentGroup() {
|
||||
return (EntityImp) currentQuark().getData();
|
||||
public final Entity getCurrentGroup() {
|
||||
return (Entity) currentQuark().getData();
|
||||
}
|
||||
|
||||
public final EntityImp getGroup(String code) {
|
||||
final Quark quark = getPlasma().getIfExistsFromName(code);
|
||||
public final Entity getGroup(String code) {
|
||||
final Quark quark = getPlasma().firstWithName(code);
|
||||
if (quark == null)
|
||||
return null;
|
||||
return (EntityImp) quark.getData();
|
||||
return (Entity) quark.getData();
|
||||
}
|
||||
|
||||
public final boolean isGroup(String code) {
|
||||
final Quark quark = getPlasma().getIfExistsFromName(code);
|
||||
final Quark quark = getPlasma().firstWithName(code);
|
||||
if (quark == null)
|
||||
return false;
|
||||
return isGroup(quark);
|
||||
}
|
||||
|
||||
public final boolean isGroup(final Quark quark) {
|
||||
final EntityImp ent = (EntityImp) quark.getData();
|
||||
public final boolean isGroup(Quark quark) {
|
||||
final Entity ent = (Entity) quark.getData();
|
||||
if (ent == null)
|
||||
return false;
|
||||
return ent.isGroup();
|
||||
}
|
||||
|
||||
public final Collection<EntityImp> getGroups(boolean withRootGroup) {
|
||||
final List<EntityImp> result = new ArrayList<>();
|
||||
for (Quark quark : getPlasma().quarks()) {
|
||||
if (quark.isRoot()) {
|
||||
if (withRootGroup)
|
||||
result.add((EntityImp) quark.getData());
|
||||
} else {
|
||||
final EntityImp data = (EntityImp) quark.getData();
|
||||
if (data != null && data.isGroup())
|
||||
result.add(data);
|
||||
}
|
||||
}
|
||||
return Collections.unmodifiableCollection(result);
|
||||
}
|
||||
|
||||
public EntityImp getRootGroup() {
|
||||
return (EntityImp) getPlasma().root().getData();
|
||||
}
|
||||
|
||||
public final Collection<EntityImp> getLeafsvalues() {
|
||||
final List<EntityImp> result = new ArrayList<>();
|
||||
for (Quark quark : getPlasma().quarks()) {
|
||||
if (quark.isRoot())
|
||||
continue;
|
||||
final EntityImp data = (EntityImp) quark.getData();
|
||||
if (data != null && data.isGroup() == false)
|
||||
result.add(data);
|
||||
}
|
||||
return Collections.unmodifiableCollection(result);
|
||||
}
|
||||
|
||||
public final int getLeafssize() {
|
||||
return getLeafsvalues().size();
|
||||
public Entity getRootGroup() {
|
||||
return (Entity) getPlasma().root().getData();
|
||||
}
|
||||
|
||||
final public void addLink(Link link) {
|
||||
@ -401,7 +362,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return result.toArray(new String[result.size()]);
|
||||
}
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private void createFilesGraphml(OutputStream suggestedFile) throws IOException {
|
||||
final CucaDiagramGraphmlMaker maker = new CucaDiagramGraphmlMaker(this);
|
||||
maker.createFiles(suggestedFile);
|
||||
@ -435,7 +396,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
throws IOException {
|
||||
final FileFormat fileFormat = fileFormatOption.getFileFormat();
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (fileFormat == FileFormat.ATXT || fileFormat == FileFormat.UTXT) {
|
||||
try {
|
||||
createFilesTxt(os, index, fileFormat);
|
||||
@ -467,13 +428,13 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
|
||||
this.eventuallyBuildPhantomGroups();
|
||||
final CucaDiagramFileMaker maker;
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (this.isUseElk())
|
||||
maker = new CucaDiagramFileMakerElk(this, fileFormatOption.getDefaultStringBounder(getSkinParam()));
|
||||
else if (this.isUseSmetana())
|
||||
// ::done
|
||||
maker = new CucaDiagramFileMakerSmetana(this, fileFormatOption.getDefaultStringBounder(getSkinParam()));
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
else
|
||||
maker = new CucaDiagramFileMakerSvek(this);
|
||||
// ::done
|
||||
@ -501,7 +462,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return generalWarningOrError + BackSlash.NEWLINE + warningOrError;
|
||||
}
|
||||
|
||||
public boolean isAutarkic(EntityImp g) {
|
||||
public boolean isAutarkic(Entity g) {
|
||||
if (g.getGroupType() == GroupType.PACKAGE)
|
||||
return false;
|
||||
|
||||
@ -521,7 +482,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
if (EntityUtils.isPureInnerLink3(g, link) == false)
|
||||
return false;
|
||||
|
||||
for (EntityImp leaf : g.getLeafsDirect())
|
||||
for (Entity leaf : g.leafs())
|
||||
if (leaf.getEntityPosition() != EntityPosition.NORMAL)
|
||||
return false;
|
||||
|
||||
@ -571,16 +532,8 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return "25";
|
||||
}
|
||||
|
||||
final public boolean isEmpty(EntityImp gToTest) {
|
||||
for (EntityImp gg : getGroups(false)) {
|
||||
if (gg == gToTest)
|
||||
continue;
|
||||
|
||||
if (gg.getParentContainer() == gToTest)
|
||||
return false;
|
||||
|
||||
}
|
||||
return gToTest.size() == 0;
|
||||
final public boolean isEmpty(Entity entity) {
|
||||
return entity.isEmpty();
|
||||
}
|
||||
|
||||
public final boolean isVisibilityModifierPresent() {
|
||||
@ -591,7 +544,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
this.visibilityModifierPresent = visibilityModifierPresent;
|
||||
}
|
||||
|
||||
public final boolean showPortion(EntityPortion portion, EntityImp entity) {
|
||||
public final boolean showPortion(EntityPortion portion, Entity entity) {
|
||||
if (getSkinParam().strictUmlStyle() && portion == EntityPortion.CIRCLED_CHARACTER)
|
||||
return false;
|
||||
|
||||
@ -643,7 +596,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return Collections.unmodifiableSet(hides);
|
||||
}
|
||||
|
||||
final public boolean isStandalone(EntityImp ent) {
|
||||
final public boolean isStandalone(Entity ent) {
|
||||
for (final Link link : getLinks())
|
||||
if (link.getEntity1() == ent || link.getEntity2() == ent)
|
||||
return false;
|
||||
@ -651,7 +604,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return true;
|
||||
}
|
||||
|
||||
final public boolean isStandaloneForArgo(EntityImp ent) {
|
||||
final public boolean isStandaloneForArgo(Entity ent) {
|
||||
for (final Link link : getLinks()) {
|
||||
if (link.isHidden() || link.isInvis())
|
||||
continue;
|
||||
@ -688,24 +641,24 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
return null;
|
||||
}
|
||||
|
||||
protected EntityImp lastEntity = null;
|
||||
protected Entity lastEntity = null;
|
||||
|
||||
final public EntityImp getLastEntity() {
|
||||
final public Entity getLastEntity() {
|
||||
return lastEntity;
|
||||
}
|
||||
|
||||
final public EntityFactory getEntityFactory() {
|
||||
// throw new UnsupportedOperationException();
|
||||
return entityFactory;
|
||||
}
|
||||
|
||||
public void applySingleStrategy() {
|
||||
final MagmaList magmaList = new MagmaList();
|
||||
|
||||
for (EntityImp g : getGroups(true)) {
|
||||
final List<EntityImp> standalones = new ArrayList<>();
|
||||
final Collection<Entity> groups = getEntityFactory().groupsAndRoot();
|
||||
for (Entity g : groups) {
|
||||
final List<Entity> standalones = new ArrayList<>();
|
||||
|
||||
for (EntityImp ent : g.getLeafsDirect())
|
||||
for (Entity ent : g.leafs())
|
||||
if (isStandalone(ent))
|
||||
standalones.add(ent);
|
||||
|
||||
@ -717,7 +670,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy,
|
||||
magmaList.add(magma);
|
||||
}
|
||||
|
||||
for (EntityImp g : getGroups(true)) {
|
||||
for (Entity g : groups) {
|
||||
final MagmaList magmas = magmaList.getMagmas(g);
|
||||
if (magmas.size() < 3)
|
||||
continue;
|
||||
|
@ -42,7 +42,6 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.cucadiagram.Bodier;
|
||||
import net.sourceforge.plantuml.cucadiagram.BodierJSon;
|
||||
import net.sourceforge.plantuml.cucadiagram.BodierMap;
|
||||
@ -55,6 +54,8 @@ import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.cucadiagram.Link;
|
||||
import net.sourceforge.plantuml.cucadiagram.Stereotype;
|
||||
import net.sourceforge.plantuml.cucadiagram.entity.IEntityFactory;
|
||||
import net.sourceforge.plantuml.plasma.Plasma;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.skin.VisibilityModifier;
|
||||
|
||||
public final class EntityFactory implements IEntityFactory {
|
||||
@ -65,38 +66,24 @@ public final class EntityFactory implements IEntityFactory {
|
||||
|
||||
private final Plasma plasma;
|
||||
|
||||
private final EntityImp rootGroup;
|
||||
private final Entity rootGroup;
|
||||
|
||||
private final List<HideOrShow2> hides2;
|
||||
private final List<HideOrShow2> removed;
|
||||
/* private */ final public ICucaDiagram namespaceSeparator;
|
||||
|
||||
public EntityImp getLeafForEmptyGroup(EntityImp g) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public EntityImp createLeafForEmptyGroup(EntityImp g, ISkinParam skinPdaram) {
|
||||
final EntityImp ent = (EntityImp) g;
|
||||
ent.muteToType2(LeafType.EMPTY_PACKAGE);
|
||||
return ent;
|
||||
}
|
||||
|
||||
//
|
||||
public EntityImp isIntricated(EntityImp parent) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
final private ICucaDiagram namespaceSeparator;
|
||||
|
||||
//
|
||||
public EntityFactory(List<HideOrShow2> hides2, List<HideOrShow2> removed, ICucaDiagram namespaceSeparator) {
|
||||
this.hides2 = hides2;
|
||||
this.removed = removed;
|
||||
this.namespaceSeparator = namespaceSeparator;
|
||||
this.plasma = new Plasma(".");
|
||||
this.rootGroup = new EntityImp(this.plasma.root(), this, null, GroupType.ROOT, 0);
|
||||
this.rootGroup = new Entity(this.plasma.root(), this, null, GroupType.ROOT, 0);
|
||||
this.plasma.root().setData(rootGroup);
|
||||
}
|
||||
|
||||
public boolean isHidden(EntityImp leaf) {
|
||||
final EntityImp other = isNoteWithSingleLinkAttachedTo(leaf);
|
||||
public boolean isHidden(Entity leaf) {
|
||||
final Entity other = isNoteWithSingleLinkAttachedTo(leaf);
|
||||
if (other != null && other != leaf)
|
||||
return isHidden(other);
|
||||
|
||||
@ -115,10 +102,10 @@ public final class EntityFactory implements IEntityFactory {
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean isRemoved(EntityImp leaf) {
|
||||
final EntityImp other = isNoteWithSingleLinkAttachedTo(leaf);
|
||||
if (other instanceof EntityImp)
|
||||
return isRemoved((EntityImp) other);
|
||||
public boolean isRemoved(Entity leaf) {
|
||||
final Entity other = isNoteWithSingleLinkAttachedTo(leaf);
|
||||
if (other instanceof Entity)
|
||||
return isRemoved((Entity) other);
|
||||
|
||||
boolean result = false;
|
||||
for (HideOrShow2 hide : removed)
|
||||
@ -127,11 +114,11 @@ public final class EntityFactory implements IEntityFactory {
|
||||
return result;
|
||||
}
|
||||
|
||||
private EntityImp isNoteWithSingleLinkAttachedTo(EntityImp note) {
|
||||
private Entity isNoteWithSingleLinkAttachedTo(Entity note) {
|
||||
if (note.getLeafType() != LeafType.NOTE)
|
||||
return null;
|
||||
assert note.getLeafType() == LeafType.NOTE;
|
||||
EntityImp other = null;
|
||||
Entity other = null;
|
||||
for (Link link : this.getLinks()) {
|
||||
if (link.getType().isInvisible())
|
||||
continue;
|
||||
@ -148,7 +135,7 @@ public final class EntityFactory implements IEntityFactory {
|
||||
|
||||
}
|
||||
|
||||
public boolean isRemovedIgnoreUnlinked(EntityImp leaf) {
|
||||
public boolean isRemovedIgnoreUnlinked(Entity leaf) {
|
||||
boolean result = false;
|
||||
for (HideOrShow2 hide : removed)
|
||||
if (hide.isAboutUnlinked() == false)
|
||||
@ -157,8 +144,7 @@ public final class EntityFactory implements IEntityFactory {
|
||||
return result;
|
||||
}
|
||||
|
||||
final public EntityImp createLeaf(Quark quark, Display display, LeafType entityType,
|
||||
Set<VisibilityModifier> hides) {
|
||||
final public Entity createLeaf(Quark quark, LeafType entityType, Set<VisibilityModifier> hides) {
|
||||
final Bodier bodier;
|
||||
if (Objects.requireNonNull(entityType) == LeafType.MAP)
|
||||
bodier = new BodierMap();
|
||||
@ -167,49 +153,33 @@ public final class EntityFactory implements IEntityFactory {
|
||||
else
|
||||
bodier = BodyFactory.createLeaf(entityType, hides);
|
||||
|
||||
final EntityImp result = new EntityImp(quark, this, bodier, entityType, rawLayout);
|
||||
final Entity result = new Entity(quark, this, bodier, entityType, rawLayout);
|
||||
bodier.setLeaf(result);
|
||||
result.setDisplay(display);
|
||||
return result;
|
||||
}
|
||||
|
||||
public EntityImp createGroup(Quark quark, Display display, GroupType groupType, Set<VisibilityModifier> hides) {
|
||||
public Entity createGroup(Quark quark, GroupType groupType, Set<VisibilityModifier> hides) {
|
||||
Objects.requireNonNull(groupType);
|
||||
if (quark.getData() != null)
|
||||
return (EntityImp) quark.getData();
|
||||
// for (Entry<Ident, IGroup> ent : groups2.entrySet())
|
||||
// if (ent.getKey().equals(ident))
|
||||
// return ent.getValue();
|
||||
return (Entity) quark.getData();
|
||||
|
||||
final Bodier bodier = BodyFactory.createGroup(hides);
|
||||
final EntityImp result = new EntityImp(quark, this, bodier, groupType, rawLayout);
|
||||
if (Display.isNull(display) == false)
|
||||
result.setDisplay(display);
|
||||
final Entity result = new Entity(quark, this, bodier, groupType, rawLayout);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public EntityImp getRootGroup() {
|
||||
public Entity getRootGroup() {
|
||||
return rootGroup;
|
||||
}
|
||||
|
||||
public final EntityImp getLeafStrict(Quark ident) {
|
||||
if (ident instanceof Quark == false)
|
||||
throw new UnsupportedOperationException();
|
||||
final Quark quark = (Quark) ident;
|
||||
final EntityImp result = (EntityImp) quark.getData();
|
||||
if (result == null)
|
||||
throw new UnsupportedOperationException();
|
||||
return result;
|
||||
}
|
||||
public final Collection<Entity> leafs() {
|
||||
|
||||
public final Collection<EntityImp> leafs() {
|
||||
|
||||
final List<EntityImp> result = new ArrayList<>();
|
||||
final List<Entity> result = new ArrayList<>();
|
||||
for (Quark quark : getPlasma().quarks()) {
|
||||
if (quark.isRoot())
|
||||
continue;
|
||||
final EntityImp data = (EntityImp) quark.getData();
|
||||
final Entity data = (Entity) quark.getData();
|
||||
if (data != null && data.isGroup() == false)
|
||||
result.add(data);
|
||||
}
|
||||
@ -217,18 +187,27 @@ public final class EntityFactory implements IEntityFactory {
|
||||
|
||||
}
|
||||
|
||||
public final Collection<EntityImp> groups() {
|
||||
final List<EntityImp> result = new ArrayList<>();
|
||||
public final Collection<Entity> groups() {
|
||||
final List<Entity> result = new ArrayList<>();
|
||||
for (Quark quark : getPlasma().quarks()) {
|
||||
if (quark.isRoot())
|
||||
continue;
|
||||
final EntityImp data = (EntityImp) quark.getData();
|
||||
|
||||
final Entity data = (Entity) quark.getData();
|
||||
if (data != null && data.isGroup())
|
||||
result.add(data);
|
||||
}
|
||||
// System.err.println("GROUPS=" + result.size());
|
||||
return Collections.unmodifiableCollection(result);
|
||||
}
|
||||
|
||||
public final Collection<Entity> groupsAndRoot() {
|
||||
final List<Entity> result = new ArrayList<>();
|
||||
for (Quark quark : getPlasma().quarks()) {
|
||||
final Entity data = (Entity) quark.getData();
|
||||
if (data != null && data.isGroup())
|
||||
result.add(data);
|
||||
}
|
||||
return Collections.unmodifiableCollection(result);
|
||||
}
|
||||
|
||||
public void incRawLayout() {
|
||||
|
@ -1,732 +0,0 @@
|
||||
/* ========================================================================
|
||||
* PlantUML : a free UML diagram generator
|
||||
* ========================================================================
|
||||
*
|
||||
* (C) Copyright 2009-2023, Arnaud Roques
|
||||
*
|
||||
* Project Info: http://plantuml.com
|
||||
*
|
||||
* If you like this project or if you find it useful, you can support us at:
|
||||
*
|
||||
* http://plantuml.com/patreon (only 1$ per month!)
|
||||
* http://plantuml.com/paypal
|
||||
*
|
||||
* This file is part of PlantUML.
|
||||
*
|
||||
* PlantUML is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* PlantUML distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
* USA.
|
||||
*
|
||||
*
|
||||
* Original Author: Arnaud Roques
|
||||
* Contribution: Hisashi Miyashita
|
||||
* Contribution: Miguel Esteves
|
||||
*
|
||||
*/
|
||||
package net.sourceforge.plantuml.baraye;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import net.sourceforge.plantuml.Hideable;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.LineConfigurable;
|
||||
import net.sourceforge.plantuml.Removeable;
|
||||
import net.sourceforge.plantuml.SpecificBackcolorable;
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.command.Position;
|
||||
import net.sourceforge.plantuml.cucadiagram.Bodier;
|
||||
import net.sourceforge.plantuml.cucadiagram.CucaNote;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.DisplayPositioned;
|
||||
import net.sourceforge.plantuml.cucadiagram.EntityPosition;
|
||||
import net.sourceforge.plantuml.cucadiagram.GroupType;
|
||||
import net.sourceforge.plantuml.cucadiagram.ICucaDiagram;
|
||||
import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.cucadiagram.Link;
|
||||
import net.sourceforge.plantuml.cucadiagram.Stereostyles;
|
||||
import net.sourceforge.plantuml.cucadiagram.Stereotag;
|
||||
import net.sourceforge.plantuml.cucadiagram.Stereotype;
|
||||
import net.sourceforge.plantuml.cucadiagram.Together;
|
||||
import net.sourceforge.plantuml.cucadiagram.dot.Neighborhood;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockEmpty;
|
||||
import net.sourceforge.plantuml.graphic.USymbol;
|
||||
import net.sourceforge.plantuml.graphic.USymbols;
|
||||
import net.sourceforge.plantuml.graphic.color.Colors;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.HColor;
|
||||
import net.sourceforge.plantuml.klimt.font.FontConfiguration;
|
||||
import net.sourceforge.plantuml.klimt.font.FontParam;
|
||||
import net.sourceforge.plantuml.klimt.font.UFont;
|
||||
import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.skin.VisibilityModifier;
|
||||
import net.sourceforge.plantuml.style.Style;
|
||||
import net.sourceforge.plantuml.svek.IEntityImage;
|
||||
import net.sourceforge.plantuml.svek.Kal;
|
||||
import net.sourceforge.plantuml.svek.Margins;
|
||||
import net.sourceforge.plantuml.svek.PackageStyle;
|
||||
import net.sourceforge.plantuml.svek.SingleStrategy;
|
||||
import net.sourceforge.plantuml.svek.image.EntityImageStateCommon;
|
||||
import net.sourceforge.plantuml.text.Guillemet;
|
||||
import net.sourceforge.plantuml.url.Url;
|
||||
import net.sourceforge.plantuml.utils.Direction;
|
||||
import net.sourceforge.plantuml.utils.LineLocation;
|
||||
|
||||
final public class EntityImp implements SpecificBackcolorable, Hideable, Removeable, LineConfigurable {
|
||||
|
||||
private final EntityFactory entityFactory;
|
||||
|
||||
private Quark quark;
|
||||
|
||||
private Url url;
|
||||
|
||||
private final Bodier bodier;
|
||||
private final String uid;
|
||||
private Display display = Display.empty();
|
||||
private DisplayPositioned legend = null;
|
||||
|
||||
private LeafType leafType;
|
||||
private Stereotype stereotype;
|
||||
private Stereostyles stereostyles = Stereostyles.NONE;
|
||||
private String generic;
|
||||
|
||||
private GroupType groupType;
|
||||
|
||||
// Other
|
||||
private Margins margins = Margins.NONE;
|
||||
private final Collection<String> portShortNames = new HashSet<>();
|
||||
private int xposition;
|
||||
private IEntityImage svekImage;
|
||||
|
||||
private USymbol symbol;
|
||||
private final int rawLayout;
|
||||
private char concurrentSeparator;
|
||||
private LineLocation codeLine;
|
||||
|
||||
private Set<Stereotag> tags = new LinkedHashSet<>();
|
||||
private final List<CucaNote> notesTop = new ArrayList<>();
|
||||
private final List<CucaNote> notesBottom = new ArrayList<>();
|
||||
|
||||
private Together together;
|
||||
|
||||
//
|
||||
public void addNote(Display note, Position position, Colors colors) {
|
||||
if (position == Position.TOP)
|
||||
notesTop.add(CucaNote.build(note, position, colors));
|
||||
else if (position == Position.BOTTOM)
|
||||
notesBottom.add(CucaNote.build(note, position, colors));
|
||||
}
|
||||
|
||||
//
|
||||
public List<CucaNote> getNotes(Position position) {
|
||||
if (position == Position.TOP)
|
||||
return Collections.unmodifiableList(notesTop);
|
||||
if (position == Position.BOTTOM)
|
||||
return Collections.unmodifiableList(notesBottom);
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
public void addStereotag(Stereotag tag) {
|
||||
this.tags.add(tag);
|
||||
}
|
||||
|
||||
public Set<Stereotag> stereotags() {
|
||||
return Collections.unmodifiableSet(tags);
|
||||
}
|
||||
|
||||
// Back to Entity
|
||||
private EntityImp(Quark quark, EntityFactory entityFactory, Bodier bodier, int rawLayout) {
|
||||
this.quark = Objects.requireNonNull(quark);
|
||||
if (quark.isRoot())
|
||||
this.uid = "clroot";
|
||||
else
|
||||
this.uid = StringUtils.getUid("cl", entityFactory.getDiagram().getUniqueSequence());
|
||||
this.entityFactory = entityFactory;
|
||||
this.bodier = bodier;
|
||||
this.rawLayout = rawLayout;
|
||||
}
|
||||
|
||||
EntityImp(Quark quark, EntityFactory entityFactory, Bodier bodier, LeafType leafType, int rawLayout) {
|
||||
this(Objects.requireNonNull(quark), entityFactory, bodier, rawLayout);
|
||||
this.leafType = leafType;
|
||||
}
|
||||
|
||||
EntityImp(Quark quark, EntityFactory entityFactory, Bodier bodier, GroupType groupType, int rawLayout) {
|
||||
this(Objects.requireNonNull(quark), entityFactory, bodier, rawLayout);
|
||||
this.groupType = groupType;
|
||||
}
|
||||
|
||||
public LeafType getLeafType() {
|
||||
return leafType;
|
||||
}
|
||||
|
||||
public void muteToType2(LeafType newType) {
|
||||
if (leafType == LeafType.CLASS && newType == LeafType.OBJECT)
|
||||
bodier.muteClassToObject();
|
||||
this.groupType = null;
|
||||
this.leafType = newType;
|
||||
}
|
||||
|
||||
public void muteToType2(GroupType newType) {
|
||||
this.groupType = newType;
|
||||
this.leafType = null;
|
||||
}
|
||||
|
||||
public boolean muteToType(LeafType newType, USymbol newSymbol) {
|
||||
// checkNotGroup();
|
||||
Objects.requireNonNull(newType);
|
||||
if (leafType != LeafType.STILL_UNKNOWN) {
|
||||
if (newType == this.leafType)
|
||||
return true;
|
||||
|
||||
if (leafType != LeafType.ANNOTATION && leafType != LeafType.ABSTRACT_CLASS && leafType != LeafType.CLASS
|
||||
&& leafType != LeafType.ENUM && leafType != LeafType.INTERFACE) {
|
||||
return false;
|
||||
// throw new IllegalArgumentException("type=" + leafType);
|
||||
}
|
||||
if (newType != LeafType.ANNOTATION && newType != LeafType.ABSTRACT_CLASS && newType != LeafType.CLASS
|
||||
&& newType != LeafType.ENUM && newType != LeafType.INTERFACE && newType != LeafType.OBJECT) {
|
||||
return false;
|
||||
// throw new IllegalArgumentException("newtype=" + newType);
|
||||
}
|
||||
}
|
||||
if (leafType == LeafType.CLASS && newType == LeafType.OBJECT)
|
||||
bodier.muteClassToObject();
|
||||
|
||||
this.leafType = newType;
|
||||
this.symbol = newSymbol;
|
||||
return true;
|
||||
}
|
||||
|
||||
public Quark getQuark() {
|
||||
return quark;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return getQuark().getName();
|
||||
}
|
||||
|
||||
public String getCodeGetName() {
|
||||
return getQuark().getName();
|
||||
}
|
||||
|
||||
public Display getDisplay() {
|
||||
return display;
|
||||
}
|
||||
|
||||
public void setDisplay(Display display) {
|
||||
this.display = display;
|
||||
}
|
||||
|
||||
public String getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public Stereotype getStereotype() {
|
||||
return stereotype;
|
||||
}
|
||||
|
||||
public final void setStereotype(Stereotype stereotype) {
|
||||
this.stereotype = stereotype;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return quark.toString() + " " + display + "(" + leafType + ")[" + groupType + "] " + getUid();
|
||||
}
|
||||
|
||||
public final Url getUrl99() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public boolean hasUrl() {
|
||||
if (Display.isNull(display) == false && display.hasUrl())
|
||||
return true;
|
||||
|
||||
if (bodier == null)
|
||||
return false;
|
||||
|
||||
if (bodier.hasUrl())
|
||||
return true;
|
||||
|
||||
return url != null;
|
||||
}
|
||||
|
||||
public final void addUrl(Url url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public final Margins getMargins() {
|
||||
checkNotGroup();
|
||||
return margins;
|
||||
}
|
||||
|
||||
public final void ensureMargins(Margins newMargins) {
|
||||
// checkNotGroup();
|
||||
this.margins = this.margins.merge(newMargins);
|
||||
}
|
||||
|
||||
public int getXposition() {
|
||||
checkNotGroup();
|
||||
return xposition;
|
||||
}
|
||||
|
||||
public void setXposition(int pos) {
|
||||
checkNotGroup();
|
||||
xposition = pos;
|
||||
}
|
||||
|
||||
public final IEntityImage getSvekImage() {
|
||||
checkNotGroup();
|
||||
return svekImage;
|
||||
}
|
||||
|
||||
public final void setSvekImage(IEntityImage svekImage) {
|
||||
checkNotGroup();
|
||||
this.svekImage = svekImage;
|
||||
}
|
||||
|
||||
public final void setGeneric(String generic) {
|
||||
checkNotGroup();
|
||||
this.generic = generic;
|
||||
}
|
||||
|
||||
public final String getGeneric() {
|
||||
checkNotGroup();
|
||||
return generic;
|
||||
}
|
||||
|
||||
public Bodier getBodier() {
|
||||
return bodier;
|
||||
}
|
||||
|
||||
public EntityPosition getEntityPosition() {
|
||||
// if (leafType == LeafType.PORT)
|
||||
// return EntityPosition.PORT;
|
||||
|
||||
if (leafType == LeafType.PORTIN)
|
||||
return EntityPosition.PORTIN;
|
||||
|
||||
if (leafType == LeafType.PORTOUT)
|
||||
return EntityPosition.PORTOUT;
|
||||
|
||||
if (leafType != LeafType.STATE)
|
||||
return EntityPosition.NORMAL;
|
||||
|
||||
if (quark.isRoot())
|
||||
return EntityPosition.NORMAL;
|
||||
|
||||
final Stereotype stereotype = getStereotype();
|
||||
if (stereotype == null)
|
||||
return EntityPosition.NORMAL;
|
||||
|
||||
return EntityPosition.fromStereotype(stereotype.getLabel(Guillemet.DOUBLE_COMPARATOR));
|
||||
|
||||
}
|
||||
|
||||
// ----------
|
||||
|
||||
private void checkGroup() {
|
||||
if (isGroup() == false)
|
||||
throw new UnsupportedOperationException();
|
||||
|
||||
}
|
||||
|
||||
private void checkNotGroup() {
|
||||
if (isGroup())
|
||||
throw new UnsupportedOperationException();
|
||||
|
||||
}
|
||||
|
||||
public GroupType getGroupType() {
|
||||
checkGroup();
|
||||
return groupType;
|
||||
}
|
||||
|
||||
public PackageStyle getPackageStyle() {
|
||||
checkGroup();
|
||||
if (stereotype == null)
|
||||
return null;
|
||||
|
||||
return stereotype.getPackageStyle();
|
||||
}
|
||||
|
||||
public boolean isGroup() {
|
||||
if (groupType != null && leafType != null)
|
||||
throw new IllegalStateException();
|
||||
|
||||
assert groupType == null || leafType == null;
|
||||
if (groupType != null)
|
||||
return true;
|
||||
|
||||
if (leafType != null)
|
||||
return false;
|
||||
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
// ---- other
|
||||
|
||||
public void overrideImage(IEntityImage img, LeafType leafType) {
|
||||
checkGroup();
|
||||
this.svekImage = img;
|
||||
this.url = null;
|
||||
|
||||
for (final Link link : new ArrayList<>(entityFactory.getLinks()))
|
||||
if (EntityUtils.isPureInnerLink12(this, link))
|
||||
entityFactory.removeLink(link);
|
||||
|
||||
// if (entityFactory.namespaceSeparator.V1972()) {
|
||||
// entityFactory.removeGroup(getIdent());
|
||||
// for (ILeaf ent : new ArrayList<>(entityFactory.leafs()))
|
||||
// if (this != ent && getIdent().equals(ent.getIdent().parent()))
|
||||
// entityFactory.removeLeaf(ent.getIdent());
|
||||
//
|
||||
// } else {
|
||||
// entityFactory.removeGroup(getCodeGetName());
|
||||
// for (ILeaf ent : new ArrayList<>(entityFactory.leafs()))
|
||||
// if (this != ent && this == ent.getParentContainer())
|
||||
// entityFactory.removeLeaf(ent.getCodeGetName());
|
||||
// }
|
||||
//
|
||||
// entityFactory.addLeaf(this);
|
||||
this.groupType = null;
|
||||
this.leafType = leafType;
|
||||
}
|
||||
|
||||
// void muteToGroup(Code namespaceNew, GroupType groupType, IGroup parentContainer) {
|
||||
// checkNotGroup();
|
||||
// if (parentContainer.isGroup() == false)
|
||||
// throw new IllegalArgumentException();
|
||||
//
|
||||
// this.namespace = namespaceNew;
|
||||
// this.groupType = groupType;
|
||||
// this.leafType = null;
|
||||
// this.parentContainer = parentContainer;
|
||||
// }
|
||||
|
||||
public USymbol getUSymbol() {
|
||||
if (getLeafType() == LeafType.CIRCLE)
|
||||
return USymbols.INTERFACE;
|
||||
|
||||
// if (symbol != null && stereotype != null && stereotype.getSprite() != null) {
|
||||
// return symbol.withStereoAlignment(HorizontalAlignment.RIGHT);
|
||||
// }
|
||||
return symbol;
|
||||
}
|
||||
|
||||
public void setUSymbol(USymbol symbol) {
|
||||
this.symbol = symbol;
|
||||
}
|
||||
|
||||
public SingleStrategy getSingleStrategy() {
|
||||
return SingleStrategy.SQUARE;
|
||||
}
|
||||
|
||||
public boolean isHidden() {
|
||||
if (getParentContainer() != null && getParentContainer().isHidden())
|
||||
return true;
|
||||
|
||||
return isHiddenInternal();
|
||||
}
|
||||
|
||||
private boolean isHiddenInternal() {
|
||||
if (quark.isRoot())
|
||||
return false;
|
||||
if (isGroup()) {
|
||||
if (entityFactory.isHidden(this))
|
||||
return true;
|
||||
|
||||
if (getLeafsDirect().size() == 0)
|
||||
return false;
|
||||
|
||||
for (EntityImp leaf : getLeafsDirect())
|
||||
if (leaf.isHiddenInternal() == false)
|
||||
return false;
|
||||
|
||||
for (EntityImp g : getChildren())
|
||||
if (g.isHiddenInternal() == false)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
return entityFactory.isHidden(this);
|
||||
}
|
||||
|
||||
public boolean isRemoved() {
|
||||
if (getParentContainer() != null && getParentContainer().isRemoved())
|
||||
return true;
|
||||
|
||||
return isRemovedInternal();
|
||||
}
|
||||
|
||||
private boolean isRemovedInternal() {
|
||||
if (isGroup()) {
|
||||
if (entityFactory.isRemoved(this))
|
||||
return true;
|
||||
|
||||
if (getLeafsDirect().size() == 0 && getChildren().size() == 0)
|
||||
return false;
|
||||
|
||||
for (EntityImp leaf : getLeafsDirect())
|
||||
if (((EntityImp) leaf).isRemovedInternal() == false)
|
||||
return false;
|
||||
|
||||
for (EntityImp g : getChildren())
|
||||
if (((EntityImp) g).isRemovedInternal() == false)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
return entityFactory.isRemoved(this);
|
||||
}
|
||||
|
||||
public boolean isAloneAndUnlinked() {
|
||||
if (isGroup())
|
||||
return false;
|
||||
|
||||
for (Link link : entityFactory.getLinks())
|
||||
if (link.contains(this)) {
|
||||
final EntityImp other = (EntityImp) link.getOther(this);
|
||||
final boolean removed = entityFactory.isRemovedIgnoreUnlinked(other);
|
||||
if (removed == false && link.getType().isInvisible() == false)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private FontParam getTitleFontParam() {
|
||||
return getGroupType() == GroupType.STATE ? FontParam.STATE : FontParam.PACKAGE;
|
||||
}
|
||||
|
||||
public FontConfiguration getFontConfigurationForTitle(final ISkinParam skinParam) {
|
||||
final FontParam fontParam = getTitleFontParam();
|
||||
final HColor fontHtmlColor = skinParam.getFontHtmlColor(getStereotype(), fontParam, FontParam.PACKAGE);
|
||||
final UFont font = skinParam.getFont(getStereotype(), true, fontParam, FontParam.PACKAGE);
|
||||
final FontConfiguration fontConfiguration = FontConfiguration.create(font, fontHtmlColor,
|
||||
skinParam.getHyperlinkColor(), skinParam.useUnderlineForHyperlink(), skinParam.getTabSize());
|
||||
return fontConfiguration;
|
||||
}
|
||||
|
||||
public final int getRawLayout() {
|
||||
return rawLayout;
|
||||
}
|
||||
|
||||
public char getConcurrentSeparator() {
|
||||
return concurrentSeparator;
|
||||
}
|
||||
|
||||
public void setConcurrentSeparator(char separator) {
|
||||
this.concurrentSeparator = separator;
|
||||
}
|
||||
|
||||
private Neighborhood neighborhood;
|
||||
|
||||
public void setNeighborhood(Neighborhood neighborhood) {
|
||||
this.neighborhood = neighborhood;
|
||||
}
|
||||
|
||||
public Neighborhood getNeighborhood() {
|
||||
return neighborhood;
|
||||
}
|
||||
|
||||
private final Map<String, Display> tips = new LinkedHashMap<String, Display>();
|
||||
|
||||
public void putTip(String member, Display display) {
|
||||
tips.put(member, display);
|
||||
}
|
||||
|
||||
public Map<String, Display> getTips() {
|
||||
return Collections.unmodifiableMap(tips);
|
||||
}
|
||||
|
||||
private Colors colors = Colors.empty();
|
||||
|
||||
public Colors getColors() {
|
||||
return colors;
|
||||
}
|
||||
|
||||
public void setColors(Colors colors) {
|
||||
this.colors = colors;
|
||||
}
|
||||
|
||||
public void setSpecificColorTOBEREMOVED(ColorType type, HColor color) {
|
||||
if (color != null)
|
||||
this.colors = colors.add(type, color);
|
||||
|
||||
}
|
||||
|
||||
public Collection<String> getPortShortNames() {
|
||||
checkNotGroup();
|
||||
return Collections.unmodifiableCollection(portShortNames);
|
||||
}
|
||||
|
||||
public void addPortShortName(String portShortName) {
|
||||
portShortNames.add(portShortName);
|
||||
}
|
||||
|
||||
private VisibilityModifier visibility;
|
||||
|
||||
public void setVisibilityModifier(VisibilityModifier visibility) {
|
||||
this.visibility = visibility;
|
||||
|
||||
}
|
||||
|
||||
public VisibilityModifier getVisibilityModifier() {
|
||||
return visibility;
|
||||
}
|
||||
|
||||
public void setLegend(DisplayPositioned legend) {
|
||||
checkGroup();
|
||||
this.legend = legend;
|
||||
}
|
||||
|
||||
public DisplayPositioned getLegend() {
|
||||
return legend;
|
||||
}
|
||||
|
||||
public String getCodeLine() {
|
||||
if (this.codeLine == null)
|
||||
return null;
|
||||
|
||||
return "" + this.codeLine.getPosition();
|
||||
}
|
||||
|
||||
public void setCodeLine(LineLocation codeLine) {
|
||||
this.codeLine = codeLine;
|
||||
}
|
||||
|
||||
//
|
||||
public void setStereostyle(String stereo) {
|
||||
this.stereostyles = Stereostyles.build(stereo);
|
||||
}
|
||||
|
||||
//
|
||||
public Stereostyles getStereostyles() {
|
||||
return stereostyles;
|
||||
}
|
||||
|
||||
private final Map<Direction, List<Kal>> kals = new EnumMap<>(Direction.class);
|
||||
|
||||
public void addKal(Kal kal) {
|
||||
final Direction position = kal.getPosition();
|
||||
List<Kal> list = kals.get(position);
|
||||
if (list == null) {
|
||||
list = new ArrayList<>();
|
||||
kals.put(position, list);
|
||||
}
|
||||
list.add(kal);
|
||||
}
|
||||
|
||||
public List<Kal> getKals(Direction position) {
|
||||
final List<Kal> result = kals.get(position);
|
||||
if (result == null)
|
||||
return Collections.emptyList();
|
||||
return Collections.unmodifiableList(result);
|
||||
}
|
||||
|
||||
public ICucaDiagram getDiagram() {
|
||||
return entityFactory.getDiagram();
|
||||
}
|
||||
|
||||
private boolean isStatic;
|
||||
|
||||
//
|
||||
public void setStatic(boolean isStatic) {
|
||||
this.isStatic = isStatic;
|
||||
}
|
||||
|
||||
//
|
||||
public boolean isStatic() {
|
||||
return isStatic;
|
||||
}
|
||||
|
||||
// For group
|
||||
|
||||
public TextBlock getStateHeader(ISkinParam skinParam) {
|
||||
checkGroup();
|
||||
final Style style = EntityImageStateCommon.getStyleStateHeader(this, skinParam);
|
||||
final List<CharSequence> details = getBodier().getRawBody();
|
||||
|
||||
if (details.size() == 0)
|
||||
return new TextBlockEmpty();
|
||||
|
||||
if (style == null)
|
||||
throw new IllegalArgumentException();
|
||||
final FontConfiguration fontConfiguration = FontConfiguration.create(skinParam, style);
|
||||
|
||||
Display display = null;
|
||||
for (CharSequence s : details)
|
||||
if (display == null)
|
||||
display = Display.getWithNewlines(s.toString());
|
||||
else
|
||||
display = display.addAll(Display.getWithNewlines(s.toString()));
|
||||
|
||||
return display.create(fontConfiguration, HorizontalAlignment.LEFT, skinParam);
|
||||
|
||||
}
|
||||
|
||||
public Together getTogether() {
|
||||
return together;
|
||||
}
|
||||
|
||||
public void setTogether(Together together) {
|
||||
this.together = together;
|
||||
}
|
||||
|
||||
public EntityImp getParentContainer() {
|
||||
if (quark.isRoot())
|
||||
return null;
|
||||
return (EntityImp) quark.getParent().getData();
|
||||
}
|
||||
|
||||
public Collection<EntityImp> getLeafsDirect() {
|
||||
final List<EntityImp> result = new ArrayList<>();
|
||||
for (Quark quark : quark.getChildren()) {
|
||||
final EntityImp data = (EntityImp) quark.getData();
|
||||
if (data != null && data.isGroup() == false)
|
||||
result.add(data);
|
||||
}
|
||||
return Collections.unmodifiableCollection(result);
|
||||
}
|
||||
|
||||
public Collection<EntityImp> getChildren() {
|
||||
final List<EntityImp> result = new ArrayList<>();
|
||||
for (Quark quark : quark.getChildren()) {
|
||||
final EntityImp data = (EntityImp) quark.getData();
|
||||
if (data != null && data.isGroup())
|
||||
result.add(data);
|
||||
}
|
||||
return Collections.unmodifiableCollection(result);
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return getQuark().countChildren();
|
||||
}
|
||||
|
||||
public boolean instanceofGroupRoot() {
|
||||
return getQuark().isRoot();
|
||||
}
|
||||
|
||||
}
|
@ -39,7 +39,7 @@ import net.sourceforge.plantuml.cucadiagram.Link;
|
||||
|
||||
public abstract class EntityUtils {
|
||||
|
||||
private static boolean isParent(EntityImp groupToBeTested, EntityImp parentGroup) {
|
||||
private static boolean isParent(Entity groupToBeTested, Entity parentGroup) {
|
||||
if (groupToBeTested.isGroup() == false)
|
||||
// Very strange!
|
||||
return false;
|
||||
@ -47,7 +47,7 @@ public abstract class EntityUtils {
|
||||
if (groupToBeTested.isGroup() == false)
|
||||
throw new IllegalArgumentException();
|
||||
|
||||
while (groupToBeTested.getQuark().isRoot() == false) {
|
||||
while (groupToBeTested.isRoot() == false) {
|
||||
if (groupToBeTested == parentGroup)
|
||||
return true;
|
||||
|
||||
@ -60,14 +60,14 @@ public abstract class EntityUtils {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isPureInnerLink12(EntityImp group, Link link) {
|
||||
public static boolean isPureInnerLink12(Entity group, Link link) {
|
||||
if (group.isGroup() == false)
|
||||
throw new IllegalArgumentException();
|
||||
|
||||
final EntityImp e1 = link.getEntity1();
|
||||
final EntityImp e2 = link.getEntity2();
|
||||
final EntityImp group1 = e1.getParentContainer();
|
||||
final EntityImp group2 = e2.getParentContainer();
|
||||
final Entity e1 = link.getEntity1();
|
||||
final Entity e2 = link.getEntity2();
|
||||
final Entity group1 = e1.getParentContainer();
|
||||
final Entity group2 = e2.getParentContainer();
|
||||
|
||||
if (isParent(group1, group) && isParent(group2, group))
|
||||
return true;
|
||||
@ -75,44 +75,14 @@ public abstract class EntityUtils {
|
||||
return false;
|
||||
}
|
||||
|
||||
// public static boolean isPureInnerLink12(EntityImp group, Link link) {
|
||||
// if (group.isGroup() == false)
|
||||
// throw new IllegalArgumentException();
|
||||
//
|
||||
// final EntityImp e1 = (EntityImp) link.getZEntity1();
|
||||
// final EntityImp e2 = (EntityImp) link.getZEntity2();
|
||||
// final Quark group1 = e1.getQuark().getParent();
|
||||
// final Quark group2 = e2.getQuark().getParent();
|
||||
// if (group.getQuark().containsLarge(group1) && group.getQuark().containsLarge(group2))
|
||||
// return true;
|
||||
//// if (isParent(group1, group) && isParent(group2, group))
|
||||
//// return true;
|
||||
//
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// public static boolean isPureInnerLink12(EntityImp group, Link link) {
|
||||
// if (group.isGroup() == false)
|
||||
// throw new IllegalArgumentException();
|
||||
//
|
||||
// final EntityImp e1 = link.getEntity1();
|
||||
// final EntityImp e2 = link.getEntity2();
|
||||
// final EntityImp group1 = e1.getParentContainer();
|
||||
// final EntityImp group2 = e2.getParentContainer();
|
||||
// if (isParent(group1, group) && isParent(group2, group))
|
||||
// return true;
|
||||
//
|
||||
// return false;
|
||||
// }
|
||||
|
||||
public static boolean isPureInnerLink3(EntityImp group, Link link) {
|
||||
public static boolean isPureInnerLink3(Entity group, Link link) {
|
||||
if (group.isGroup() == false)
|
||||
throw new IllegalArgumentException();
|
||||
|
||||
final EntityImp e1 = link.getEntity1();
|
||||
final EntityImp e2 = link.getEntity2();
|
||||
final EntityImp group1 = e1.getParentContainer();
|
||||
final EntityImp group2 = e2.getParentContainer();
|
||||
final Entity e1 = link.getEntity1();
|
||||
final Entity e2 = link.getEntity2();
|
||||
final Entity group1 = e1.getParentContainer();
|
||||
final Entity group2 = e2.getParentContainer();
|
||||
if (isParent(group2, group) == isParent(group1, group))
|
||||
return true;
|
||||
|
||||
|
@ -1,173 +0,0 @@
|
||||
/* ========================================================================
|
||||
* PlantUML : a free UML diagram generator
|
||||
* ========================================================================
|
||||
*
|
||||
* (C) Copyright 2009-2023, Arnaud Roques
|
||||
*
|
||||
* Project Info: http://plantuml.com
|
||||
*
|
||||
* If you like this project or if you find it useful, you can support us at:
|
||||
*
|
||||
* http://plantuml.com/patreon (only 1$ per month!)
|
||||
* http://plantuml.com/paypal
|
||||
*
|
||||
* This file is part of PlantUML.
|
||||
*
|
||||
* PlantUML is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* PlantUML distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
* USA.
|
||||
*
|
||||
*
|
||||
* Original Author: Arnaud Roques
|
||||
*
|
||||
*
|
||||
*/
|
||||
package net.sourceforge.plantuml.baraye;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class Plasma {
|
||||
|
||||
private String separator;
|
||||
private final Quark root;
|
||||
private final List<Quark> quarks = new ArrayList<>();
|
||||
|
||||
public Plasma(String separator) {
|
||||
this.root = new Quark(this, null, "");
|
||||
this.separator = separator;
|
||||
this.quarks.add(root);
|
||||
}
|
||||
|
||||
public Quark root() {
|
||||
return root;
|
||||
}
|
||||
|
||||
public final String getSeparator() {
|
||||
return separator;
|
||||
}
|
||||
|
||||
public final void setSeparator(String separator) {
|
||||
if (separator == null)
|
||||
separator = "\u0000";
|
||||
this.separator = separator;
|
||||
}
|
||||
|
||||
public final boolean hasSeparator() {
|
||||
return this.separator != null && this.separator != "\u0000";
|
||||
}
|
||||
|
||||
public Quark parse(Quark root, String full) {
|
||||
|
||||
final List<String> result = root.getSignature();
|
||||
while (true) {
|
||||
int idx = full.indexOf(separator);
|
||||
if (idx == -1) {
|
||||
result.add(full);
|
||||
return ensurePresent(result);
|
||||
}
|
||||
if (idx > 0) {
|
||||
result.add(full.substring(0, idx));
|
||||
ensurePresent(new ArrayList<>(result));
|
||||
}
|
||||
|
||||
full = full.substring(idx + separator.length());
|
||||
}
|
||||
}
|
||||
|
||||
Quark ensurePresent(List<String> result) {
|
||||
Quark quark = getIfExists(result);
|
||||
if (quark == null) {
|
||||
if (result.size() == 0) {
|
||||
// quark = new Quark(this, null, result);
|
||||
throw new UnsupportedOperationException();
|
||||
} else {
|
||||
final Quark parent = ensurePresent(result.subList(0, result.size() - 1));
|
||||
quark = new Quark(this, parent, result.get(result.size() - 1));
|
||||
}
|
||||
// System.err.println("PUTTING " + quark);
|
||||
quarks.add(quark);
|
||||
}
|
||||
return quark;
|
||||
|
||||
}
|
||||
|
||||
public Collection<Quark> quarks() {
|
||||
return Collections.unmodifiableCollection(quarks);
|
||||
}
|
||||
|
||||
public Quark getIfExistsFromName(String name) {
|
||||
Quark result = null;
|
||||
for (Quark quark : quarks)
|
||||
if (quark.getName().equals(name)) {
|
||||
// if (result != null)
|
||||
// throw new IllegalArgumentException("Duplicate name: " + name);
|
||||
result = quark;
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public int countByName(String name) {
|
||||
int count = 0;
|
||||
for (Quark quark : quarks)
|
||||
if (quark.getName().equals(name))
|
||||
count++;
|
||||
return count;
|
||||
}
|
||||
|
||||
public Quark getIfExistsFromFullPath(String full) {
|
||||
for (Quark quark : quarks)
|
||||
if (quark.toString(separator).equals(full))
|
||||
return quark;
|
||||
return null;
|
||||
}
|
||||
|
||||
public Quark getIfExists(List<String> signature) {
|
||||
for (Quark quark : quarks)
|
||||
if (quark.getSignature().equals(signature))
|
||||
return quark;
|
||||
return null;
|
||||
}
|
||||
|
||||
public int countChildren(Quark parent) {
|
||||
int count = 0;
|
||||
for (Quark quark : quarks)
|
||||
if (quark.getParent() == parent)
|
||||
count++;
|
||||
return count;
|
||||
}
|
||||
|
||||
public List<Quark> getChildren(Quark parent) {
|
||||
final List<Quark> result = new ArrayList<>();
|
||||
for (Quark quark : quarks)
|
||||
if (quark.getParent() == parent)
|
||||
result.add(quark);
|
||||
return Collections.unmodifiableList(result);
|
||||
}
|
||||
|
||||
public void moveAllChildOfToAnewFather(Quark oldFather, Quark newFather) {
|
||||
for (Quark quark : quarks) {
|
||||
if (quark == newFather)
|
||||
continue;
|
||||
|
||||
if (quark.getParent() == oldFather)
|
||||
quark.setParent(newFather);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,180 +0,0 @@
|
||||
/* ========================================================================
|
||||
* PlantUML : a free UML diagram generator
|
||||
* ========================================================================
|
||||
*
|
||||
* (C) Copyright 2009-2023, Arnaud Roques
|
||||
*
|
||||
* Project Info: http://plantuml.com
|
||||
*
|
||||
* If you like this project or if you find it useful, you can support us at:
|
||||
*
|
||||
* http://plantuml.com/patreon (only 1$ per month!)
|
||||
* http://plantuml.com/paypal
|
||||
*
|
||||
* This file is part of PlantUML.
|
||||
*
|
||||
* PlantUML is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* PlantUML distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
* USA.
|
||||
*
|
||||
*
|
||||
* Original Author: Arnaud Roques
|
||||
*
|
||||
*
|
||||
*/
|
||||
package net.sourceforge.plantuml.baraye;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Quark {
|
||||
|
||||
private final Plasma plasma;
|
||||
private /* final */ Quark parent;
|
||||
private final String name;
|
||||
private Object data;
|
||||
|
||||
Quark(Plasma plasma, Quark parent, String name) {
|
||||
this.name = name;
|
||||
this.plasma = plasma;
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public Quark getParent() {
|
||||
return parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
// return parts.toString() + "(parent=" + parent + ")";
|
||||
return getSignature().toString();
|
||||
}
|
||||
|
||||
public List<String> getSignature() {
|
||||
final List<String> result = new ArrayList<>();
|
||||
if (parent != null)
|
||||
result.addAll(parent.getSignature());
|
||||
result.add(name);
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<String> parts() {
|
||||
return getSignature();
|
||||
}
|
||||
|
||||
public boolean containsLarge(Quark other) {
|
||||
final List<String> signature = this.parts();
|
||||
final List<String> otherSignature = other.parts();
|
||||
return otherSignature.size() > signature.size()
|
||||
&& otherSignature.subList(0, signature.size()).equals(signature);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public boolean equals(Object obj) {
|
||||
// final Quark other = (Quark) obj;
|
||||
// if (this.plasma != other.plasma)
|
||||
// throw new IllegalArgumentException();
|
||||
// return this.parts.equals(other.parts);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public int hashCode() {
|
||||
// return parts.hashCode();
|
||||
// }
|
||||
|
||||
public String toString(String sep) {
|
||||
if (sep == null)
|
||||
sep = ".";
|
||||
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (String s : parts()) {
|
||||
if (sb.length() > 0)
|
||||
sb.append(sep);
|
||||
|
||||
sb.append(s);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getQualifiedName() {
|
||||
if (plasma.hasSeparator())
|
||||
return toString(plasma.getSeparator());
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean isRoot() {
|
||||
return parent == null;
|
||||
// throw new UnsupportedOperationException();
|
||||
// return parts.size() == 0;
|
||||
}
|
||||
|
||||
public final Plasma getPlasma() {
|
||||
return plasma;
|
||||
}
|
||||
|
||||
public final Object getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public final void setData(Object data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public Quark childIfExists(String name) {
|
||||
final List<String> sig = new ArrayList<>(getSignature());
|
||||
sig.add(name);
|
||||
return plasma.getIfExists(sig);
|
||||
}
|
||||
|
||||
public Quark child(String full) {
|
||||
return plasma.parse(this, full);
|
||||
}
|
||||
|
||||
public int countChildren() {
|
||||
return plasma.countChildren(this);
|
||||
}
|
||||
|
||||
public List<Quark> getChildren() {
|
||||
return plasma.getChildren(this);
|
||||
}
|
||||
|
||||
public String forXmi() {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (String s : parts()) {
|
||||
if (sb.length() > 0)
|
||||
sb.append(".");
|
||||
|
||||
sb.append(s);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public String getPortMember() {
|
||||
final String last = getName();
|
||||
final int x = last.lastIndexOf("::");
|
||||
if (x == -1) {
|
||||
return null;
|
||||
}
|
||||
return last.substring(x + 2);
|
||||
}
|
||||
|
||||
void setParent(Quark newFather) {
|
||||
this.parent = newFather;
|
||||
}
|
||||
|
||||
}
|
@ -45,7 +45,7 @@ import net.sourceforge.plantuml.core.DiagramType;
|
||||
import net.sourceforge.plantuml.core.UmlSource;
|
||||
|
||||
public class BoardDiagramFactory extends PSystemCommandFactory {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
public BoardDiagramFactory() {
|
||||
super(DiagramType.BOARD);
|
||||
|
@ -53,7 +53,7 @@ import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
|
||||
public class BpmDiagram extends UmlDiagram {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
private void cleanGrid(Grid grid) {
|
||||
while (true) {
|
||||
|
@ -36,7 +36,7 @@
|
||||
package net.sourceforge.plantuml.braille;
|
||||
|
||||
public class BrailleChar {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
private final int id;
|
||||
|
||||
|
@ -12,7 +12,7 @@ package net.sourceforge.plantuml.brotli;
|
||||
* Bit reading helpers.
|
||||
*/
|
||||
final class BitReader {
|
||||
// ::remove folder when WASM
|
||||
// ::remove folder when CORE
|
||||
|
||||
// Added by Arnaud... not very beautifull
|
||||
private static final boolean CHECK_UNUSED_BYTES_AFTER_END = false;
|
||||
|
@ -65,7 +65,7 @@ public abstract class AbstractEntityDiagram extends CucaDiagram {
|
||||
}
|
||||
|
||||
final public DiagramDescription getDescription() {
|
||||
final StringBuilder result = new StringBuilder("(" + getLeafssize() + " entities");
|
||||
final StringBuilder result = new StringBuilder("(" + getEntityFactory().leafs().size() + " entities");
|
||||
if (getSource() != null) {
|
||||
final String id = getSource().getId();
|
||||
if (id != null) {
|
||||
|
@ -41,7 +41,7 @@ import java.util.Map;
|
||||
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.core.UmlSource;
|
||||
import net.sourceforge.plantuml.cucadiagram.Link;
|
||||
@ -139,14 +139,14 @@ public class ClassDiagram extends AbstractClassOrObjectDiagram {
|
||||
|
||||
private RowLayout getRawLayout(int raw) {
|
||||
final RowLayout rawLayout = new RowLayout();
|
||||
for (EntityImp leaf : entityFactory.leafs())
|
||||
for (Entity leaf : entityFactory.leafs())
|
||||
if (leaf.getRawLayout() == raw)
|
||||
rawLayout.addLeaf(getEntityImageClass(leaf));
|
||||
|
||||
return rawLayout;
|
||||
}
|
||||
|
||||
private TextBlock getEntityImageClass(EntityImp entity) {
|
||||
private TextBlock getEntityImageClass(Entity entity) {
|
||||
return new EntityImageClass(entity, getSkinParam(), this);
|
||||
}
|
||||
|
||||
|
@ -35,14 +35,14 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -71,7 +71,7 @@ public class CommandAddMethod extends SingleLineCommand2<ClassDiagram> {
|
||||
throws NoSuchColorException {
|
||||
final String idShort = arg.get("NAME", 0);
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(idShort), false);
|
||||
EntityImp entity = (EntityImp) quark.getData();
|
||||
Entity entity = (Entity) quark.getData();
|
||||
if (entity == null)
|
||||
entity = diagram.reallyCreateLeaf(quark, Display.getWithNewlines(quark), LeafType.CLASS, null);
|
||||
// final Quark ident = diagram.buildFromName(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(idShort));
|
||||
|
@ -36,8 +36,7 @@
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
@ -52,6 +51,7 @@ import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.HColor;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.klimt.font.FontParam;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -141,55 +141,18 @@ public class CommandCreateClass extends SingleLineCommand2<ClassDiagram> {
|
||||
|
||||
final Quark quark = diagram.quarkInContext(idShort, true);
|
||||
|
||||
Display display = Display.getWithNewlines(displayString);
|
||||
if (Display.isNull(display))
|
||||
display = Display.getWithNewlines(quark.getName()).withCreoleMode(CreoleMode.SIMPLE_LINE);
|
||||
|
||||
EntityImp entity = (EntityImp) quark.getData();
|
||||
Entity entity = (Entity) quark.getData();
|
||||
|
||||
if (entity == null) {
|
||||
Display display = Display.getWithNewlines(displayString);
|
||||
if (Display.isNull(display))
|
||||
display = Display.getWithNewlines(quark.getName()).withCreoleMode(CreoleMode.SIMPLE_LINE);
|
||||
entity = diagram.reallyCreateLeaf(quark, display, type, null);
|
||||
} else {
|
||||
if (entity.muteToType(type, null) == false)
|
||||
return CommandExecutionResult.error("Bad name");
|
||||
entity.setDisplay(display);
|
||||
|
||||
}
|
||||
// final Quark quark = diagram.getPlasma().getIfExistsFromName(idShort);
|
||||
// if (quark != null && quark.getData() != null)
|
||||
// entity = diagram.getFromName(idShort);
|
||||
// else
|
||||
|
||||
// } else
|
||||
// entity = (ILeaf) quark.getData();
|
||||
// if (entity == null || entity.isGroup()) {
|
||||
// for (Quark tmp : diagram.getPlasma().quarks())
|
||||
// if (tmp.getData() instanceof EntityImp) {
|
||||
// final EntityImp tmp2 = (EntityImp) tmp.getData();
|
||||
// if (tmp2 != null && tmp.getName().equals(idShort) && tmp2.isGroup() == false) {
|
||||
// entity = (ILeaf) tmp.getData();
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (entity == null) {
|
||||
// entity = diagram.reallyCreateLeaf(quark, display, type, null);
|
||||
// } else {
|
||||
// if (entity.muteToType(type, null) == false)
|
||||
// return CommandExecutionResult.error("Bad name");
|
||||
// }
|
||||
// } else {
|
||||
// final Quark idNewLong = diagram.buildLeafIdent(idShort);
|
||||
// final Quark code = diagram.buildCode(idShort);
|
||||
// if (diagram.leafExist(code)) {
|
||||
// entity = diagram.getOrCreateLeaf(idNewLong, code, type, null);
|
||||
// if (entity.muteToType(type, null) == false)
|
||||
// return CommandExecutionResult.error("Bad name");
|
||||
//
|
||||
// } else {
|
||||
// entity = diagram.createLeaf(idNewLong, code, Display.getWithNewlines(display), type, null);
|
||||
// }
|
||||
// }
|
||||
diagram.setLastEntity(entity);
|
||||
if (stereo != null) {
|
||||
entity.setStereotype(Stereotype.build(stereo, diagram.getSkinParam().getCircledCharacterRadius(),
|
||||
|
@ -36,8 +36,7 @@
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.CommandMultilines2;
|
||||
@ -58,6 +57,7 @@ import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.HColor;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.klimt.font.FontParam;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -169,7 +169,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2<ClassDiagra
|
||||
|
||||
final Quark quark = diagram.quarkInContext(idShort, true);
|
||||
|
||||
EntityImp entity = (EntityImp) quark.getData();
|
||||
Entity entity = (Entity) quark.getData();
|
||||
|
||||
Display display = Display.getWithNewlines(displayString);
|
||||
if (entity == null) {
|
||||
@ -250,7 +250,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2<ClassDiagra
|
||||
return CommandExecutionResult.ok();
|
||||
}
|
||||
|
||||
public static void addTags(EntityImp entity, String tags) {
|
||||
public static void addTags(Entity entity, String tags) {
|
||||
if (tags == null)
|
||||
return;
|
||||
|
||||
@ -261,7 +261,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2<ClassDiagra
|
||||
}
|
||||
}
|
||||
|
||||
public static void manageExtends(String keyword, ClassDiagram diagram, RegexResult arg, final EntityImp entity) {
|
||||
public static void manageExtends(String keyword, ClassDiagram diagram, RegexResult arg, final Entity entity) {
|
||||
if (arg.get(keyword, 0) != null) {
|
||||
final Mode mode = arg.get(keyword, 0).equalsIgnoreCase("extends") ? Mode.EXTENDS : Mode.IMPLEMENTS;
|
||||
LeafType type2 = LeafType.CLASS;
|
||||
@ -280,7 +280,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2<ClassDiagra
|
||||
// final IEntity cl2 = diagram.getOrCreateLeaf(ident, other, type2, null);
|
||||
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(idShort), true);
|
||||
EntityImp cl2 = (EntityImp) quark.getData();
|
||||
Entity cl2 = (Entity) quark.getData();
|
||||
if (cl2 == null)
|
||||
cl2 = diagram.reallyCreateLeaf(quark, Display.getWithNewlines(quark.getName()), type2, null);
|
||||
|
||||
@ -297,7 +297,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2<ClassDiagra
|
||||
}
|
||||
}
|
||||
|
||||
private EntityImp executeArg0(ClassDiagram diagram, RegexResult line0) throws NoSuchColorException {
|
||||
private Entity executeArg0(ClassDiagram diagram, RegexResult line0) throws NoSuchColorException {
|
||||
|
||||
final String typeString = StringUtils.goUpperCase(line0.get("TYPE", 0));
|
||||
final LeafType type = LeafType.getLeafType(typeString);
|
||||
@ -320,7 +320,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2<ClassDiagra
|
||||
if (Display.isNull(display))
|
||||
display = Display.getWithNewlines(quark.getName()).withCreoleMode(CreoleMode.SIMPLE_LINE);
|
||||
|
||||
EntityImp entity = (EntityImp) quark.getData();
|
||||
Entity entity = (Entity) quark.getData();
|
||||
|
||||
if (entity == null) {
|
||||
entity = diagram.reallyCreateLeaf(quark, display, type, null);
|
||||
|
@ -37,8 +37,7 @@
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
@ -53,6 +52,7 @@ import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.klimt.font.FontParam;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
import net.sourceforge.plantuml.regex.RegexOptional;
|
||||
@ -207,7 +207,7 @@ public class CommandCreateElementFull2 extends SingleLineCommand2<ClassDiagram>
|
||||
final String idShort = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(codeRaw);
|
||||
final Display display = Display.getWithNewlines(displayRaw == null ? idShort : displayRaw);
|
||||
final Quark quark = diagram.quarkInContext(idShort, false);
|
||||
EntityImp entity = (EntityImp) quark.getData();
|
||||
Entity entity = (Entity) quark.getData();
|
||||
if (entity == null)
|
||||
entity = diagram.reallyCreateLeaf(quark, display, type, usymbol);
|
||||
|
||||
|
@ -35,12 +35,12 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
|
@ -37,9 +37,8 @@ package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.baraye.EntityUtils;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.EntityGender;
|
||||
@ -48,6 +47,7 @@ import net.sourceforge.plantuml.cucadiagram.EntityPortion;
|
||||
import net.sourceforge.plantuml.cucadiagram.LeafType;
|
||||
import net.sourceforge.plantuml.descdiagram.DescriptionDiagram;
|
||||
import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -150,7 +150,7 @@ public class CommandHideShowByGender extends SingleLineCommand2<UmlDiagram> {
|
||||
return CommandExecutionResult.error("No such element " + quark.getName());
|
||||
// final IEntity entity = diagram.getOrCreateLeaf(quark,
|
||||
// diagram.buildFromFullPath(arg1), null, null);
|
||||
final EntityImp entity = (EntityImp) quark.getData();
|
||||
final Entity entity = (Entity) quark.getData();
|
||||
gender = EntityGenderUtils.byEntityAlone(entity);
|
||||
}
|
||||
|
||||
@ -193,7 +193,7 @@ public class CommandHideShowByGender extends SingleLineCommand2<UmlDiagram> {
|
||||
} else {
|
||||
arg1 = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg1);
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(arg1), false);
|
||||
EntityImp entity = (EntityImp) quark.getData();
|
||||
Entity entity = (Entity) quark.getData();
|
||||
if (entity == null)
|
||||
return CommandExecutionResult.error("No such element " + quark.getName());
|
||||
// entity = diagram.reallyCreateLeaf(quark,
|
||||
@ -209,7 +209,7 @@ public class CommandHideShowByGender extends SingleLineCommand2<UmlDiagram> {
|
||||
if (empty == true && emptyMembers == false) {
|
||||
gender = EntityGenderUtils.and(gender, emptyByGender(portion));
|
||||
}
|
||||
if (diagram.getCurrentGroup().getQuark().isRoot() == false) {
|
||||
if (diagram.getCurrentGroup().isRoot() == false) {
|
||||
gender = EntityGenderUtils.and(gender, EntityGenderUtils.byPackage(diagram.getCurrentGroup()));
|
||||
}
|
||||
|
||||
|
@ -38,8 +38,7 @@ package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
@ -54,6 +53,7 @@ import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
import net.sourceforge.plantuml.regex.RegexOptional;
|
||||
@ -175,12 +175,12 @@ final public class CommandLinkClass extends SingleLineCommand2<AbstractClassOrOb
|
||||
String port1 = null;
|
||||
String port2 = null;
|
||||
final LinkType linkType = getLinkType(arg);
|
||||
if (ent1String.contains("::") && diagram.getPlasma().getIfExistsFromName(ent1String) == null) {
|
||||
if (ent1String.contains("::") && diagram.getPlasma().firstWithName(ent1String) == null) {
|
||||
port1 = diagram.getPortId(ent1String);
|
||||
ent1String = diagram.removePortId(ent1String);
|
||||
}
|
||||
|
||||
if (ent2String.contains("::") && diagram.getPlasma().getIfExistsFromName(ent2String) == null) {
|
||||
if (ent2String.contains("::") && diagram.getPlasma().firstWithName(ent2String) == null) {
|
||||
port2 = diagram.getPortId(ent2String);
|
||||
ent2String = diagram.removePortId(ent2String);
|
||||
}
|
||||
@ -188,10 +188,10 @@ final public class CommandLinkClass extends SingleLineCommand2<AbstractClassOrOb
|
||||
final Quark quark1 = diagram.quarkInContext(ent1String, false);
|
||||
final Quark quark2 = diagram.quarkInContext(ent2String, false);
|
||||
|
||||
EntityImp cl1 = (EntityImp) quark1.getData();
|
||||
Entity cl1 = (Entity) quark1.getData();
|
||||
if (cl1 == null)
|
||||
cl1 = diagram.reallyCreateLeaf(quark1, Display.getWithNewlines(quark1.getName()), LeafType.CLASS, null);
|
||||
EntityImp cl2 = (EntityImp) quark2.getData();
|
||||
Entity cl2 = (Entity) quark2.getData();
|
||||
if (cl2 == null)
|
||||
cl2 = diagram.reallyCreateLeaf(quark2, Display.getWithNewlines(quark2.getName()), LeafType.CLASS, null);
|
||||
|
||||
@ -268,8 +268,8 @@ final public class CommandLinkClass extends SingleLineCommand2<AbstractClassOrOb
|
||||
throws NoSuchColorException {
|
||||
final String ent1String = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("ENT1", 0), "\"");
|
||||
final String ent2String = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("ENT2", 0), "\"");
|
||||
final EntityImp cl1 = diagram.getGroup(ent1String);
|
||||
final EntityImp cl2 = diagram.getGroup(ent2String);
|
||||
final Entity cl1 = diagram.getGroup(ent1String);
|
||||
final Entity cl2 = diagram.getGroup(ent2String);
|
||||
|
||||
final LinkType linkType = getLinkType(arg);
|
||||
final Direction dir = getDirection(arg);
|
||||
@ -309,13 +309,13 @@ final public class CommandLinkClass extends SingleLineCommand2<AbstractClassOrOb
|
||||
if (quark1B.getData() != null == false)
|
||||
return CommandExecutionResult.error("No class " + name1B);
|
||||
|
||||
EntityImp cl1A = (EntityImp) quark1A.getData();
|
||||
EntityImp cl1B = (EntityImp) quark1B.getData();
|
||||
Entity cl1A = (Entity) quark1A.getData();
|
||||
Entity cl1B = (Entity) quark1B.getData();
|
||||
|
||||
final String id2 = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("ENT2", 0), "\"");
|
||||
final Quark ent2 = diagram.quarkInContext(id2, false);
|
||||
|
||||
EntityImp cl2 = (EntityImp) ent2.getData();
|
||||
Entity cl2 = (Entity) ent2.getData();
|
||||
if (cl2 == null)
|
||||
cl2 = diagram.reallyCreateLeaf(ent2, Display.getWithNewlines(ent2.getName()), LeafType.CLASS, null);
|
||||
|
||||
@ -342,13 +342,13 @@ final public class CommandLinkClass extends SingleLineCommand2<AbstractClassOrOb
|
||||
if (quark2B.getData() != null == false)
|
||||
return CommandExecutionResult.error("No class " + name2B);
|
||||
|
||||
final EntityImp cl2A = (EntityImp) quark2A.getData();
|
||||
final EntityImp cl2B = (EntityImp) quark2B.getData();
|
||||
final Entity cl2A = (Entity) quark2A.getData();
|
||||
final Entity cl2B = (Entity) quark2B.getData();
|
||||
|
||||
final String id1 = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("ENT1", 0), "\"");
|
||||
final Quark ent1 = diagram.quarkInContext(id1, false);
|
||||
|
||||
EntityImp cl1 = (EntityImp) ent1.getData();
|
||||
Entity cl1 = (Entity) ent1.getData();
|
||||
if (cl1 == null)
|
||||
cl1 = diagram.reallyCreateLeaf(ent1, Display.getWithNewlines(ent1.getName()), LeafType.CLASS, null);
|
||||
|
||||
@ -383,10 +383,10 @@ final public class CommandLinkClass extends SingleLineCommand2<AbstractClassOrOb
|
||||
if (quark2B.getData() != null == false)
|
||||
return CommandExecutionResult.error("No class " + name2B);
|
||||
|
||||
final EntityImp cl1A = (EntityImp) quark1A.getData();
|
||||
final EntityImp cl1B = (EntityImp) quark1B.getData();
|
||||
final EntityImp cl2A = (EntityImp) quark2A.getData();
|
||||
final EntityImp cl2B = (EntityImp) quark2B.getData();
|
||||
final Entity cl1A = (Entity) quark1A.getData();
|
||||
final Entity cl1B = (Entity) quark1B.getData();
|
||||
final Entity cl2A = (Entity) quark2A.getData();
|
||||
final Entity cl2B = (Entity) quark2B.getData();
|
||||
|
||||
final LinkType linkType = getLinkType(arg);
|
||||
final Display label = Display.getWithNewlines(arg.get("LABEL_LINK", 0));
|
||||
|
@ -37,8 +37,7 @@ package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
@ -48,6 +47,7 @@ import net.sourceforge.plantuml.cucadiagram.LinkArg;
|
||||
import net.sourceforge.plantuml.cucadiagram.LinkDecor;
|
||||
import net.sourceforge.plantuml.cucadiagram.LinkType;
|
||||
import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.Matcher2;
|
||||
import net.sourceforge.plantuml.regex.MyPattern;
|
||||
import net.sourceforge.plantuml.regex.Pattern2;
|
||||
@ -118,15 +118,15 @@ final public class CommandLinkLollipop extends SingleLineCommand2<AbstractClassO
|
||||
final String ent1 = arg.get("ENT1", 1);
|
||||
final String ent2 = arg.get("ENT2", 1);
|
||||
|
||||
final EntityImp cl1;
|
||||
final EntityImp cl2;
|
||||
final EntityImp normalEntity;
|
||||
final Entity cl1;
|
||||
final Entity cl2;
|
||||
final Entity normalEntity;
|
||||
|
||||
final String suffix = "lol" + diagram.getUniqueSequence();
|
||||
if (arg.get("LOL_THEN_ENT", 1) == null) {
|
||||
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(ent1), false);
|
||||
cl1 = (EntityImp) quark.getData();
|
||||
cl1 = (Entity) quark.getData();
|
||||
if (cl1 == null)
|
||||
return CommandExecutionResult.error("No class " + quark.getName());
|
||||
|
||||
@ -145,7 +145,7 @@ final public class CommandLinkLollipop extends SingleLineCommand2<AbstractClassO
|
||||
// normalEntity = cl1;
|
||||
} else {
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(ent2), false);
|
||||
cl2 = (EntityImp) quark.getData();
|
||||
cl2 = (Entity) quark.getData();
|
||||
if (cl2 == null)
|
||||
return CommandExecutionResult.error("No class " + quark.getName());
|
||||
|
||||
|
@ -35,14 +35,14 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.cucadiagram.Stereotype;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.klimt.font.FontParam;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -73,7 +73,7 @@ public class CommandStereotype extends SingleLineCommand2<ClassDiagram> {
|
||||
// final Quark code = diagram.buildFromFullPath(name);
|
||||
// final IEntity entity = diagram.getOrCreateLeaf(ident, code, null, null);
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(name), false);
|
||||
final EntityImp entity = (EntityImp) quark.getData();
|
||||
final Entity entity = (Entity) quark.getData();
|
||||
if (entity == null)
|
||||
return CommandExecutionResult.error("No such class " + quark.getName());
|
||||
|
||||
|
@ -35,11 +35,11 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.classdiagram.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.AbstractEntityDiagram;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.command.SingleLineCommand2;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -78,7 +78,7 @@ public class CommandUrl extends SingleLineCommand2<AbstractEntityDiagram> {
|
||||
// final Quark code = diagram.buildFromFullPath(idShort);
|
||||
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(idShort), false);
|
||||
final EntityImp entity = (EntityImp) quark.getData();
|
||||
final Entity entity = (Entity) quark.getData();
|
||||
if (entity == null)
|
||||
return CommandExecutionResult.error(quark.getName() + " does not exist");
|
||||
|
||||
|
@ -44,7 +44,7 @@ import net.sourceforge.plantuml.brotli.BrotliInputStream;
|
||||
import net.sourceforge.plantuml.log.Logme;
|
||||
|
||||
public class CompressionBrotli implements Compression {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
public byte[] compress(byte[] in) {
|
||||
throw new UnsupportedOperationException();
|
||||
|
@ -43,13 +43,13 @@ import net.sourceforge.plantuml.code.deflate.Decompressor;
|
||||
|
||||
public class CompressionZlib implements Compression {
|
||||
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
private static boolean USE_ZOPFLI = false;
|
||||
// ::done
|
||||
private static final int COMPRESSION_LEVEL = 9;
|
||||
|
||||
public byte[] compress(byte[] in) {
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
if (USE_ZOPFLI)
|
||||
return new CompressionZopfliZlib().compress(in);
|
||||
// ::done
|
||||
|
@ -42,7 +42,7 @@ import java.util.zip.Inflater;
|
||||
|
||||
@Deprecated
|
||||
public class CompressionZlibAttic implements Compression {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
private static boolean USE_ZOPFLI = false;
|
||||
private static final int COMPRESSION_LEVEL = 9;
|
||||
|
@ -41,7 +41,7 @@ import net.sourceforge.plantuml.zopfli.Options.OutputFormat;
|
||||
import net.sourceforge.plantuml.zopfli.Zopfli;
|
||||
|
||||
public class CompressionZopfliZlib implements Compression {
|
||||
// ::remove file when WASM
|
||||
// ::remove file when CORE
|
||||
|
||||
public byte[] compress(byte[] in) {
|
||||
if (in.length == 0)
|
||||
|
@ -62,7 +62,7 @@ public class CommandAffineTransform extends SingleLineCommand2<UmlDiagram> {
|
||||
@Override
|
||||
protected CommandExecutionResult executeArg(UmlDiagram diagram, LineLocation location, RegexResult arg) {
|
||||
final CharSequence value = arg.get("ANIMATION", 0);
|
||||
// ::comment when WASM
|
||||
// ::comment when CORE
|
||||
diagram.setAnimation(Collections.singletonList(value));
|
||||
// ::done
|
||||
return CommandExecutionResult.ok();
|
||||
|
@ -35,8 +35,7 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.GroupType;
|
||||
@ -46,6 +45,7 @@ import net.sourceforge.plantuml.graphic.USymbols;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -82,14 +82,12 @@ public class CommandNamespace extends SingleLineCommand2<ClassDiagram> {
|
||||
protected CommandExecutionResult executeArg(ClassDiagram diagram, LineLocation location, RegexResult arg)
|
||||
throws NoSuchColorException {
|
||||
final String idShort = arg.get("NAME", 0);
|
||||
// final Quark current = diagram.currentQuark();
|
||||
// final Quark idNewLong = current.child(idShort);
|
||||
final Quark quark = diagram.quarkInContext(diagram.cleanIdForQuark(idShort), true);
|
||||
final CommandExecutionResult status = diagram.gotoGroup(quark,
|
||||
Display.getWithNewlines(quark.getQualifiedName()), GroupType.PACKAGE);
|
||||
final CommandExecutionResult status = diagram.gotoGroup(quark, Display.getWithNewlines(quark.getName()),
|
||||
GroupType.PACKAGE);
|
||||
if (status.isOk() == false)
|
||||
return status;
|
||||
final EntityImp p = diagram.getCurrentGroup();
|
||||
final Entity p = diagram.getCurrentGroup();
|
||||
final String stereotype = arg.get("STEREOTYPE", 0);
|
||||
if (stereotype != null) {
|
||||
final USymbol usymbol = USymbols.fromString(stereotype, diagram.getSkinParam().actorStyle(),
|
||||
|
@ -35,8 +35,7 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.GroupType;
|
||||
@ -44,6 +43,7 @@ import net.sourceforge.plantuml.cucadiagram.Stereotype;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -94,7 +94,7 @@ public class CommandNamespace2 extends SingleLineCommand2<ClassDiagram> {
|
||||
final CommandExecutionResult status = diagram.gotoGroup(quark, display, GroupType.PACKAGE);
|
||||
if (status.isOk() == false)
|
||||
return status;
|
||||
final EntityImp p = diagram.getCurrentGroup();
|
||||
final Entity p = diagram.getCurrentGroup();
|
||||
final String stereotype = arg.get("STEREOTYPE", 0);
|
||||
if (stereotype != null)
|
||||
p.setStereotype(Stereotype.build(stereotype));
|
||||
|
@ -35,8 +35,7 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.command;
|
||||
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.ClassDiagram;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.GroupType;
|
||||
@ -44,6 +43,7 @@ import net.sourceforge.plantuml.cucadiagram.Stereotype;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -94,7 +94,7 @@ public class CommandNamespaceEmpty extends SingleLineCommand2<ClassDiagram> {
|
||||
final CommandExecutionResult status = diagram.gotoGroup(quark, display, GroupType.PACKAGE);
|
||||
if (status.isOk() == false)
|
||||
return status;
|
||||
final EntityImp p = diagram.getCurrentGroup();
|
||||
final Entity p = diagram.getCurrentGroup();
|
||||
final String stereotype = arg.get("STEREOTYPE", 0);
|
||||
if (stereotype != null)
|
||||
p.setStereotype(Stereotype.build(stereotype));
|
||||
|
@ -36,8 +36,7 @@
|
||||
package net.sourceforge.plantuml.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.AbstractEntityDiagram;
|
||||
import net.sourceforge.plantuml.classdiagram.command.CommandCreateClassMultilines;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
@ -50,6 +49,7 @@ import net.sourceforge.plantuml.graphic.color.Colors;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorParser;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -117,16 +117,14 @@ public class CommandPackage extends SingleLineCommand2<AbstractEntityDiagram> {
|
||||
display = idShort;
|
||||
}
|
||||
} else {
|
||||
display = name;
|
||||
display = name;
|
||||
idShort = arg.get("AS", 0);
|
||||
}
|
||||
|
||||
// final Quark current = diagram.currentQuark();
|
||||
// final Quark ident = current.child(idShort);
|
||||
final Quark quark;
|
||||
if (arg.get("AS", 0) == null) {
|
||||
quark = diagram.quarkInContext(diagram.cleanIdForQuark(name), true);
|
||||
display = quark.getQualifiedName();
|
||||
display = quark.getName();
|
||||
} else {
|
||||
quark = diagram.quarkInContext(diagram.cleanIdForQuark(arg.get("AS", 0)), true);
|
||||
display = name;
|
||||
@ -137,7 +135,7 @@ public class CommandPackage extends SingleLineCommand2<AbstractEntityDiagram> {
|
||||
if (status.isOk() == false)
|
||||
return status;
|
||||
|
||||
final EntityImp p = diagram.getCurrentGroup();
|
||||
final Entity p = diagram.getCurrentGroup();
|
||||
|
||||
final String stereotype = arg.get("STEREOTYPE", 0);
|
||||
|
||||
|
@ -36,13 +36,13 @@
|
||||
package net.sourceforge.plantuml.command;
|
||||
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.baraye.EntityImp;
|
||||
import net.sourceforge.plantuml.baraye.Quark;
|
||||
import net.sourceforge.plantuml.baraye.Entity;
|
||||
import net.sourceforge.plantuml.classdiagram.AbstractEntityDiagram;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.cucadiagram.GroupType;
|
||||
import net.sourceforge.plantuml.klimt.color.ColorType;
|
||||
import net.sourceforge.plantuml.klimt.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.plasma.Quark;
|
||||
import net.sourceforge.plantuml.regex.IRegex;
|
||||
import net.sourceforge.plantuml.regex.RegexConcat;
|
||||
import net.sourceforge.plantuml.regex.RegexLeaf;
|
||||
@ -99,7 +99,7 @@ public class CommandPackageEmpty extends SingleLineCommand2<AbstractEntityDiagra
|
||||
GroupType.PACKAGE);
|
||||
if (status.isOk() == false)
|
||||
return status;
|
||||
final EntityImp p = diagram.getCurrentGroup();
|
||||
final Entity p = diagram.getCurrentGroup();
|
||||
final String color = arg.get("COLOR", 0);
|
||||
if (color != null)
|
||||
p.setSpecificColorTOBEREMOVED(ColorType.BACK, diagram.getSkinParam().getIHtmlColorSet().getColor(color));
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user