Ticket #2313: 2313.patch
File 2313.patch, 196.6 KB (added by diana, 15 years ago) |
---|
-
modules/org.sophie2.main.app.commons/src/main/java/org/sophie2/main/app/commons/util/TemplateUtil.java
### Eclipse Workspace Patch 1.0 #P sophie
45 45 * The ref of the new template 46 46 * @param isSign 47 47 * The significance of the change that creates it. 48 * @param createDefaultTemplate 49 * True if the template will be used as a default one, false otherwise. 48 50 */ 49 51 public static void createTemplate(final String templateTitle, final ImmList<TemplatedKey<?>> keys, 50 ElementView templatedElement, final ResourceRefR4 templateRef, boolean isSign) { 52 ElementView templatedElement, final ResourceRefR4 templateRef, boolean isSign, 53 final boolean createDefaultTemplate) { 51 54 52 55 assert templatedElement != null; 53 56 54 57 BookView bookView = templatedElement.getBookView(); 55 58 BookH book = bookView.model().get(); 56 59 ResourceAccess bookAccess = bookView.getAccess(); 57 60 58 61 final ResourceRefR4 ref; 59 62 final Key<ResourceRefList> templatesKey; 63 final Key<ResourceRefR4> defaultTemplateKey; 60 64 final String description; 61 65 62 66 if (templatedElement instanceof FrameView) { 63 67 FrameView frameView = (FrameView) templatedElement; 64 68 // preparing frame template 65 69 ref = frameView.getAccess().getRef(); 66 70 templatesKey = BookR4.KEY_FRAME_TEMPLATES; 67 71 description = "Add a frame template."; 72 defaultTemplateKey = BookR4.KEY_DEFAULT_FRAME_TEMPLATE; 68 73 } else { 69 74 // preparing page template 70 75 assert templatedElement instanceof RootPageView; 71 76 72 77 PageH page = ((RootPageView) templatedElement).model().get(); 73 78 ref = page.getRef(); 74 79 templatesKey = BookR4.KEY_PAGE_TEMPLATES; 75 80 description = "Add a page template."; 81 defaultTemplateKey = BookR4.KEY_DEFAULT_PAGE_TEMPLATE; 76 82 } 77 83 78 84 final ResourceRefList templates = book.get(templatesKey); 79 85 final ResourceRefR4 relativeRef = 80 86 ResourceRefR4.getRelativeRef(bookAccess.getRef(), ref); 81 87 final String kind = templatedElement.model().get().getKind(); 82 88 89 83 90 new AutoAction(description, isSign) { 84 91 @Override 85 92 public void performAuto() { 86 93 getChanger().copyResource(relativeRef, templateRef); 87 94 getChanger().setRaw(templatesKey, templates.add(templateRef)); 88 95 89 96 ResourceChanger subCh = getChanger().getSub(templateRef); 90 97 subCh.setRaw(ResourceR4.KEY_TITLE, templateTitle); 91 98 92 99 for (TemplatedKey<?> key : keys) { 93 100 subCh.setRaw(((TemplatedKey<?>) key).getApplyKey(), false); 94 101 } 95 102 subCh.setRaw(ResourceR4.KEY_KIND, kind); 103 if(createDefaultTemplate) { 104 getChanger().setRaw(defaultTemplateKey, templateRef); 105 } 96 106 } 107 97 108 }.register(bookAccess); 98 109 } 99 110 … … 111 122 public static void applyPageTemplate(ResourceChanger changer, ResourceRefR4 templateRef, 112 123 ImmList<TemplatedKey<?>> immKeys) { 113 124 changer.setRaw(ResourceR4.KEY_TEMPLATE, templateRef); 114 125 115 126 for (TemplatedKey<?> key : immKeys) { 116 127 // TODO remove the 'if' when templating of sub elements if fixed... 117 128 if (!key.equals(CompositeElement.KEY_SUB_ELEMENTS)) { … … 143 154 * a frame is create from a template via drag and drop. 144 155 * @param templateKind 145 156 * The kind of the frame template. 157 * @param skipMainResource 158 * Whether the main resource key should be skipped. This happens when 159 * The default frame template is applied to a newly created frame. 146 160 */ 147 public static void applyFrameTemplate(ResourceChanger changer, List<TemplatedKey<?>> immValues, ResourceRefR4 templateRef, boolean skipLocationKey, String templateKind) { 161 public static void applyFrameTemplate(ResourceChanger changer, List<TemplatedKey<?>> immValues, ResourceRefR4 templateRef, 162 boolean skipLocationKey, String templateKind, boolean skipMainResource) { 148 163 changer.setRaw(ResourceR4.KEY_TEMPLATE, templateRef); 149 164 for(TemplatedKey<?> key : immValues) { 150 165 if (!key.equals(MemberElement.KEY_LOCATION) || !skipLocationKey) { 166 if(key.equals(ResourceFrame.KEY_MAIN_RESOURCE) && skipMainResource) { 167 continue; 168 } 151 169 changer.setRaw(key, null); 152 changer.setRaw(key.getLockKey(), false); 170 changer.setRaw(key.getLockKey(), false); 153 171 } 154 172 // if we change the main resource, we must also set 155 173 // USE_TEMPLATE to the kind, since it may differ from -
modules/org.sophie2.main.app.commons/src/main/java/org/sophie2/main/app/commons/book/BookView.java
3 3 import java.util.List; 4 4 5 5 import org.sophie2.base.commons.util.ImmList; 6 import org.sophie2.base.commons.util.NaiveImmList; 6 7 import org.sophie2.base.commons.util.bindata.BinSourceNotFoundException; 7 8 import org.sophie2.base.media.AudioChunk; 8 9 import org.sophie2.base.media.MediaComposite; … … 21 22 import org.sophie2.base.model.resources.r4.ResourceUtil; 22 23 import org.sophie2.base.model.resources.r4.access.ResourceAccess; 23 24 import org.sophie2.base.model.resources.r4.changes.AutoAction; 25 import org.sophie2.base.model.resources.r4.keys.TemplatedKey; 24 26 import org.sophie2.base.model.resources.r4.resources.ResourceH; 25 27 import org.sophie2.base.visual.BaseVisualElement; 26 28 import org.sophie2.core.logging.Profiler; … … 38 40 import org.sophie2.main.app.commons.page.RootPageView; 39 41 import org.sophie2.main.app.commons.search.SearchMatch; 40 42 import org.sophie2.main.app.commons.util.AppViewUtil; 43 import org.sophie2.main.app.commons.util.TemplateUtil; 41 44 42 45 /** 43 46 * A view that displays a book. … … 506 509 507 510 }.register(getAccess()); 508 511 509 SophieLog.debugf("Added a new page with index %d to the %s book.", index, model().get() 510 .getTitle()); 512 ResourceRefR4 templatePageRef = model().get().getDefaultPageTemplate(); 511 513 512 goToPage(model().get().getPages().get(index));514 if(! templatePageRef.equals(ResourceRefR4.NONE_REF)) { 513 515 514 SophieLog.debugf("Went to page %d.", index + 1); 516 ResourceRefR4 absoluteDefRef = this.getAccess().getRef().getAbsolute(templatePageRef); 517 assert absoluteDefRef.isAbsolute(); 518 final ResourceRefR4 templateRef =ResourceRefR4.getRelativeRef(pageRef, 519 absoluteDefRef); 520 521 ResourceAccess templateAccess = this.getAccess().open(templateRef, null); 522 523 ResourceAccess pageAccess = this.getPageView(pageRef).getAccess(); 524 525 PageH templateH = ResourceH.getHelper(templateAccess, PageH.class); 526 final NaiveImmList<TemplatedKey<?>> immKeys = templateH.getApplicableTemplatedKeys(); 527 528 new AutoAction("Apply page template.", true) { 529 @Override 530 public void performAuto() { 531 TemplateUtil.applyPageTemplate(getChanger(), templateRef, immKeys); 532 } 533 }.register(pageAccess); 534 535 SophieLog.debugf("Added a new page with index %d to the %s book.", index, model().get() 536 .getTitle()); 537 538 goToPage(model().get().getPages().get(index)); 539 540 SophieLog.debugf("Went to page %d.", index + 1); 541 } 515 542 } 516 517 543 /** 518 544 * The events that may be fired by this. 519 545 * … … 540 566 * The index of the view to be deleted. 541 567 */ 542 568 public static final int VIEW_PARAM_INDEX = 0; 543 569 544 570 } 545 571 546 572 private boolean isPlaying() { -
dev-tools/author.TrueAuthorMain.launch
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="author.bundles.config author"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true -Xmx512m"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="author.bundles.config author"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true -Xmx512m"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> -
dev-tools/reader.TrueReaderMain.launch
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="reader.bundles.config reader"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.sprites&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="reader.bundles.config reader"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true -Dapple.laf.useScreenMenuBar=true"/> 18 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.sophie2.launcher}"/> 19 </launchConfiguration> -
modules/org.sophie2.main.func.resources/src/main/java/org/sophie2/main/func/resources/imports/ResourceImportUtil.java
14 14 import java.util.zip.ZipFile; 15 15 16 16 import org.sophie2.base.commons.util.ImmList; 17 import org.sophie2.base.commons.util.NaiveImmList; 17 18 import org.sophie2.base.commons.util.position.ImmPoint; 18 19 import org.sophie2.base.commons.util.position.ImmSize; 19 20 import org.sophie2.base.dialogs.DialogManager; … … 28 29 import org.sophie2.base.model.resources.r4.access.ResourceAccess; 29 30 import org.sophie2.base.model.resources.r4.changes.AutoAction; 30 31 import org.sophie2.base.model.resources.r4.changes.ResourceChanger; 32 import org.sophie2.base.model.resources.r4.keys.TemplatedKey; 31 33 import org.sophie2.base.model.resources.r4.keys.TemplatedKey.Mode; 32 34 import org.sophie2.base.model.resources.r4.resources.ResourceH; 35 import org.sophie2.base.model.resources.r4.resources.ResourceR4; 33 36 import org.sophie2.core.logging.SophieLog; 37 import org.sophie2.main.app.commons.util.TemplateUtil; 34 38 import org.sophie2.main.dialogs.input.DialogUtils; 35 39 import org.sophie2.main.dialogs.input.FileDialogInput; 36 40 import org.sophie2.main.dialogs.input.MessageDialogInput; … … 43 47 * @author meddle 44 48 */ 45 49 public final class ResourceImportUtil { 46 50 47 51 /** 48 52 * The provider used to open resources in Sophie Format. 49 53 * It is not registered as an extension and is used for … … 52 56 public static final ResourceImportProvider SOPHIE_FORMAT_PROVIDER = 53 57 new SimpleResourceImportProvider(new SophieFormatImportManager(), 54 58 FileDialogInput.BOOK_FILTER); 55 59 56 60 /** 57 61 * Imports a resource in the passed book, without inserting a frame 58 62 * for it. … … 73 77 ResourceH book, File resFile) { 74 78 final ResourceImportManager<D> importManager = 75 79 (ResourceImportManager<D>) provider.getImportManager(); 76 80 77 81 D data = 78 82 importManager.getResourceData(resFile, book); 79 83 80 84 if (data == null) { 81 85 return null; 82 86 } 83 87 84 88 final ResourceRefR4 resourceRef = importManager.generateChildRef(); 85 89 86 90 final ResourceImportInfo<D> importInfo = 87 91 new ResourceImportInfo<D>(data, resFile.getName(), resFile.toURI()); 88 92 89 93 // The description must be smarter... May be with skins --meddle 2009-10-21 90 94 new AutoAction("Import resource " + importInfo.getName() + ".", true) { 91 95 @Override 92 96 public void performAuto() { 93 97 ResourceChanger changer = getChanger(); 94 98 95 99 importManager.makeResource(changer, resourceRef, importInfo); 96 100 97 101 } 98 102 }.register(book.getAccess()); 99 103 100 104 return resourceRef; 101 105 } 102 106 103 107 private static <D> void insert(final ResourceImportInfo<D> importInfo, 104 108 final ResourceImportManager<D> importManager, BookH book, 105 109 ElementH parent, final ResourceRefR4 parentRef, 106 110 final ResourceRefR4 resourceRef, 107 111 final ImmPoint pos, final boolean linked) { 108 112 109 113 assert importInfo != null : "Resource data can not be null!"; 110 114 111 115 final ResourceRefR4 frameRef = 112 116 ResourceRefR4.generateRandomSub(FrameH.NAME_PREFIX); 113 117 114 118 // Prepare data for the frame to insert. 115 119 final ImmSize frameSize = 116 120 importManager.computeFrameSize(importInfo.getData()); 117 121 118 122 final String frameTitle = 119 123 importInfo.getName() + " " + FrameR4.DEFAULT_TITLE; 120 124 121 125 final ImmList<ActivationChannel> elements = 122 126 CompositeElement.KEY_SUB_ELEMENTS.get(parent.getAccess()); 127 ResourceRefR4 defaultTemplate = book.getDefaultFrameTemplate(); 128 final boolean isDefaultTemplate = ! defaultTemplate.equals(ResourceRefR4.NONE_REF); 123 129 final boolean isTemplated = Mode.USE_TEMPLATE.equals( 124 130 CompositeElement.KEY_SUB_ELEMENTS.getMode(parent.getAccess())); 125 131 132 126 133 // The description must be smarter... May be with skins --meddle 2009-10-21 127 134 new AutoAction("Insert frame for resource " + importInfo.getName() + ".", true) { 128 135 @Override … … 135 142 importManager.insertFrame(changer.getSub(parentRef), 136 143 parentRef, frameRef, resourceRef, frameTitle, 137 144 elements, isTemplated, pos, frameSize); 145 138 146 } 139 147 }.register(book.getAccess()); 148 if(isDefaultTemplate) { 149 ResourceRefR4 absoluteDefRef = book.getRef().getAbsolute(defaultTemplate); 150 assert absoluteDefRef.isAbsolute(); 151 final ResourceRefR4 templateRef =ResourceRefR4.getRelativeRef(frameRef, 152 absoluteDefRef); 153 154 ResourceAccess templateAccess = book.getAccess().open(templateRef, null); 155 156 ResourceAccess frameAccess = parent.getAccess().open(frameRef, null); 157 final String kind = frameAccess.getRaw(ResourceR4.KEY_KIND); 158 159 FrameH templateH = ResourceH.getHelper(templateAccess, FrameH.class); 160 final NaiveImmList<TemplatedKey<?>> immKeys = templateH.getApplicableTemplatedKeys(); 161 162 new AutoAction("Apply template for resource " + importInfo.getName() + ".", false) { 163 @Override 164 public void performAuto() { 165 TemplateUtil.applyFrameTemplate(getChanger(), 166 immKeys.asList(), 167 templateRef, false, kind, true); 168 169 } 170 }.register(frameAccess); 171 } 172 140 173 } 141 174 142 175 private static <D> ResourceRefR4 getNewResourceRef( 143 176 final ResourceImportInfo<D> importInfo, 144 177 final ResourceImportManager<D> importManager, boolean linked) { 145 178 assert importInfo != null : "Resource data can not be null!"; 146 179 147 180 if (linked) { 148 181 assert importManager instanceof SophieFormatImportManager : 149 182 "Linked resources can only be imported from Sophie 2.0 " + 150 183 "Format files."; 151 152 153 154 184 File soureFile = new File(importInfo.getImportOrigin()); 185 assert soureFile.exists() : "The import origin is not correctly set"; 186 187 return ResourceRefR4.make(soureFile); 155 188 } 156 189 157 190 return importManager.generateChildRef(); 158 191 } 159 192 160 193 /** 161 194 * Inserts a resource with a frame to Sophie. 162 195 * … … 180 213 ResourceImportProvider provider, BookH book, ElementH parent, ImmPoint pos, boolean linked) { 181 214 final ResourceImportManager<D> importManager = 182 215 (ResourceImportManager<D>) provider.getImportManager(); 183 216 184 217 // Prepare the data for the resource to create. 185 218 final ResourceRefR4 parentRef = ResourceRefR4.getRelativeRef( 186 219 book.getRef(), parent.getRef()); 187 220 188 221 // Import the resource. 189 222 List<ResourceImportInfo<D>> resourceData = 190 223 importManager.retrieveResourceInfo(provider, book); 191 224 192 225 if (resourceData == null || resourceData.isEmpty()) { 193 226 return false; 194 227 } 195 228 196 229 for (ResourceImportInfo<D> info : resourceData) { 197 230 insert(info, importManager, book, parent, parentRef, 198 231 getNewResourceRef(info, importManager, linked), 199 232 pos, linked); 200 233 } 201 234 202 235 return true; 203 236 } 204 237 205 238 /** 206 239 * Inserts frame for existing resource. 207 240 * … … 228 261 ResourceAccess access, boolean linked) { 229 262 final ResourceImportManager<D> importManager = 230 263 (ResourceImportManager<D>) provider.getImportManager(); 231 264 232 265 final ResourceRefR4 parentRef = ResourceRefR4.getRelativeRef( 233 266 book.getRef(), parent.getRef()); 234 267 235 268 assert access != null : "The access can not be null."; 236 269 237 270 ResourceRefR4 resourceRef = (linked) ? ResourceRefR4.makeChild( 238 271 access.getRef().getName()) : importManager.generateChildRef(); 239 240 D data = importManager.getResourceData(access);241 242 if (data == null) {243 return false;244 }245 246 ResourceImportInfo<D> importInfo =247 new ResourceImportInfo<D>(data, null);248 249 insert(importInfo, importManager, book, parent,250 parentRef, resourceRef, pos, linked);251 252 return true;272 273 D data = importManager.getResourceData(access); 274 275 if (data == null) { 276 return false; 277 } 278 279 ResourceImportInfo<D> importInfo = 280 new ResourceImportInfo<D>(data, null); 281 282 insert(importInfo, importManager, book, parent, 283 parentRef, resourceRef, pos, linked); 284 285 return true; 253 286 } 254 287 255 288 /** 256 289 * Inserts a frame for dropped resource from outside Sophie 2.0. 257 290 * … … 280 313 281 314 final ResourceImportManager<D> importManager = 282 315 (ResourceImportManager<D>) provider.getImportManager(); 283 316 284 317 D data = importManager.getResourceData(transferable); 285 318 286 319 return dropResource(provider, book, parent, pos, importManager, data, null); 287 320 } 288 321 289 322 /** 290 323 * Inserts a frame for a dropped file. 291 324 * … … 307 340 @SuppressWarnings("unchecked") 308 341 public static <D> boolean dropFile(ResourceImportProvider provider, 309 342 BookH book, ElementH parent, ImmPoint pos, File file) { 310 343 311 344 final ResourceImportManager<D> importManager = 312 345 (ResourceImportManager<D>) provider.getImportManager(); 313 346 314 347 D data = importManager.getResourceData(file, parent); 315 348 316 349 return dropResource(provider, book, parent, pos, importManager, data, file); 317 350 } 318 351 319 352 private static <D> boolean dropResource(ResourceImportProvider provider, 320 353 BookH book, ElementH parent, ImmPoint pos, 321 354 ResourceImportManager<D> importManager, D data, 322 355 File file) { 323 356 324 357 if (data == null) { 325 358 return false; 326 359 } 327 360 328 361 final ResourceRefR4 parentRef = ResourceRefR4.getRelativeRef( 329 362 book.getRef(), parent.getRef()); 330 363 331 364 ResourceRefR4 resourceRef = importManager.generateChildRef(); 332 365 333 366 String name; 334 367 335 368 if (file == null) { 336 369 name = null; 337 370 } else { 338 371 name = file.getName(); 339 372 } 340 373 341 374 ResourceImportInfo<D> importInfo = 342 375 new ResourceImportInfo<D>(data, name); 343 376 344 377 insert(importInfo, importManager, book, parent, 345 378 parentRef, resourceRef, pos, false); 346 379 347 380 return true; 348 381 } 349 382 350 383 /** 351 384 * Shows user information for files that was not imported because 352 385 * they are invalid. … … 357 390 public static void showInvalidInfo(List<File> invalidFiles) { 358 391 if (!invalidFiles.isEmpty()) { 359 392 StringBuffer badFiles = new StringBuffer(); 360 393 361 394 for (File file : invalidFiles) { 362 395 badFiles.append(file.getName() + ", "); 363 396 } 364 397 365 398 MessageDialogInput errorInput = new MessageDialogInput(null, 366 399 "Some of the files specified were not valid : " + 367 400 badFiles.replace(badFiles.length() - 2, 368 401 badFiles.length() - 1, "."), 369 "Invalid Files", MessageType.ERROR);402 "Invalid Files", MessageType.ERROR); 370 403 DialogManager.get().showDialog(errorInput); 371 404 } 372 405 } 373 406 374 407 /** 375 408 * Extracts a zip file in the temporary directory and 376 409 * retrieves the files from it. … … 382 415 */ 383 416 public static List<File> extractZipFile(File zipped) { 384 417 List<File> fileList = new LinkedList<File>(); 385 418 386 419 ZipFile zipFile; 387 420 OutputStream out = null; 388 421 InputStream is = null; 389 422 390 423 try { 391 424 zipFile = new ZipFile(zipped); 392 425 } catch (Exception e) { … … 395 428 return null; 396 429 } 397 430 Enumeration<?> entries = zipFile.entries(); 398 431 399 432 String tempDir = System.getProperty("java.io.tmpdir"); 400 433 401 434 while (entries.hasMoreElements()) { 402 435 ZipEntry entry = (ZipEntry) entries.nextElement(); 403 436 if (entry.isDirectory()) { … … 407 440 dir.deleteOnExit(); 408 441 continue; 409 442 } 410 443 411 444 try { 412 445 is = new BufferedInputStream(zipFile.getInputStream(entry)); 413 446 } catch (IOException e) { … … 418 451 419 452 int count; 420 453 byte data[] = new byte[1024]; 421 454 422 455 String fileName = tempDir + entry.getName(); 423 456 424 457 File resFile = new File(fileName); 425 458 resFile.deleteOnExit(); 426 459 427 460 try{ 428 461 resFile.createNewFile(); 429 462 FileOutputStream fos = new FileOutputStream(resFile); … … 431 464 while ((count = is.read(data, 0, 1024)) != -1) { 432 465 out.write(data, 0, count); 433 466 } 434 467 435 468 out.close(); 436 469 is.close(); 437 470 } catch (IOException e) { … … 440 473 + zipped + " !", "Unzipping error"); 441 474 return null; 442 475 } 443 476 444 477 fileList.add(resFile); 445 478 } 446 479 447 480 if (fileList.size() == 0) { 448 481 SophieLog.error("Zip file, passed for opening, is empty."); 449 482 return null; 450 483 } 451 484 452 485 return fileList; 453 486 } 454 487 455 488 456 489 } -
modules/org.sophie2.main.app.halos/src/main/java/org/sophie2/main/app/halos/shared/AddTemplateHaloButton.java
50 50 @SkinElementId("main.view.shared.frame.add-template") 51 51 @VisualElementDef(parent = MainHaloMenu.class, sortKey = "jjj-add-template") 52 52 public class AddTemplateHaloButton extends ClickHaloButton { 53 53 54 54 // TODO: skins 55 55 private static final String MESSAGE_OVERWRITE_TITLE = "Confirm overwrite"; 56 56 private static final String MESSAGE_OVERWRITE = "Do you want to overwrite the existing template \"%s\"\nThis will update all of its derived objects?"; … … 63 63 * will be the default. 64 64 */ 65 65 protected Map<ResourceRefR4, String> defaultTitles = new HashMap<ResourceRefR4, String>(); 66 66 67 67 @SuppressWarnings("unused") 68 68 @SkinPartDef 69 69 private static void defineSkin(ElementSkinPart part) { … … 147 147 title = defaultTitle + " template"; 148 148 } 149 149 150 TemplateInfo info = new TemplateInfo(title, ResourceR4.getKnownKeys(resourceClass).values() );150 TemplateInfo info = new TemplateInfo(title, ResourceR4.getKnownKeys(resourceClass).values(), false); 151 151 TemplateDialog.Input input = new TemplateDialog.Input(pwa.swingComponent().get(), info); 152 152 153 153 TemplateInfo res = DialogManager.get().showDialog(input); 154 154 155 155 if (res != null) { 156 156 source.defaultTitles.put(ref, res.getTitle()); 157 157 final ResourceRefList templates = book.get(templatesKey); 158 158 159 159 final ResourceRefR4 foundResourceRef = findTemplateByTitle(bookAccess, templates, res.getTitle()); 160 160 final ResourceRefR4 templateRef = (foundResourceRef == null ? ResourceRefR4 161 161 .generateRandomSub(resourcePrefix) : foundResourceRef); 162 162 final String templateTitle = res.getTitle(); 163 163 final ImmList<Key<?>> keys = ImmTreeList.<Key<?>>create(res.getKeyStates().keySet()); 164 164 final ImmList<Boolean> values = ImmTreeList.<Boolean>create(res.getKeyStates().values()); 165 165 166 166 boolean proceed = true; 167 167 if (foundResourceRef != null) { 168 168 proceed = shouldOverwrite(res.getTitle(), pwa.swingComponent().get()); … … 186 186 } 187 187 if (proceed) { 188 188 TemplateUtil.createTemplate(templateTitle, notToTemplate, 189 templatedElem, templateRef, true );189 templatedElem, templateRef, true, res.getIsDefault()); 190 190 } 191 191 } 192 192 return true; 193 193 } 194 194 } 195 195 } 196 196 197 197 /** 198 198 * Finds a {@link ResourceRefR4} in a given list that matches a certain … … 246 246 ResourceAccess templateAccess = access.open(templateAbs, null); 247 247 return isSaveAllowed(templateAbs, destination, templateAccess); 248 248 } 249 249 250 250 private static boolean shouldOverwrite(String title, JComponent parent) { 251 251 ConfirmDialogInput cdi = new ConfirmDialogInput(parent, 252 252 String.format(MESSAGE_OVERWRITE, title), MESSAGE_OVERWRITE_TITLE, false); 253 253 ConfirmDialogInput.Response result = DialogManager.get().showDialog(cdi); 254 254 return result == ConfirmDialogInput.Response.YES; 255 255 } 256 256 257 257 private static void showMessage(String message, JComponent parent) { 258 258 DialogManager.get().showDialog(new MessageDialogInput(parent, message)); 259 259 } -
dev-tools/server.TrueServerMain.launch
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="true"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;classpathVariable path=&quot;M2_REPO/eu/medsea/mimeutil/mime-util/2.1/mime-util-2.1-sources.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathVariable"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.reader&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.vldocking&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.connector&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.persistence&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.webservices&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="server.bundles.config server"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true"/> 18 </launchConfiguration> 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> 3 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> 4 <listEntry value="/org.sophie2.launcher/src/main/java/org/sophie2/launcher/Main.java"/> 5 </listAttribute> 6 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> 7 <listEntry value="1"/> 8 </listAttribute> 9 <stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/> 10 <stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="true"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;classpathVariable path=&quot;M2_REPO/eu/medsea/mimeutil/mime-util/2.1/mime-util-2.1-sources.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathVariable"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.author&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.bound&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.commons&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.config&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.connectivity&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.dialogs&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.dnd&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.halos&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.layout&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.media&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.menus&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.book&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.resources.r4&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.security&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.model.text&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.persistence&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.scene&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.skins&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.base.visual&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core.logging&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core.modularity&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.core.mvc&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.annotations&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.browser&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.embedded&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.html&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.pdf&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.plain&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.print&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.rtf&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.extra.func.scripting&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.launcher&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.commons&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.halos&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.layout&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.menus&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.model&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.app.reader&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.dialogs.input&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.config&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.file&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.help&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.image&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.links&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.media&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.resources&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.servers&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.text&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.func.timelines&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.mydoggy&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.layout.vldocking&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.media.fobs&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.jogl&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.scene.simple&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.skin.alternative&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.main.ws_connector&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.reader&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.connector&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.core&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.persistence&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.webapp&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.webservices&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.server.webui&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;org.sophie2.system&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;sophie2-platform&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> 11 <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/> 12 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 13 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.sophie2.launcher.Main"/> 14 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="server.bundles.config server"/> 15 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.sophie2.launcher"/> 16 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/> 17 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dsophie2.development=true"/> 18 </launchConfiguration> -
modules/org.sophie2.base.model.book/src/main/java/org/sophie2/base/model/book/resource/r4/BookR4.java
28 28 */ 29 29 @SuppressWarnings("hiding") 30 30 public static final String KIND = "book"; 31 31 32 32 /** 33 33 * The kind of the helper associated with this resource. 34 34 */ … … 53 53 ImmSize.class, DEFAULT_PAGE_SIZE); 54 54 55 55 /** 56 * A key holding the default value for the page template. 57 */ 58 public static final TemplatedKey<ResourceRefR4> KEY_DEFAULT_PAGE_TEMPLATE = new TemplatedKey<ResourceRefR4> 59 ("default-page-template", ResourceRefR4.class, ResourceRefR4.NONE_REF); 60 61 /** 62 * A key holding the default value for the frame template. 63 */ 64 public static final TemplatedKey<ResourceRefR4> KEY_DEFAULT_FRAME_TEMPLATE = new TemplatedKey<ResourceRefR4> 65 ("default-frame-template", ResourceRefR4.class, ResourceRefR4.NONE_REF); 66 /** 56 67 * A key holding the pages of this book. 57 68 */ 58 69 public static final TemplatedKey<ResourceRefList> KEY_PAGES = new TemplatedKey<ResourceRefList>("pages", … … 92 103 options, "template", format); 93 104 } 94 105 }; 95 106 96 107 /** 97 108 * A key holding a reference to the background audio resource of this book. 98 109 */ 99 110 public static final TemplatedKey<ResourceRefR4> KEY_BACKGROUND_AUDIO = 100 111 new TemplatedKey<ResourceRefR4>("background-audio", 101 112 ResourceRefR4.class, ResourceRefR4.NONE_REF); 102 113 103 114 /** 104 115 * A key holding whether the background audio of this book should be looped. 105 116 */ 106 117 public static final TemplatedKey<Boolean> KEY_LOOP_BACKGROUND_AUDIO = 107 118 new TemplatedKey<Boolean>("loop-background-audio", 108 119 Boolean.class, true); 109 120 110 121 /** 111 122 * Key that holds if the background audio is synchronized with the pages. 112 123 */ 113 124 public static final TemplatedKey<Boolean> KEY_BIND_AUDIO_TO_PAGES = 114 125 new TemplatedKey<Boolean>("key-bind-audio-to-pages", 115 126 Boolean.class, false); 116 127 117 128 /** 118 129 * A key that holds information whether the timeline is playing or not. 119 130 */ -
modules/org.sophie2.main.app.layout/src/main/java/org/sophie2/main/app/layout/right/library/LibraryTabLogic.java
113 113 114 114 @Override 115 115 public void performAuto() { 116 TemplateUtil.applyFrameTemplate(getChanger(), immKeys.asList(), templateRef, false, templateKind );116 TemplateUtil.applyFrameTemplate(getChanger(), immKeys.asList(), templateRef, false, templateKind, false); 117 117 } 118 118 119 119 }.register(frameAccess); … … 256 256 pos, FrameR4.DEFAULT_FRAME_SIZE); 257 257 258 258 TemplateUtil.applyFrameTemplate(changer.getSub(frameRef), 259 immKeys.asList(), frameToTemplate, true, templateKind );259 immKeys.asList(), frameToTemplate, true, templateKind, false); 260 260 } 261 261 }.register(page.getAccess()); 262 262 -
modules/org.sophie2.main.func.text/src/main/java/org/sophie2/main/func/text/utils/TextChainUtils.java
57 57 * @author mira, diana 58 58 */ 59 59 public class TextChainUtils { 60 60 61 61 /** 62 62 * Comparator used to order text views of the same chains by their chain order. 63 63 */ … … 69 69 } 70 70 return -1; 71 71 } 72 72 73 73 if (view2 == null) { 74 74 return 1; 75 75 } 76 76 77 77 BookView bookView1 = view1.getBookView(); 78 78 BookView bookView2 = view1.getBookView(); 79 79 assert (bookView1 == bookView2) && (view1.getHeadView() == view2.getHeadView()) : … … 114 114 } 115 115 chainedFrameViews.add(headFrameView); 116 116 Collections.sort(chainedFrameViews, TEXT_VIEW_COMP); 117 117 118 118 return chainedFrameViews; 119 119 } 120 120 … … 128 128 */ 129 129 public static void reflowText(HeadTextFrameView headFrameView) { 130 130 BookView bookView = headFrameView.getBookView(); 131 131 132 132 if (bookView == null || bookView.getViewOptions().isPreviewMode()) { 133 133 //this happens if the headFrame is no longer part of this bookView 134 134 return; 135 135 } 136 136 BookH bookH = bookView.model().get(); 137 137 TextViewFlow flow = headFrameView.textFlow().get(); 138 138 139 139 //This is done here because we need to know the last frame-view... 140 140 List<TextFrameView> chainedFrameViews = getChainedFrameViews(bookView, headFrameView); 141 141 … … 146 146 return; 147 147 } 148 148 boolean changesMade = true; 149 149 150 150 ChainManager chainMaster = ChainManager.get(bookH); 151 151 chainMaster.massCnanging().set(true); 152 152 if (neededPages > 0) { … … 155 155 changesMade = reduceChain(chainedFrameViews); 156 156 } 157 157 chainMaster.massCnanging().set(false); 158 158 159 159 if (changesMade) { 160 160 new AutoAction("Auto-fit text flow.", true) { 161 161 @Override … … 264 264 * @return 265 265 * True if the pages were added and false otherwise. 266 266 */ 267 public static boolean expandChain(List<TextFrameView> chainedTextViews, final int neededPages) {268 267 public static boolean expandChain(List<TextFrameView> chainedTextViews, final int neededPages) { 268 269 269 TextFrameView lastTextView = chainedTextViews.get(chainedTextViews.size() - 1); 270 270 RootPageView page = lastTextView.findParentElement(RootPageView.class); 271 271 … … 276 276 final ResourceRefR4 pageTemplateRef = getPageTemplate(page); 277 277 278 278 List<FrameView> frameViews = page.getAll(FrameView.class); 279 279 280 280 final ResourceRefList frameTemplatesList = getFrameTemplates(book, frameViews); 281 281 282 282 final ImmList<String> kindsList = getFrameKinds(frameViews); 283 283 284 284 Map<ResourceRefR4, List<TextFrameView>> chainsInThisPage = 285 285 getChainsInPage(bookRef, frameViews); 286 286 final ImmList<String> frameChainOrders = 287 287 getChainOrders(bookRef, frameViews, chainedTextViews, chainsInThisPage); 288 288 289 289 final ImmList<Integer> frameChainIndexes = getIndexInPage(bookRef, frameViews, chainsInThisPage); 290 290 291 291 //Generate page`s and frame`s refs and titles … … 312 312 // If in future the logic for creating templates change, change this too. 313 313 List<TemplatedKey<?>> pageKeys = ResourceR4.getKnownTemplatedKeys(PageR4.class); 314 314 final ImmList<TemplatedKey<?>> finalPageKeys = ImmTreeList.create(pageKeys); 315 315 316 316 final ResourceRefList pageRefs = pagerefs; 317 317 final ImmList<String> pageTitles = pagetitles; 318 318 final ImmList<ResourceRefList> frameRefs = framerefs; … … 325 325 new AutoAction("Expand auto-chain", false) { 326 326 @Override 327 327 public void performAuto() { 328 328 329 329 int size = frameTemplatesList.size(); 330 330 ResourceRefR4 pageRef = pages.get(lastPageIndex); 331 331 ResourceRefR4 relPageTemplRef = ResourceRefR4.getRelativeRef(pageRef, pageTemplateRef); 332 332 ResourceChanger pageChanger = getChanger().getSub(pageRef); 333 333 TemplateUtil.applyPageTemplate(pageChanger, relPageTemplRef, finalPageKeys); 334 334 335 335 for (int j = 0; j< size; j++) { 336 336 ResourceChanger frameCh = pageChanger.getSub(framesList.get(j)); 337 337 ResourceRefR4 relFrameTemRef = ResourceRefR4.getRelativeRef( … … 343 343 //we don`t want to use a template for the chain order 344 344 //TODO Think about making it simple key... 345 345 keys.remove(key); 346 TemplateUtil.applyFrameTemplate(frameCh, keys, relFrameTemRef, false, kind );346 TemplateUtil.applyFrameTemplate(frameCh, keys, relFrameTemRef, false, kind, false); 347 347 } 348 348 349 349 BookH.addNewPages(getChanger(), pageRefs, pages, pageTitles, lastPageIndex + 1); … … 362 362 List<TemplatedKey<?>> keys = ResourceR4.getKnownTemplatedKeys( 363 363 ResourceR4.getClassByKind(kindsList.get(j))); 364 364 TemplateUtil.applyFrameTemplate(frameCh, keys, 365 relFrameTemRef, false, kindsList.get(j) );365 relFrameTemRef, false, kindsList.get(j), false); 366 366 367 367 if (TailTextFrameR4.KIND.equals(kindsList.get(j))) { 368 368 String pageSuffix = getString(i, pageRefs.size()); … … 378 378 TemplateUtil.applyPageTemplate(pageChanger, relPageTemplRef, finalPageKeys); 379 379 } 380 380 } 381 381 382 382 /** 383 383 * Gets a unique string representation of a given index and the max in its group. 384 384 * The indexes start at 0. The string for index 5, would be "f", and for 31 - "af". … … 394 394 char expandIndSymbol = '_'; 395 395 char startAt = 'a'; 396 396 int length = 26; 397 397 398 398 // assert (index <= size): "The size should be the max index of the group"; 399 399 400 400 String res = ""; … … 409 409 } 410 410 return res; 411 411 } 412 412 413 413 /** 414 414 * Finds the max element in a given list. There could be null elements and they are considered 415 415 * smallest. … … 421 421 * @return 422 422 * The max element. 423 423 */ 424 424 425 425 private <T extends Comparable<? super T>> T getMax(List<T> list) { 426 426 Iterator<? extends T> iterator = list.iterator(); 427 427 T candidate = iterator.next(); 428 428 429 430 431 432 433 434 429 while(iterator.hasNext()) { 430 T next = iterator.next(); 431 432 if ((next != null) && ((candidate == null) || (next.compareTo(candidate)) > 0)) 433 candidate = next; 434 } 435 435 return candidate; 436 436 } 437 437 … … 440 440 return true; 441 441 } 442 442 443 443 444 444 private static ResourceRefList getFramesRefs(RootPageView page) { 445 445 List<FrameView> frameViews = page.getAll(FrameView.class); 446 446 ResourceRefList frameRefs = ResourceRefList.EMPTY; … … 454 454 455 455 private static ImmList<String> getChainOrders(ResourceRefR4 bookRef, List<FrameView> frameViews, 456 456 List<TextFrameView> chainedTextViews, Map<ResourceRefR4, List<TextFrameView>> chainsInThisPage) { 457 457 458 458 ImmList<String> res = ImmTreeList.empty(); 459 459 Map<ResourceRefR4, String> nextInChain = new HashMap<ResourceRefR4, String>(); 460 460 for (FrameView frameView : frameViews) { … … 476 476 if (indexInChain == chainedTextViews.size() -1){ 477 477 insertBefore = ""; 478 478 } else { 479 //This is ok since the index is non negative and we add 1479 //This is ok since the index is non negative and we add 1 480 480 TailTextFrameH tailFrame = (TailTextFrameH) chainedTextViews.get( 481 481 indexInChain + 1).model().get(); 482 482 insertBefore = tailFrame.getChainOrder(); 483 483 } 484 484 } … … 494 494 } 495 495 496 496 private static char expandLenSymbol = '-'; 497 497 498 498 private static String expandLength(String initial, int desiredLen) { 499 499 String res = initial; 500 500 while (res.length() < desiredLen) { … … 531 531 frameTemplRef = ResourceRefR4.generateRandomSub(FrameH.NAME_PREFIX); 532 532 String templateTitle = getTemplateName(frameH.getTitle(), bookH, true); 533 533 TemplateUtil.createTemplate(templateTitle, NaiveImmList.<TemplatedKey<?>>getEmpty(), 534 frameView, frameTemplRef, false );534 frameView, frameTemplRef, false, false); 535 535 if (frameH instanceof HeadTextFrameH) { 536 536 HeadTextFrameH thisHeadH = (HeadTextFrameH) frameH; 537 537 final ResourceRefR4 relativeHeadRef = … … 592 592 res = ResourceRefR4.generateRandomSub(PageH.NAME_PREFIX); 593 593 String templateTitle = getTemplateName(pageH.getTitle(), book, false); 594 594 TemplateUtil.createTemplate(templateTitle, 595 NaiveImmList.<TemplatedKey<?>>getEmpty(), page, res, false );595 NaiveImmList.<TemplatedKey<?>>getEmpty(), page, res, false, false); 596 596 } else { 597 597 res = ResourceRefR4.getRelativeRef(book.getRef(), pageH.getRef().append(res)); 598 598 } -
modules/org.sophie2.base.model.book/src/main/java/org/sophie2/base/model/book/BookH.java
39 39 * The prefix of the titles in the books that are in preview mode. 40 40 */ 41 41 public static final String PREVIEW_TITLE_PREFIX = "Preview of "; 42 42 43 43 /** 44 44 * The prefix of the name of this resource. 45 45 */ 46 46 @SuppressWarnings("hiding") 47 47 public static final String NAME_PREFIX = "book"; 48 48 49 49 /** 50 50 * Default constructor with {@link ResourceAccess}. 51 51 * … … 66 66 public ImmSize getPageSize() { 67 67 return get(BookR4.KEY_PAGE_SIZE); 68 68 } 69 69 70 70 /** 71 71 * Gets the page templates for the book. 72 72 * … … 77 77 return get(BookR4.KEY_PAGE_TEMPLATES); 78 78 } 79 79 80 81 80 /** 81 * Gets the default value for the page template. 82 * @return 83 * The default value for the key templates. 84 */ 85 public ResourceRefR4 getDefaultPageTemplate() { 86 return get(BookR4.KEY_DEFAULT_PAGE_TEMPLATE); 87 } 88 89 /** 90 * Gets the default value for the frame template. 91 * @return 92 * The default value for the frame templates. 93 */ 94 public ResourceRefR4 getDefaultFrameTemplate() { 95 return get(BookR4.KEY_DEFAULT_FRAME_TEMPLATE); 96 } 97 /** 82 98 * Gets the frame templates for the book. 83 99 * 84 100 * @return … … 87 103 public ResourceRefList getFrameTemplates() { 88 104 return get(BookR4.KEY_FRAME_TEMPLATES); 89 105 } 90 91 106 107 92 108 /** 93 109 * Gets an immutable list of the book pages. 94 110 * … … 97 113 public ResourceRefList getPages() { 98 114 return get(BookR4.KEY_PAGES); 99 115 } 100 101 116 117 102 118 /** 103 119 * Returns the page number of the first occurrence of the given page {@link ResourceRefR4} 104 120 * among all the pages. … … 112 128 List<ResourceRefR4> children = getPages().asList(); 113 129 return children.indexOf(page.getThisChildRef()); 114 130 } 115 131 116 132 /** 117 133 * Returns the count of the pages in this book. 118 134 * … … 122 138 public int getPageCount() { 123 139 return getPages().size(); 124 140 } 125 141 126 142 /** 127 143 * Gets the background audio resource for this book. 128 144 * … … 132 148 public ResourceRefR4 getBgAudioResourceRef() { 133 149 return get(BookR4.KEY_BACKGROUND_AUDIO); 134 150 } 135 151 136 152 /** 137 153 * Checks whether the background audio of this book should be looped. 138 154 * … … 142 158 public boolean getLoopBgAudio() { 143 159 return get(BookR4.KEY_LOOP_BACKGROUND_AUDIO); 144 160 } 145 161 146 162 /** 147 163 * Checks if there is synchronized with the pages background audio. 148 164 * … … 152 168 public boolean getSyncAudioToPages() { 153 169 return get(BookR4.KEY_BIND_AUDIO_TO_PAGES); 154 170 } 155 171 156 172 /** 157 173 * Checks for playing state of the book's timeline. 158 174 * … … 161 177 public boolean getPlayTimelines() { 162 178 return get(BookR4.KEY_PLAY_TIMELINES); 163 179 } 164 180 165 181 /** 166 182 * Gets the background audio resource for this book. 167 183 * … … 173 189 if (ResourceRefR4.NONE_REF.equals(ref)) { 174 190 return null; 175 191 } 176 192 177 193 ResourceAccess access = this.getAccess().open(ref, null); 178 194 return ResourceH.getHelper(access); 179 195 } … … 198 214 bookModel.debugPrint(); 199 215 return createBookAccess(locator, bookModel); 200 216 } 201 217 202 218 /** 203 219 * Creates a new book access for a given book model. 204 220 * … … 210 226 * ResourceAccess for the newly created book. 211 227 */ 212 228 public static final ResourceAccess createBookAccess(ResourceLocator parent, 213 229 ResourceModel model) { 214 230 ResourceRefR4 bookRef = MemLocator.generateTempRef(); 215 231 AccessOptions options = 216 232 AccessOptions.DEFAULT_ACCESS_OPTIONS.modifyViewAndScope(bookRef); … … 218 234 LocalResourceRevision.getInitialRevision(model); 219 235 return parent.create(bookRef, options, head); 220 236 } 221 237 222 238 /** 223 239 * Creates an initial {@link ResourceModel} of a book. 224 240 * … … 234 250 * The new {@link ResourceModel}. 235 251 */ 236 252 public static ResourceModel createInitialModel(String bookTitle, 237 253 String pageTitle, ImmSize size) { 238 254 Map<Key<?>, Object> map = new HashMap<Key<?>, Object>(); 239 255 map.put(ResourceR4.KEY_ROOT, NaiveSubEntryNames.create( 240 256 ResourceR4.KEY_CHILDREN.getId(), … … 243 259 map.put(ResourceR4.KEY_KIND, BookR4.KIND); 244 260 map.put(ResourceR4.KEY_TITLE, bookTitle); 245 261 map.put(BookR4.KEY_PAGE_SIZE, size); 246 262 247 263 // Add page: 248 264 ResourceRefR4 pageRef = ResourceRefR4.generateRandomSub("Page "); 249 265 String pageName = pageRef.getName(); 250 266 SubEntryNames children = NaiveSubEntryNames.create(pageName); 251 267 252 268 Key<String> keyKind = 253 269 ResourceR4.KEY_CHILDREN.sub(pageRef).sub(ResourceR4.KEY_KIND); 254 270 Key<String> keyTitle = 255 271 ResourceR4.KEY_CHILDREN.sub(pageRef).sub(ResourceR4.KEY_TITLE); 256 272 257 273 SubEntryNames pageKeys = NaiveSubEntryNames.create( 258 274 ResourceR4.KEY_KIND.getId(), ResourceR4.KEY_TITLE.getId()); 259 275 map.put(ResourceR4.KEY_CHILDREN, children); … … 263 279 map.put(keyTitle, pageTitle); 264 280 return ResourceModel.EMPTY.modify(map); 265 281 } 266 282 267 283 /** 268 284 * Creates and adds a page to a book. 269 285 * … … 280 296 public static void addNewPage(ResourceChanger bookChanger, ResourceRefR4 pageRef, 281 297 ResourceRefList curPages, String title) { 282 298 int index = curPages.size(); 283 299 284 300 addNewPage(bookChanger, pageRef, curPages, title, index); 285 301 } 286 302 287 303 /** 288 304 * Creates and adds a page to a book. 289 305 * … … 308 324 pageChanger.setRaw(ResourceR4.KEY_TITLE, title); 309 325 bookChanger.setRaw(BookR4.KEY_PAGES, curPages.add(index, pageRef)); 310 326 } 311 327 312 328 /** 313 329 * Creates and adds a list of pages to a book. 314 330 * … … 328 344 ResourceRefList initialPages, ImmList<String> titles, int startIndex) { 329 345 assert pageRefs.size() == titles.size() : "Inconsistent arguments!"; 330 346 assert BookR4.KEY_PAGES.getMode(bookChanger) != TemplatedKey.Mode.LOCKED : "Not modifiable"; 331 347 332 348 ResourceRefList curPages = initialPages; 333 349 int pageCount = pageRefs.size(); 334 350 335 351 for (int i = 0; i < pageCount; i++) { 336 352 337 353 ResourceRefR4 pageRef = pageRefs.get(i); … … 341 357 pageChanger.setRaw(ResourceR4.KEY_KIND, PageR4.KIND); 342 358 pageChanger.setRaw(ResourceR4.KEY_TITLE, titles.get(i)); 343 359 } 344 360 345 361 bookChanger.setRaw(BookR4.KEY_PAGES, curPages); 346 362 } 347 363 348 364 /** 349 365 * Removes a page from a book. This method should be called from an 350 366 * {@link AutoAction}. … … 363 379 public static void removePage(ResourceChanger bookChanger, ResourceRefR4 pageRef, 364 380 ResourceRefList curPages) { 365 381 assert BookR4.KEY_PAGES.getMode(bookChanger) != TemplatedKey.Mode.LOCKED : "Not modifiable"; 366 382 367 383 bookChanger.setRaw(BookR4.KEY_PAGES, (ResourceRefList) curPages.remove(pageRef)); 368 384 bookChanger.removeResource(pageRef); 369 385 } … … 382 398 * The new index for the page. 383 399 */ 384 400 public static void movePage(ResourceChanger changer, ResourceRefList pages, final int oldIndex, final int newIndex) { 385 401 386 402 ResourceRefR4 value = pages.get(oldIndex); 387 403 ResourceRefList newPages = 388 404 ResourceRefList.create(pages.remove(oldIndex).add(newIndex, value).asList()); 389 405 changer.setRaw(BookR4.KEY_PAGES, newPages); 390 406 } 391 407 392 408 /** 393 409 * Clones a {@link BookR4}, e.g. creates a new 394 410 * {@link ResourceAccess} for the head revision of this resource. … … 399 415 * Helper for the newly creates {@link ResourceAccess}. 400 416 */ 401 417 public BookH clone(ResourceLocator locator) { 402 418 403 419 ResourceRevision clonnedRevision = ((BaseResourceAccess)getAccess() 404 420 ).cloneHeadRevision(); 405 421 406 422 407 423 ResourceAccess newAccess = locator.create(MemLocator.generateTempRef(), 408 424 AccessOptions.DEFAULT_ACCESS_OPTIONS, clonnedRevision); 409 425 return ResourceH.getHelper(newAccess, BookH.class); … … 422 438 * The initial action. 423 439 */ 424 440 public static AutoAction createInitAction(final ResourceRefR4 pageRef, 425 441 final String pageTitle) { 426 442 return new AutoAction("Create blank page.", true) { 427 443 @Override 428 444 public void performAuto() { … … 431 447 } 432 448 }; 433 449 } 434 450 435 451 @Override 436 452 public String getExportExtension() { 437 453 return ".book.s2"; -
modules/org.sophie2.main.app.commons/src/main/java/org/sophie2/main/app/commons/dialogs/TemplateDialog.java
56 56 * Keys that will be omitted in the checkbox list. 57 57 */ 58 58 private final static ImmList<TemplatedKey<?>> HIDDEN_KEYS = NaiveImmList 59 59 .<TemplatedKey<?>> create(CompositeElement.KEY_SUB_ELEMENTS); 60 60 61 61 /** 62 62 * Input for {@link TemplateDialog}. … … 117 117 * The instance of the book template helper. 118 118 */ 119 119 private static SwingDialog instance; 120 120 121 121 private static final int PANEL_HEIGHT = 300; 122 122 private static final int PANEL_WIDTH = 300; 123 123 private static final String DIALOG_TITLE = "Add template"; … … 126 126 private static final String SELECT_ALL_BUTTON_LABEL = "Select all"; 127 127 private static final String SELECT_NONE_BUTTON_LABEL = "Select none"; 128 128 private static final String TITLE_LABEL = "Template name: "; 129 private static final String DEFAULT_TEMPLATE_CHECK_BOX_LABEL = "Use as a default template"; 129 130 130 131 private JDialog dialog = null; 131 132 private JPanel mainPanel; … … 139 140 private BoundGroupCheckBox topLevelCheckBox = null; 140 141 private Map<Key<?>, SubCheckBox> keyMap = null; 141 142 private HashMap<Key<?>, Boolean> keyStates = null; 143 private SubCheckBox isDefaultTemplateCheckBox = null; 142 144 143 145 /** 144 146 * Holds the initial info for the dialog. … … 171 173 } 172 174 return instance; 173 175 } 174 176 175 177 /** 176 178 * Getter for the main panel. 177 179 * … … 205 207 } 206 208 207 209 /** 210 * Getter for the check box with the default template value. 211 * @return 212 * The check box for the default template. 213 */ 214 public SubCheckBox getIsDefaultTemplateCheckBox() { 215 if(this.isDefaultTemplateCheckBox == null) { 216 this.isDefaultTemplateCheckBox = new SubCheckBox() { 217 @Override 218 public String computeTitle() { 219 return DEFAULT_TEMPLATE_CHECK_BOX_LABEL; 220 } 221 222 @Override 223 public Boolean getDefault() { 224 return false; 225 } 226 }; 227 } 228 return this.isDefaultTemplateCheckBox; 229 } 230 /** 208 231 * Getter for the title field. 209 232 * 210 233 * @return The title {@link JTextField}. … … 215 238 this.titleField.setColumns(15); 216 239 this.titleField.setText(this.initialInfo.getTitle()); 217 240 this.titleField.addFocusListener(new FocusListener() { 218 241 219 242 @SuppressWarnings("synthetic-access") 220 243 public void focusLost(FocusEvent e) { 221 244 SwingDialog.this.titleField.select(0, 0); 222 245 223 246 } 224 247 225 248 @SuppressWarnings("synthetic-access") 226 249 public void focusGained(FocusEvent e) { 227 250 SwingDialog.this.titleField.select(0, 228 251 SwingDialog.this.titleField.getText().length()); 229 252 230 253 } 231 254 }); 232 255 } … … 261 284 @SuppressWarnings("synthetic-access") 262 285 public void actionPerformed(final ActionEvent e) { 263 286 String title = getTitleField().getText(); 287 boolean isDefault = getIsDefaultTemplateCheckBox().value().get(); 264 288 265 289 SwingDialog.this.keyStates = new HashMap<Key<?>, Boolean>(); 266 290 for (Entry<Key<?>, SubCheckBox> entry : SwingDialog.this.keyMap.entrySet()) { 267 291 SwingDialog.this.keyStates.put(entry.getKey(), entry.getValue().value().get()); 268 292 } 269 270 TemplateInfo res = new TemplateInfo(title, SwingDialog.this.keyStates );271 293 294 TemplateInfo res = new TemplateInfo(title, SwingDialog.this.keyStates, isDefault); 295 272 296 setResultInfo(res); 273 297 SwingDialog.this.dialog.setVisible(false); 298 SwingDialog.this.isDefaultTemplateCheckBox.value().set(false); 274 299 } 275 300 276 301 }); … … 332 357 @SuppressWarnings("synthetic-access") 333 358 public void actionPerformed(final ActionEvent e) { 334 359 LogicR3 335 336 337 360 .fire(SwingDialog.this.topLevelCheckBox, null, 361 null, null, 362 BoundControl.EventIds.SUBMIT, false); 338 363 } 339 364 }); 340 365 } … … 372 397 } 373 398 }; 374 399 getCheckboxPanel() 375 400 .add(this.topLevelCheckBox.swingComponent().get()); 376 401 377 402 Set<Key<?>> keys = this.initialInfo.getKeyStates().keySet(); 378 403 for (final Key<?> key : keys) { … … 399 424 } 400 425 } 401 426 } 427 this.topLevelCheckBox.subControls().add(getIsDefaultTemplateCheckBox()); 402 428 } 403 429 404 430 /* … … 414 440 ImmList<String> parts = key.getParts(); 415 441 return parts.get(parts.size() - 1); 416 442 } 417 443 418 444 @Override 419 445 public Boolean getDefault() { 420 446 return state; 421 447 } 422 448 }; 423 449 424 450 container.subControls().add(subCheckbox); 425 451 keyMap.put(key, subCheckbox); 426 452 keyStates.put(key, state); -
modules/org.sophie2.main.app.commons/src/test/java/org/sophie2/main/app/commons/dialogs/TemplateDialogDemo.java
38 38 public void run() { 39 39 SwingDialog.get().show( 40 40 (new TemplateInfo("Template test", ResourceR4 41 .getKnownKeys(FrameR4.class).values() )), null);41 .getKnownKeys(FrameR4.class).values(), false)), null); 42 42 System.exit(0); 43 43 } 44 44 }); -
modules/org.sophie2.dev/src/main/java/org/sophie2/dev/author/FakeAuthorMain.java
96 96 //Profiler.start(); 97 97 SophieLog.info("Starting fake..."); 98 98 SophieLog.setMinLevel("", LogLevel.INFO); 99 //SophieLog.setMinLevel("org.sophie2.core.mvc", LogLevel.DEBUG);99 SophieLog.setMinLevel("org.sophie2.core.mvc", LogLevel.DEBUG); 100 100 //SophieLog.setMinLevel("org.sophie2.core.modularity.FileEntryManager.fillFakeModulePaths", LogLevel.ERROR); 101 101 //SophieLog.setMinLevel("org.sophie2.base.layout", LogLevel.DEBUG); 102 102 //SophieLog.setMinLevel("org.sophie2.base.model.resources.r4", LogLevel.DEBUG); -
modules/org.sophie2.main.app.commons/src/main/java/org/sophie2/main/app/commons/dialogs/TemplateInfo.java
23 23 public static final TemplateInfo DEFAULT_INFO = new TemplateInfo(); 24 24 25 25 private String title; 26 private boolean isDefault; 26 27 private Map<Key<?>, Boolean> keyStates; 27 28 28 29 /** 30 * @return 31 * True if the template will be used as default and false otherwise. 32 */ 33 public boolean getIsDefault() { 34 return this.isDefault; 35 } 36 /** 29 37 * Getter for the title. 30 38 * 31 39 * @return … … 51 59 private TemplateInfo() { 52 60 this.title = ""; 53 61 this.keyStates = new HashMap<Key<?>, Boolean>(); 62 this.isDefault = false; 54 63 } 55 64 56 65 /** … … 60 69 * The title of the template. 61 70 * @param keyStates 62 71 * The initial states of the keys. 72 * @param isDefault 73 * The boolean value for the usage of the template. 63 74 */ 64 public TemplateInfo(String title, Map<Key<?>, Boolean> keyStates ) {75 public TemplateInfo(String title, Map<Key<?>, Boolean> keyStates, boolean isDefault) { 65 76 this.title = title; 66 77 this.keyStates = keyStates; 78 this.isDefault = isDefault; 67 79 } 68 80 69 81 /** … … 73 85 * The title of the template. 74 86 * @param keys 75 87 * The initial keys - true is used as a default state. 88 * @param isDefault 89 * The boolean value for the usage of the template. 76 90 */ 77 public TemplateInfo(String title, Collection<Key<?>> keys ) {91 public TemplateInfo(String title, Collection<Key<?>> keys, boolean isDefault) { 78 92 this.title = title; 93 this.isDefault = isDefault; 79 94 this.keyStates = new HashMap<Key<?>, Boolean>(); 80 95 for (Key<?> key : keys) { 81 96 this.keyStates.put(key, true);