Changeset 89
- Timestamp:
- 06/27/11 10:01:08 (1 year ago)
- Files:
-
- trunk/Doost.cbp (modified) (3 diffs)
- trunk/doost/util/DUnit.d (modified) (3 diffs)
- trunk/doost/util/config/Exception.d (modified) (1 diff)
- trunk/doost/util/config/Option.d (modified) (6 diffs)
- trunk/doost/util/config/PoTextArchive.d (modified) (6 diffs)
- trunk/doost/util/config/ProgramOptions.d (modified) (31 diffs)
- trunk/doost/util/config/Value.d (modified) (1 diff)
- trunk/doost/util/config/storages/CommandLineStorage.d (modified) (5 diffs)
- trunk/doost/util/config/storages/ConfigFileStorage.d (modified) (2 diffs)
- trunk/doost/util/config/storages/EnvironmentStorage.d (modified) (2 diffs)
- trunk/doost/util/serializer/archive/JsonArchive.d (modified) (1 diff)
- trunk/doost/util/serializer/archive/TextArchive.d (modified) (1 diff)
- trunk/examples/util/serializer/SerializerTest.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Doost.cbp
r84 r89 20 20 <Option type="1" /> 21 21 <Option compiler="dmd" /> 22 <Compiler> 23 <Add option="-debug" /> 24 </Compiler> 22 25 </Target> 23 26 <Target title="AnyTest"> … … 36 39 <Compiler> 37 40 <Add option="-unittest" /> 38 <Add option="-g" />39 41 <Add option="-debug" /> 40 42 </Compiler> … … 58 60 <Option target="AnyTest" /> 59 61 </Unit> 60 <Unit filename="doost\core\Traits.d"> 61 <Option target="Template" /> 62 <Option target="ProgramOptionsTest" /> 63 </Unit> 62 <Unit filename="doost\core\Traits.d" /> 64 63 <Unit filename="doost\storage\Storage.d"> 65 64 <Option target="SerializerTest" /> trunk/doost/util/DUnit.d
r83 r89 62 62 string result; 63 63 64 result~= repeat(" ", m_border);64 result~=std.string.repeat(" ", m_border); 65 65 if (content.length + 2*m_border > m_cwidth) { 66 66 content = content[0.. m_cwidth-2*m_border -1] ~ "."; … … 71 71 if (m_aligning == Align.Left) { 72 72 result~=content; 73 result~= repeat(" ", m_cwidth - clen);73 result~=std.string.repeat(" ", m_cwidth - clen); 74 74 } else 75 75 if (m_aligning == Align.Right) { 76 result~= repeat(" ", m_cwidth - clen);76 result~=std.string.repeat(" ", m_cwidth - clen); 77 77 result~=content; 78 78 } else 79 79 if (m_aligning == Align.Center) { 80 80 uint empty = m_cwidth - clen; 81 result~= repeat(" ", empty / 2);81 result~=std.string.repeat(" ", empty / 2); 82 82 result~=content; 83 result~= repeat(" ", empty - empty / 2);84 } 85 86 result~= repeat(" ", m_border);83 result~=std.string.repeat(" ", empty - empty / 2); 84 } 85 86 result~=std.string.repeat(" ", m_border); 87 87 return result; 88 88 } … … 138 138 } 139 139 override string render(string str) { 140 return repeat(" ", m_border) ~ repeat(m_form, m_cwidth-2*m_border) ~repeat(" ", m_border);140 return std.string.repeat(" ", m_border) ~ std.string.repeat(m_form, m_cwidth-2*m_border) ~ std.string.repeat(" ", m_border); 141 141 } 142 142 } trunk/doost/util/config/Exception.d
r82 r89 25 25 STACK_SHOULD_BE_DISCONNECTED = "Options stack should be disconnected %s.", 26 26 CONCRETE_STORAGES_NOT_ATTACHED = "There are no concrete storages attached to ProgramOptions.", 27 OPTION_NAME_CAN_NOT_BE_EMPTY = "Option name can not be empty." 27 OPTION_NAME_CAN_NOT_BE_EMPTY = "Option name can not be empty.", 28 COMMA_CAN_NOT_BE_ON_LAST_POSITION = "Comma can not be on last position (definition: '%s').", 29 AT_LEAST_NAME_OR_ALIAS_MUST_BE_GIVEN = "At least name or alias must be given" 28 30 } 29 31 trunk/doost/util/config/Option.d
r81 r89 27 27 28 28 //------------------------------------------------------------------------------ 29 //Assert string definitions30 31 debug {32 const COMMA_CAN_NOT_BE_ON_LAST_POSITION = "Comma can not be on last position (definition: '%s').";33 const AT_LEAST_NAME_OR_ALIAS_MUST_BE_GIVEN = "At least name or alias must be given";34 } else {35 const COMMA_CAN_NOT_BE_ON_LAST_POSITION = "";36 const AT_LEAST_NAME_OR_ALIAS_MUST_BE_GIVEN = "";37 }38 39 //------------------------------------------------------------------------------40 29 41 30 /******************************************************************************* … … 56 45 static ParsedOption opCall(string name, string stringValue, OptionSemantic osemantic) 57 46 in { 58 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));47 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 59 48 assert(osemantic !is null); 60 49 } … … 217 206 bool match(string name) 218 207 in { 219 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));208 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 220 209 } 221 210 body { … … 261 250 int n = indexOf(name, ','); 262 251 263 assert(n != name.length-1, format( COMMA_CAN_NOT_BE_ON_LAST_POSITION, name));252 assert(n != name.length-1, format(ErrorStrings.COMMA_CAN_NOT_BE_ON_LAST_POSITION, name)); 264 253 265 254 if (n != -1) { … … 273 262 //If option's name is not defined, it is saved as option's alias 274 263 if (m_oName.length==0) { 275 assert(m_oAlias != "", format( AT_LEAST_NAME_OR_ALIAS_MUST_BE_GIVEN));264 assert(m_oAlias != "", format(ErrorStrings.AT_LEAST_NAME_OR_ALIAS_MUST_BE_GIVEN)); 276 265 m_oName=m_oAlias; 277 266 } … … 831 820 case OptionCharacteristic.Keyed: 832 821 if (opt.optionName in m_index[oc] || (opt.optionAlias != "" && opt.optionAlias in m_index[oc])) 833 assert(false, format( DUPLICATED_OPTIONS, opt.optionTypeName, opt.optionName));822 assert(false, format(ErrorStrings.DUPLICATED_OPTIONS, opt.optionTypeName, opt.optionName)); 834 823 break; 835 824 case OptionCharacteristic.Single: 836 825 if (opt.optionTypeName in m_index[oc]) 837 assert(false, format( DUPLICATED_OPTIONS, opt.optionTypeName, opt.optionName));826 assert(false, format(ErrorStrings.DUPLICATED_OPTIONS, opt.optionTypeName, opt.optionName)); 838 827 break; 839 828 default: trunk/doost/util/config/PoTextArchive.d
r81 r89 25 25 mixin TextArchiveExt!(ARCHIVE); 26 26 27 ElementSet!( ELEMENTTYPE) arrayTerm;28 ElementSet!( ELEMENTTYPE) asocArrayTerm;29 ElementSet!( ELEMENTTYPE) udtTerm;27 ElementSet!(dchar) arrayTerm; 28 ElementSet!(dchar) asocArrayTerm; 29 ElementSet!(dchar) udtTerm; 30 30 31 31 bool start() { … … 56 56 57 57 static if (isSomeString!(typeof(elem))) { 58 ElementSet!( ELEMENTTYPE) old = defString.p_allchars;58 ElementSet!(dchar) old = defString.p_allchars; 59 59 defString.p_allchars.subtract(arrayTerm); 60 60 } … … 72 72 } 73 73 74 static if (isS tring!(typeof(elem))) {74 static if (isSomeString!(typeof(elem))) { 75 75 defString.p_allchars = old; 76 76 } … … 92 92 ValueType val; 93 93 94 static if (isS tring!(KeyType) || isString!(ValueType)) {94 static if (isSomeString!(KeyType) || isSomeString!(ValueType)) { 95 95 ElementSet!(ELEMENTTYPE) old = defString.p_allchars; 96 96 defString.p_allchars.substract(asocArrayTerm); … … 119 119 **************************************************************************/ 120 120 bool loadOneField(VALUE)(ref VALUE value, string name) { 121 static if (isS tring!(VALUE)) {122 ElementSet!( ELEMENTTYPE) old = defString.p_allchars;121 static if (isSomeString!(VALUE)) { 122 ElementSet!(dchar) old = defString.p_allchars; 123 123 defString.p_allchars.substract(udtTerm); 124 124 } … … 127 127 throw new ParsingException("Wrong data format. "); 128 128 129 static if (isS tring!(VALUE)) {129 static if (isSomeString!(VALUE)) { 130 130 defString.p_allchars = old; 131 131 } trunk/doost/util/config/ProgramOptions.d
r81 r89 454 454 void next_setter(ConcreteStorage storage) 455 455 in { 456 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to add another storage"));456 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to add another storage")); 457 457 assert(storage !is null); 458 458 } … … 564 564 EasyInit!(typeof(this)) options()() 565 565 in { 566 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set options definition"));566 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set options definition")); 567 567 } 568 568 body { … … 592 592 in { 593 593 assert( isConnected == false, 594 format( STACK_SHOULD_BE_DISCONNECTED, "to set options definition"));594 format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set options definition")); 595 595 596 596 foreach(p; params) { … … 615 615 typeof(this) formatter(Formatter of) 616 616 in { 617 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set formatter"));617 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set formatter")); 618 618 } 619 619 body { … … 668 668 override Any* opIn_r(string name) 669 669 in { 670 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));671 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "lookup for options"));670 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 671 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "lookup for options")); 672 672 } 673 673 body { … … 687 687 override Any opIndex(string name) 688 688 in { 689 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));690 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get value of option"));689 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 690 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get value of option")); 691 691 } 692 692 body { … … 701 701 override void opIndexAssign(Any val, string name) 702 702 in { 703 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));704 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "set option value"));703 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 704 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "set option value")); 705 705 assert(val !is null); 706 706 } … … 769 769 override void remove(string name) 770 770 in { 771 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));772 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "set option value"));771 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 772 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "set option value")); 773 773 } 774 774 body { … … 806 806 override Value valueInfo(string name) 807 807 in { 808 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));809 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get option value info"));808 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 809 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get option value info")); 810 810 } 811 811 body { … … 858 858 override void synchronize(bool nf=true) 859 859 in { 860 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "synchronize options"));860 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "synchronize options")); 861 861 } 862 862 body { … … 909 909 override string[] assignedOptions() 910 910 in { 911 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get information about assigned options"));911 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get information about assigned options")); 912 912 } 913 913 body { … … 1024 1024 OptionSemantic findOption(string name) 1025 1025 in { 1026 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1026 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1027 1027 assert(m_desc !is null); 1028 1028 } … … 1044 1044 OptionSemantic findOptionChecked(string name) 1045 1045 in { 1046 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1046 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1047 1047 } 1048 1048 body { … … 1064 1064 void synchronizeOne(string name, Value nval, bool nf=true) 1065 1065 in { 1066 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1066 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1067 1067 assert(nval !is null); 1068 1068 } … … 1119 1119 void storeOption_impl(string name, string strVal, OptionSemantic desc, ref Value val) 1120 1120 in { 1121 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1121 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1122 1122 assert(desc !is null); 1123 1123 } … … 1214 1214 override void checkTypesCoherency(string name) 1215 1215 in { 1216 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1216 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1217 1217 } 1218 1218 body { … … 1304 1304 override void connect(bool nf=false) 1305 1305 in { 1306 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to call function connect"));1307 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1306 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to call function connect")); 1307 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1308 1308 } 1309 1309 body { … … 1324 1324 override void disconnect() 1325 1325 in { 1326 assert(isConnected==true, format( STACK_SHOULD_BE_CONNECTED, "call function disconnect"));1326 assert(isConnected==true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "call function disconnect")); 1327 1327 } 1328 1328 body { … … 1360 1360 override Any opIndex(string name) 1361 1361 in { 1362 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1363 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get value of option"));1364 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1362 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1363 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get value of option")); 1364 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1365 1365 } 1366 1366 body { … … 1378 1378 override void opIndexAssign(Any value, string name) 1379 1379 in { 1380 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1381 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "assign value to option"));1382 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1380 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1381 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "assign value to option")); 1382 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1383 1383 assert(value !is null); 1384 1384 } … … 1403 1403 override void remove(string name) 1404 1404 in { 1405 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1406 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "assign value to option"));1407 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1405 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1406 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "assign value to option")); 1407 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1408 1408 } 1409 1409 body { … … 1426 1426 override Any* opIn_r(string name) 1427 1427 in { 1428 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1429 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "lookup for option"));1430 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1428 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1429 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "lookup for option")); 1430 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1431 1431 } 1432 1432 body { … … 1441 1441 override Value valueInfo(string name) 1442 1442 in { 1443 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1444 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get value info for option"));1445 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1443 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1444 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get value info for option")); 1445 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1446 1446 } 1447 1447 body { … … 1475 1475 override string[] assignedOptions() 1476 1476 in { 1477 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get assigned options"));1478 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1477 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get assigned options")); 1478 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1479 1479 } 1480 1480 body { … … 1496 1496 override string[] definedOptions() 1497 1497 in { 1498 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1498 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1499 1499 } 1500 1500 body { … … 1516 1516 override void synchronize(bool nf=true) 1517 1517 in { 1518 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "synchronize options"));1519 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1518 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "synchronize options")); 1519 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1520 1520 } 1521 1521 body { … … 1537 1537 string[] collectedOptions() 1538 1538 in { 1539 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1539 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1540 1540 } 1541 1541 body { … … 1578 1578 ProgramOptions callback(string name, OptionCallback[] func=null) 1579 1579 in { 1580 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1580 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1581 1581 } 1582 1582 body { … … 1596 1596 Any composedOptions(string name) 1597 1597 in { 1598 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "get composed options"));1599 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1600 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1598 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "get composed options")); 1599 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1600 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1601 1601 } 1602 1602 body { … … 1670 1670 void downStackSync(string name) 1671 1671 in { 1672 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));1673 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "make down stack synchronization"));1674 assert(m_next !is null, format( CONCRETE_STORAGES_NOT_ATTACHED));1672 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 1673 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "make down stack synchronization")); 1674 assert(m_next !is null, format(ErrorStrings.CONCRETE_STORAGES_NOT_ATTACHED)); 1675 1675 } 1676 1676 body { … … 1769 1769 void notify(Event e) 1770 1770 in { 1771 assert(isConnected == true, format( STACK_SHOULD_BE_CONNECTED, "make notifications"));1771 assert(isConnected == true, format(ErrorStrings.STACK_SHOULD_BE_CONNECTED, "make notifications")); 1772 1772 } 1773 1773 body { trunk/doost/util/config/Value.d
r82 r89 40 40 static this() { 41 41 serializer = new PoSerializer; 42 serializer.global.defString.p_midchars = cast(ElementSet!( immutable char))ElementSet!(immutablechar).emptyset;43 serializer.global.defString.p_allchars = cast(ElementSet!( immutable char))ElementSet!(immutablechar).any_char;42 serializer.global.defString.p_midchars = cast(ElementSet!(dchar))ElementSet!(dchar).emptyset; 43 serializer.global.defString.p_allchars = cast(ElementSet!(dchar))ElementSet!(dchar).any_char; 44 44 serializer.global.defString.p_allchars.subtract(serializer.global.defSkip.p_skip); 45 45 } 46 46 47 conststring arg = "arg";47 enum string arg = "arg"; 48 48 49 49 //------------------------------------------------------------------------------ trunk/doost/util/config/storages/CommandLineStorage.d
r81 r89 627 627 typeof(this) args(string[] args) 628 628 in { 629 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set command line arguments"));629 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set command line arguments")); 630 630 } 631 631 body { … … 648 648 typeof(this) style(int style) 649 649 in { 650 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set style of command line"));650 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set style of command line")); 651 651 } 652 652 body { … … 662 662 EasyInit!(typeof(this)) options()() 663 663 in { 664 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set options definition"));664 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set options definition")); 665 665 } 666 666 body { … … 684 684 in { 685 685 assert(isConnected == false, 686 format( STACK_SHOULD_BE_DISCONNECTED, "to set options definition"));686 format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set options definition")); 687 687 688 688 foreach(p; params) { … … 715 715 in { 716 716 assert(ext !is null); 717 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set extra parser"));717 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set extra parser")); 718 718 } 719 719 body { trunk/doost/util/config/storages/ConfigFileStorage.d
r81 r89 92 92 ConfigFileStorage file(string file) 93 93 in { 94 assert(isConnected == false, format( STACK_SHOULD_BE_DISCONNECTED, "to set config file"));94 assert(isConnected == false, format(ErrorStrings.STACK_SHOULD_BE_DISCONNECTED, "to set config file")); 95 95 assert(file != ""); 96 96 } … … 375 375 override void savePhysicallyOne(string name, Value value) 376 376 in { 377 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));377 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 378 378 assert(value !is null); 379 379 } trunk/doost/util/config/storages/EnvironmentStorage.d
r81 r89 76 76 override Value readPhysicallyOne(string name) 77 77 in { 78 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));78 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 79 79 } 80 80 body { … … 112 112 override void savePhysicallyOne(string name, Value value) 113 113 in { 114 assert(name != "", format( OPTION_NAME_CAN_NOT_BE_EMPTY));114 assert(name != "", format(ErrorStrings.OPTION_NAME_CAN_NOT_BE_EMPTY)); 115 115 assert(value !is null); 116 116 } trunk/doost/util/serializer/archive/JsonArchive.d
r88 r89 539 539 540 540 if (Udt.ver in memberStructFields) { 541 stored_ver = to!(uint)(memberStructFields[Udt.ver]); 541 try { 542 stored_ver = to!(uint)(memberStructFields[Udt.ver]); 543 } catch(Exception e) { 544 throw new ParsingException("Wrong version format: \n" ~ e.toString); 545 } 542 546 return true; 543 547 } 544 545 548 return false; 546 549 } trunk/doost/util/serializer/archive/TextArchive.d
r88 r89 559 559 560 560 if (skip(storage, defUdt.verbegin)) { 561 if (!traverse(stored_ver)) throw new ParsingException("Version is not specifed."); 561 try { 562 if (!traverse(stored_ver)) throw new ParsingException("Version is not specifed."); 563 } catch(Exception e) { 564 throw new ParsingException("Wrong version format: \n" ~ e.toString); 565 } 566 562 567 if (!skip(storage, defUdt.verend)) 563 568 throw new ParsingException("No version end delimiter."); trunk/examples/util/serializer/SerializerTest.d
r87 r89 294 294 //-------------------------------------------------------------------------- 295 295 296 unittest { testCase. traces().execute("load/dump - opaque classes", {296 unittest { testCase.execute("load/dump - opaque classes", { 297 297 OpaqueClass input; 298 298 STORAGETYPE output; … … 373 373 //-------------------------------------------------------------------------- 374 374 375 unittest { testCase. traces().execute("load/dump - pointers", {375 unittest { testCase.execute("load/dump - pointers", { 376 376 OpaqueStruct* input_struct; 377 377 OpaqueClass input_class; … … 804 804 //-------------------------------------------------------------------------- 805 805 806 unittest { testCase. traces().execute("archive specific - struct/class versioning", {806 unittest { testCase.execute("archive specific - struct/class versioning", { 807 807 VersionedClass input; 808 808 STORAGETYPE output; … … 857 857 } 858 858 ");})); 859 assert(checkException!(Error)({serializer.load!(VersionedClass)(" 859 860 assert(checkException!(Exception)({serializer.load!(VersionedClass)(" 860 861 { 861 862 VersionedClass : {
