LegacyConfigParser: parse metadata from string

fixes #91
This commit is contained in:
Thomas Gelf 2017-01-27 10:02:35 +01:00
parent 60d043cb18
commit 2023cae041

View file

@ -67,12 +67,18 @@ class LegacyConfigParser
{
Benchmark::measure('Loading BP config from file: ' . $name);
$parser = new static($name);
$config = $parser->getParsedConfig();
$config->setMetadata(
static::readMetadataFromString($name, $string)
);
foreach (preg_split('/\n/', $string) as $line) {
$parser->parseLine($line);
}
Benchmark::measure('Business process ' . $name . ' loaded');
return $parser->getParsedConfig();
return $config;
}
protected function reallyParseFile($filename)
@ -112,6 +118,18 @@ class LegacyConfigParser
return $metadata;
}
public static function readMetadataFromString($name, & $string)
{
$metadata = new Metadata($name);
$lines = preg_split('/\r?\n/', substr($string, 0, 8092));
foreach ($lines as $line) {
static::parseHeaderLine($line, $metadata);
}
return $metadata;
}
protected function splitCommaSeparated($string)
{
return preg_split('/\s*,\s*/', $string, -1, PREG_SPLIT_NO_EMPTY);