package org.aperteworkflow.editor.signavio; import java.io.File; import java.util.StringTokenizer; public class ModelUtils { /** * Converts the path from Signavio Core format into more normal representation * * @param parent Parent directory in Signavio Core format e.g. root-directory;subdir;secondsubdir * @return Relative filesystem path e.g. subdir/secondsubdir */ public static String getParentDirectoryPath(String parent) { StringBuilder builder = new StringBuilder(); StringTokenizer tokenizer = new StringTokenizer(parent, ";"); while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); if (token.matches(ModelConstants.MODEL_ROOT_DIRECTORY_PATTERN)) { // skip the root indicator, it is useless here continue; } builder.append(token); if (tokenizer.hasMoreTokens()) { builder.append(File.separator); } } return builder.toString(); } }