Skip to content
Snippets Groups Projects
Commit 92795a7f authored by Andreas Bayha's avatar Andreas Bayha
Browse files

Merge remote-tracking branch 'remotes/origin/master' into 4279

parents b66edde0 b41ae985
No related branches found
No related tags found
1 merge request!2114279
Pipeline #39418 passed
Pipeline: maven-releng

#39419

    Showing
    with 201 additions and 909 deletions
    ......@@ -25,11 +25,11 @@
    [submodule "org.fortiss.tooling.spiderchart.ui/.settings"]
    path = org.fortiss.tooling.spiderchart.ui/.settings
    url = https://git.fortiss.org/af3/plugin-settings.git
    [submodule "org.fortiss.tooling.variability/.settings"]
    path = org.fortiss.tooling.variability/.settings
    [submodule "org.fortiss.tooling.ext.variability/.settings"]
    path = org.fortiss.tooling.ext.variability/.settings
    url = https://git.fortiss.org/af3/plugin-settings.git
    [submodule "org.fortiss.tooling.variability.ui/.settings"]
    path = org.fortiss.tooling.variability.ui/.settings
    [submodule "org.fortiss.tooling.ext.variability.ui/.settings"]
    path = org.fortiss.tooling.ext.variability.ui/.settings
    url = https://git.fortiss.org/af3/plugin-settings.git
    [submodule "org.fortiss.variability/.settings"]
    path = org.fortiss.variability/.settings
    ......
    DynamicTreeTableNameProvider.java 3ca45f24b94e97b02313e80b16ba8b370f541541 GREEN
    ModelElementTreeViewer.java c27c57ae21b32de790c6fb5a86695dd5952fcf32 GREEN
    ModelElementTreeViewer.java 83a3693cf820161e42e7d84a697a3cd0d55f8c1f GREEN
    ......@@ -18,9 +18,6 @@ package org.fortiss.tooling.base.ui.javafx.control.treetableview;
    import static javafx.embed.swt.SWTFXUtils.toFXImage;
    import static org.fortiss.tooling.kernel.ui.util.KernelUIUtils.getName;
    import java.util.ArrayList;
    import java.util.List;
    import org.fortiss.tooling.base.model.element.IHierarchicElement;
    import org.fortiss.tooling.base.model.element.IModelElement;
    import org.fortiss.tooling.common.ui.javafx.AF3FXViewPart;
    ......@@ -32,8 +29,6 @@ import org.fortiss.tooling.kernel.model.INamedElement;
    import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
    import javafx.scene.Node;
    import javafx.scene.control.ContextMenu;
    import javafx.scene.control.MenuItem;
    import javafx.scene.control.TreeView;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    ......@@ -74,25 +69,11 @@ public class ModelElementTreeViewer<T extends INamedElement> {
    }
    return null;
    }
    /** {@inheritDoc} */
    @Override
    public ContextMenu createContextMenu(T element) {
    ContextMenu menu = new ContextMenu();
    contextMenuEntries.forEach(entry -> menu.getItems().add(entry));
    return menu;
    }
    }
    /** References the constructed {@link DynamicTreeViewer} "controller". */
    protected DynamicTreeViewer<T> dynTreeViewer;
    /**
    * List of context menu entries that supplied by clients (see
    * {@link #addContextMenuEntry(MenuItem)}).
    */
    protected List<MenuItem> contextMenuEntries = new ArrayList<>();
    /** Constructor. */
    public ModelElementTreeViewer(TreeView<T> treeView, T modelRoot,
    DynamicTreeContentProviderBase<T> contentProvider) {
    ......@@ -112,18 +93,6 @@ public class ModelElementTreeViewer<T extends INamedElement> {
    return new ModelElementUIProvider();
    }
    /**
    * Method to define context {@link MenuItem}s for items of the underlying content. The given
    * function may use the selected element (given as a parameter to the function) to define
    * dynamic behavior.
    *
    * @param menuItem
    * {@link MenuItem} and its logic to be added to the context menu.
    */
    public void addContextMenuEntry(MenuItem menuItem) {
    contextMenuEntries.add(menuItem);
    }
    /** Update the internal viewer. */
    public void update() {
    dynTreeViewer.update();
    ......
    ......@@ -6,10 +6,11 @@ DynamicTreeContentProviderBase.java 91896b1fb5104d126544c44c1ff8c30f2a13a8d6 GRE
    DynamicTreeItem.java 7e81ea98038b5eca90df583e0268d4e8f37aaf25 GREEN
    DynamicTreeItemBase.java d883066ecc181120302ca32f328538de7a45b093 GREEN
    DynamicTreeTableUIProviderBase.java c52a1f9598de25874f83c133a8cbbcddc86442e9 GREEN
    DynamicTreeTableViewer.java 77e9995a3bee37d57578dad9434a53c702128efa YELLOW
    DynamicTreeUIProviderBase.java 82d3c051213f0147f4c67ad247a08696cee73110 GREEN
    DynamicTreeViewer.java 33066062a82101cf28410e4d04f85bb9c24251db GREEN
    DynamicTreeTableViewer.java 6e1fcc7a45076d741b80c3a5642a5c688fc651a6 GREEN
    DynamicTreeUIProviderBase.java 606d2f199f82aba3fcc33f96caa07157b087cbe5 GREEN
    DynamicTreeViewer.java b0d8cc4b3e11aa970446af12d1e54c750713b297 GREEN
    DynamicTreeViewerBase.java a2013538b62d86f6a09efdf2cd78babac2072484 GREEN
    EmptyChildrenContentProvider.java 51b4468f9df8423abeea5ac6aa2f6cf99c2eb512 GREEN
    IDoubleClickHandler.java 447f7769dead9a106b3ea3139ef0da51eb0b9a89 GREEN
    IDynamicItem.java 083d02459e7ec33542d9910c04abe2581e0b5422 GREEN
    TreeContextMenuItem.java 893b1ca2535bb581e192b0f351429957de6766da GREEN
    ......@@ -210,6 +210,16 @@ public final class DynamicTreeTableViewer<T> extends DynamicTreeViewerBase<T> {
    view.scrollTo(count);
    }
    /** Clears the current selection. */
    public void clearSelection() {
    view.getSelectionModel().clearSelection();
    }
    /** Selects the items referencing the provided values (a previous selection is NOT cleared). */
    public void selectValues(List<T> values) {
    selectValues(view.getRoot(), values);
    }
    /** Selects the given values in item's subtree */
    private void selectValues(TreeItem<T> item, List<T> values) {
    if(values.contains(item.getValue())) {
    ......
    ......@@ -13,6 +13,9 @@
    *******************************************************************************/
    package org.fortiss.tooling.common.ui.javafx.control.treetableview;
    import java.util.ArrayList;
    import java.util.List;
    import javafx.scene.Node;
    import javafx.scene.control.ContextMenu;
    import javafx.scene.control.TreeItem;
    ......@@ -55,12 +58,27 @@ public abstract class DynamicTreeUIProviderBase<T> {
    }
    /**
    * @param element
    * the displayed element
    * @return the context menu
    * List of context menu entries types supplied by clients
    * (see{@link #addContextMenuEntry(Class)}).
    */
    public ContextMenu createContextMenu(T element) {
    return null;
    private List<Class<? extends TreeContextMenuItem<T>>> contextMenuEntryTypes = new ArrayList<>();
    /**
    * Method to define context {@link TreeContextMenuItem}s. Depending on the selected content, the
    * editor will show and enable the context menu. {@code null} may be used to denote menu
    * separators.
    */
    protected void addContextMenuEntry(Class<? extends TreeContextMenuItem<T>> menuItemType) {
    contextMenuEntryTypes.add(menuItemType);
    }
    /**
    * Creates a context menu based on the the {@link TreeContextMenuItem} types registered via
    * {@link #addContextMenuEntry(Class)}.
    */
    /** package */
    final ContextMenu createContextMenu(T element) {
    return TreeContextMenuItem.createTreeContextMenu(contextMenuEntryTypes, element);
    }
    /**
    ......
    ......@@ -102,6 +102,7 @@ public final class DynamicTreeViewer<T> extends DynamicTreeViewerBase<T> {
    // wild cast works: see constructor
    DynamicTreeItemBase<T> rootItem = (DynamicTreeItemBase<T>)view.getRoot();
    rootItem.update();
    view.refresh();
    }
    /** Sets the selection of this tree view. */
    ......
    /*-------------------------------------------------------------------------+
    | Copyright 2023 fortiss GmbH |
    | |
    | Licensed under the Apache License, Version 2.0 (the "License"); |
    | you may not use this file except in compliance with the License. |
    | You may obtain a copy of the License at |
    | |
    | http://www.apache.org/licenses/LICENSE-2.0 |
    | |
    | Unless required by applicable law or agreed to in writing, software |
    | distributed under the License is distributed on an "AS IS" BASIS, |
    | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
    | See the License for the specific language governing permissions and |
    | limitations under the License. |
    +--------------------------------------------------------------------------*/
    package org.fortiss.tooling.common.ui.javafx.control.treetableview;
    import static javafx.embed.swt.SWTFXUtils.toFXImage;
    import java.lang.reflect.Constructor;
    import java.util.List;
    import org.eclipse.jface.resource.ImageDescriptor;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Node;
    import javafx.scene.control.ContextMenu;
    import javafx.scene.control.MenuItem;
    import javafx.scene.control.SeparatorMenuItem;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    /**
    * Base class for {@link MenuItem}s used by {@link DynamicTreeViewer}s (but in principle generally
    * applicable for JavaFX {@link ContextMenu}s).
    * <ul>
    * <li>Subclasses must provide exactly one public constructor that takes the underlying tree element
    * as single argument.</li>
    * <li>Instances must be created using factory method
    * {@link #createTreeContextMenu(List, Object)}.</li>
    * </ul>
    */
    public abstract class TreeContextMenuItem<T> extends MenuItem {
    /** The model element on which the context menu operates. */
    private T element;
    /** Constructor. */
    protected TreeContextMenuItem(T element, String label) {
    super(label);
    init(element);
    }
    /** Constructor. */
    protected TreeContextMenuItem(T element, String label, Node graphic) {
    super(label, graphic);
    init(element);
    }
    /** Constructor. */
    protected TreeContextMenuItem(T element, String label, ImageDescriptor imgDescr) {
    this(element, label, getSelectIcon(imgDescr));
    }
    /** Helper to build the select icon. */
    private static Node getSelectIcon(ImageDescriptor imgDescr) {
    Image fxIcon = toFXImage(imgDescr.getImageData(100), null);
    return new ImageView(fxIcon);
    }
    /** Helper for constructors. */
    private void init(T element) {
    this.element = element;
    setOnAction(createOnActionHandler());
    }
    /** Getter for {@link #element}. */
    protected T getElement() {
    return element;
    }
    /** Predicate iff this {@link TreeContextMenuItem} is hidden. */
    public abstract boolean isHidden();
    /** Predicate when this {@link TreeContextMenuItem} is disabled. */
    public abstract boolean isDisabled();
    /**
    * Factory method for {@link EventHandler} that implements the action triggered by the
    * context menu.
    */
    protected abstract EventHandler<ActionEvent> createOnActionHandler();
    /**
    * Factory method for a {@link ContextMenu} defined based on {@link TreeContextMenuItem}s.
    * {@code null} may be used to denote menu separators.
    */
    public static <T> ContextMenu createTreeContextMenu(
    List<Class<? extends TreeContextMenuItem<T>>> contextMenuEntryTypes, T element) {
    boolean previousWasItem = false;
    boolean needSeparator = false;
    ContextMenu menu = new ContextMenu();
    for(Class<? extends TreeContextMenuItem<T>> entryType : contextMenuEntryTypes) {
    if(entryType == null) {
    if(previousWasItem) {
    // Separator is only needed if there is a preceding visible item
    needSeparator = true;
    previousWasItem = false;
    }
    } else {
    try {
    Constructor<?>[] ctrs = entryType.getConstructors();
    if(ctrs.length != 1) {
    throw new RuntimeException(
    "Subclasses of TreeContextMenuItem must provide exactly one public constructor");
    }
    @SuppressWarnings("unchecked") Constructor<? extends TreeContextMenuItem<T>> ctr =
    (Constructor<? extends TreeContextMenuItem<T>>)ctrs[0];
    if(ctr.getParameterCount() != 1) {
    throw new RuntimeException(
    "The constructor of subclasses of TreeContextMenuItem must take the tree element for which the context menu is created as single argument.");
    }
    TreeContextMenuItem<?> entry = ctr.newInstance(element);
    if(!entry.isHidden()) {
    // Add separator only if there is a subsequent visible item
    if(needSeparator) {
    menu.getItems().add(new SeparatorMenuItem());
    needSeparator = false;
    }
    menu.getItems().add(entry);
    entry.setDisable(entry.isDisabled());
    previousWasItem = true;
    }
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
    return menu;
    }
    }
    Subproject commit 310d1c04f28f6252d5a02dd8fde1b76ae4a4da51
    eclipse.preferences.version=1
    encoding/<project>=US-ASCII
    eclipse.preferences.version=1
    editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
    formatter_profile=_fortiss
    formatter_settings_version=12
    org.eclipse.jdt.ui.javadoc=true
    org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/** Returns ${bare_field_name}. */</template><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/** Sets ${bare_field_name}. */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*-------------------------------------------------------------------------+\n| Copyright ${year} fortiss GmbH |\n| |\n| Licensed under the Apache License, Version 2.0 (the "License"); |\n| you may not use this file except in compliance with the License. |\n| You may obtain a copy of the License at |\n| |\n| http\://www.apache.org/licenses/LICENSE-2.0 |\n| |\n| Unless required by applicable law or agreed to in writing, software |\n| distributed under the License is distributed on an "AS IS" BASIS, |\n| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |\n| See the License for the specific language governing permissions and |\n| limitations under the License. |\n+--------------------------------------------------------------------------*/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n*/</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">\n/** */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/** {@inheritDoc} */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-JSDoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
    sp_cleanup.add_default_serial_version_id=true
    sp_cleanup.add_generated_serial_version_id=false
    sp_cleanup.add_missing_annotations=true
    sp_cleanup.add_missing_deprecated_annotations=true
    sp_cleanup.add_missing_methods=false
    sp_cleanup.add_missing_nls_tags=false
    sp_cleanup.add_missing_override_annotations=true
    sp_cleanup.add_missing_override_annotations_interface_methods=true
    sp_cleanup.add_serial_version_id=false
    sp_cleanup.always_use_blocks=true
    sp_cleanup.always_use_parentheses_in_expressions=false
    sp_cleanup.always_use_this_for_non_static_field_access=false
    sp_cleanup.always_use_this_for_non_static_method_access=false
    sp_cleanup.convert_to_enhanced_for_loop=false
    sp_cleanup.correct_indentation=false
    sp_cleanup.format_source_code=true
    sp_cleanup.format_source_code_changes_only=false
    sp_cleanup.make_local_variable_final=false
    sp_cleanup.make_parameters_final=false
    sp_cleanup.make_private_fields_final=true
    sp_cleanup.make_type_abstract_if_missing_method=false
    sp_cleanup.make_variable_declarations_final=true
    sp_cleanup.never_use_blocks=false
    sp_cleanup.never_use_parentheses_in_expressions=true
    sp_cleanup.on_save_use_additional_actions=false
    sp_cleanup.organize_imports=true
    sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
    sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
    sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
    sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
    sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
    sp_cleanup.remove_private_constructors=true
    sp_cleanup.remove_trailing_whitespaces=false
    sp_cleanup.remove_trailing_whitespaces_all=true
    sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
    sp_cleanup.remove_unnecessary_casts=true
    sp_cleanup.remove_unnecessary_nls_tags=false
    sp_cleanup.remove_unused_imports=false
    sp_cleanup.remove_unused_local_variables=false
    sp_cleanup.remove_unused_private_fields=true
    sp_cleanup.remove_unused_private_members=false
    sp_cleanup.remove_unused_private_methods=true
    sp_cleanup.remove_unused_private_types=true
    sp_cleanup.sort_members=false
    sp_cleanup.sort_members_all=false
    sp_cleanup.use_blocks=false
    sp_cleanup.use_blocks_only_for_return_and_throw=false
    sp_cleanup.use_parentheses_in_expressions=false
    sp_cleanup.use_this_for_non_static_field_access=false
    sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
    sp_cleanup.use_this_for_non_static_method_access=false
    sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
    activeProfiles=
    eclipse.preferences.version=1
    resolveWorkspaceProjects=true
    version=1
    Subproject commit 310d1c04f28f6252d5a02dd8fde1b76ae4a4da51
    eclipse.preferences.version=1
    encoding/<project>=US-ASCII
    eclipse.preferences.version=1
    editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
    formatter_profile=_fortiss
    formatter_settings_version=12
    org.eclipse.jdt.ui.javadoc=true
    org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/** Returns ${bare_field_name}. */</template><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/** Sets ${bare_field_name}. */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*-------------------------------------------------------------------------+\n| Copyright ${year} fortiss GmbH |\n| |\n| Licensed under the Apache License, Version 2.0 (the "License"); |\n| you may not use this file except in compliance with the License. |\n| You may obtain a copy of the License at |\n| |\n| http\://www.apache.org/licenses/LICENSE-2.0 |\n| |\n| Unless required by applicable law or agreed to in writing, software |\n| distributed under the License is distributed on an "AS IS" BASIS, |\n| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |\n| See the License for the specific language governing permissions and |\n| limitations under the License. |\n+--------------------------------------------------------------------------*/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n*/</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">\n/** */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/** {@inheritDoc} */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-JSDoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
    sp_cleanup.add_default_serial_version_id=true
    sp_cleanup.add_generated_serial_version_id=false
    sp_cleanup.add_missing_annotations=true
    sp_cleanup.add_missing_deprecated_annotations=true
    sp_cleanup.add_missing_methods=false
    sp_cleanup.add_missing_nls_tags=false
    sp_cleanup.add_missing_override_annotations=true
    sp_cleanup.add_missing_override_annotations_interface_methods=true
    sp_cleanup.add_serial_version_id=false
    sp_cleanup.always_use_blocks=true
    sp_cleanup.always_use_parentheses_in_expressions=false
    sp_cleanup.always_use_this_for_non_static_field_access=false
    sp_cleanup.always_use_this_for_non_static_method_access=false
    sp_cleanup.convert_to_enhanced_for_loop=false
    sp_cleanup.correct_indentation=false
    sp_cleanup.format_source_code=true
    sp_cleanup.format_source_code_changes_only=false
    sp_cleanup.make_local_variable_final=false
    sp_cleanup.make_parameters_final=false
    sp_cleanup.make_private_fields_final=true
    sp_cleanup.make_type_abstract_if_missing_method=false
    sp_cleanup.make_variable_declarations_final=true
    sp_cleanup.never_use_blocks=false
    sp_cleanup.never_use_parentheses_in_expressions=true
    sp_cleanup.on_save_use_additional_actions=false
    sp_cleanup.organize_imports=true
    sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
    sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
    sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
    sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
    sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
    sp_cleanup.remove_private_constructors=true
    sp_cleanup.remove_trailing_whitespaces=false
    sp_cleanup.remove_trailing_whitespaces_all=true
    sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
    sp_cleanup.remove_unnecessary_casts=true
    sp_cleanup.remove_unnecessary_nls_tags=false
    sp_cleanup.remove_unused_imports=false
    sp_cleanup.remove_unused_local_variables=false
    sp_cleanup.remove_unused_private_fields=true
    sp_cleanup.remove_unused_private_members=false
    sp_cleanup.remove_unused_private_methods=true
    sp_cleanup.remove_unused_private_types=true
    sp_cleanup.sort_members=false
    sp_cleanup.sort_members_all=false
    sp_cleanup.use_blocks=false
    sp_cleanup.use_blocks_only_for_return_and_throw=false
    sp_cleanup.use_parentheses_in_expressions=false
    sp_cleanup.use_this_for_non_static_field_access=false
    sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
    sp_cleanup.use_this_for_non_static_method_access=false
    sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
    activeProfiles=
    eclipse.preferences.version=1
    resolveWorkspaceProjects=true
    version=1
    ......@@ -11,9 +11,11 @@ Bundle-RequiredExecutionEnvironment: JavaSE-11
    Bundle-ActivationPolicy: lazy
    Bundle-Activator: org.fortiss.tooling.ext.variability.ToolingVariabilityActivator
    Require-Bundle: org.fortiss.variability;visibility:=reexport,
    org.fortiss.tooling.base
    Export-Package: org.fortiss.tooling.ext.variability.model,
    org.fortiss.tooling.ext.variability.service,
    org.fortiss.tooling.ext.variability.util,
    org.fortiss.tooling.base,
    com.microsoft.z3
    Export-Package: org.fortiss.tooling.ext.variability.analysis,
    org.fortiss.tooling.ext.variability.model,
    org.fortiss.tooling.ext.variability.model.impl,
    org.fortiss.tooling.ext.variability.model.util
    org.fortiss.tooling.ext.variability.model.util,
    org.fortiss.tooling.ext.variability.service,
    org.fortiss.tooling.ext.variability.util
    OptimizedProductLineAnalysisBase.java 35a40c860cc8a9774a894600935c1ae89a5681a0 GREEN
    OptimizedProductLineTranslation.java 415361dd35a04db219b06a1e40079452d7079b34 GREEN
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment