Skip to content

Commit

Permalink
no message
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Mar 28, 2018
1 parent f4041d6 commit 73664be
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 22 deletions.
Expand Up @@ -713,7 +713,7 @@ public static void addIncludeOptionsForExportOrView(Collection<SelectorOptions<G
}
}

public static boolean isEnableExperimentalFeature(PageBase pageBase) {
public static boolean isEnableExperimentalFeature(ModelServiceLocator pageBase) {
Task task = pageBase.createSimpleTask("Load admin gui config");
OperationResult result = task.getResult();

Expand Down
Expand Up @@ -290,6 +290,11 @@ public <O extends ObjectType, C extends Containerable> List<ItemWrapper> createP
LOGGER.trace("Skipping creating wrapper for: {}", itemDef);
return;
}

if (itemDef.isExperimental() && !WebModelServiceUtils.isEnableExperimentalFeature(modelServiceLocator)) {
LOGGER.trace("Skipping creating wrapper for {} because it is experimental a experimental features are not enabled.", itemDef.getName());
return;
}

LOGGER.trace("Creating wrapper for {}", itemDef);
createPropertyOrReferenceWrapper(itemDef, cWrapper, propertyOrReferenceWrappers, onlyEmpty, cWrapper.getPath());
Expand Down
Expand Up @@ -28,6 +28,7 @@
import com.evolveum.midpoint.common.refinery.RefinedObjectClassDefinition;
import com.evolveum.midpoint.gui.api.util.ModelServiceLocator;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.model.api.ModelInteractionService;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.ItemDefinition;
import com.evolveum.midpoint.prism.PrismContainer;
Expand Down Expand Up @@ -220,6 +221,11 @@ private <O extends ObjectType, C extends Containerable> void addContainerWrapper
if (isIgnoreContainer(def.getTypeName())) {
continue;
}

if (def.isExperimental() && !WebModelServiceUtils.isEnableExperimentalFeature(modelServiceLocator)) {
LOGGER.trace("Skipping creating wrapper for container {} because it is experimental a experimental features are not enabled.", def.getName());
continue;
}

LOGGER.trace("ObjectWrapper.createContainerWrapper processing definition: {}", def);

Expand Down
Expand Up @@ -283,7 +283,7 @@ private void savePerformed(AjaxRequestTarget target) {
SystemConfigurationType newObject = model.getObject().getNewObject();

saveObjectPolicies(newObject);
saveAdminGui(newObject);
// saveAdminGui(newObject);


ObjectDelta<SystemConfigurationType> delta = DiffUtil.diff(model.getObject().getOldObject(), newObject);
Expand Down Expand Up @@ -359,18 +359,18 @@ private void saveObjectPolicies(SystemConfigurationType systemConfig) {
systemConfig.getDefaultObjectPolicyConfiguration().addAll(confList);
}

private void saveAdminGui(SystemConfigurationType systemConfig) {
if (adminGuiConfigPanel == null) {
return;
}
SystemConfigurationDto linksList = adminGuiConfigPanel.getModel().getObject();
//update userDashboardLink list
systemConfig.getAdminGuiConfiguration().getUserDashboardLink().clear();
systemConfig.getAdminGuiConfiguration().getUserDashboardLink().addAll(linksList.getUserDashboardLink());
//update additionalMenu list
systemConfig.getAdminGuiConfiguration().getAdditionalMenuLink().clear();
systemConfig.getAdminGuiConfiguration().getAdditionalMenuLink().addAll(linksList.getAdditionalMenuLink());
}
// private void saveAdminGui(SystemConfigurationType systemConfig) {
// if (adminGuiConfigPanel == null) {
// return;
// }
// SystemConfigurationDto linksList = adminGuiConfigPanel.getModel().getObject();
// //update userDashboardLink list
// systemConfig.getAdminGuiConfiguration().getUserDashboardLink().clear();
// systemConfig.getAdminGuiConfiguration().getUserDashboardLink().addAll(linksList.getUserDashboardLink());
// //update additionalMenu list
// systemConfig.getAdminGuiConfiguration().getAdditionalMenuLink().clear();
// systemConfig.getAdminGuiConfiguration().getAdditionalMenuLink().addAll(linksList.getAdditionalMenuLink());
// }


private void resetPerformed(AjaxRequestTarget target) {
Expand Down
Expand Up @@ -24,6 +24,11 @@ <h3>
</h3>
<div class="form-group" wicket:id="dashboardLinkEditor"></div>
<div class="form-group" wicket:id="additionalMenuItemEditor"></div>

<div class="form-group">
<label class="col-md-6"><wicket:message key="AdminGuiConfigType.enableExperimentalFeature"/></label>
<span class="col-md-6" wicket:id="enableExperimentalFeature"/>
</div>
</div>
</div>
</wicket:panel>
Expand Down
Expand Up @@ -20,12 +20,15 @@

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.StringResourceModel;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.web.component.form.multivalue.GenericMultiValueLabelEditPanel;
import com.evolveum.midpoint.web.component.input.ThreeStateBooleanPanel;
import com.evolveum.midpoint.web.component.input.TriStateComboPanel;
import com.evolveum.midpoint.web.page.admin.configuration.dto.SystemConfigurationDto;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RichHyperlinkType;

Expand All @@ -37,6 +40,7 @@ public class AdminGuiConfigPanel extends BasePanel<SystemConfigurationDto> {
private static final long serialVersionUID = 1L;
private static final String ID_DASHBOARD_LINK_EDITOR = "dashboardLinkEditor";
private static final String ID_ADDITIONAL_MENU_ITEM_EDITOR = "additionalMenuItemEditor";
private static final String ID_ENABLE_EXPERIMENTAL = "enableExperimentalFeature";
private static final String LABEL_SIZE = "col-md-4";
private static final String INPUT_SIZE = "col-md-6";

Expand All @@ -48,7 +52,7 @@ public AdminGuiConfigPanel(String id, IModel<SystemConfigurationDto> model) {
private void initLayout() {
GenericMultiValueLabelEditPanel<RichHyperlinkType> dashboardLinkEditor = new GenericMultiValueLabelEditPanel<RichHyperlinkType>(
ID_DASHBOARD_LINK_EDITOR,
new PropertyModel<>(getModel(), "userDashboardLink"),
new PropertyModel<List<RichHyperlinkType>>(getModel(), "adminGuiConfiguration.userDashboardLink"),
createStringResource("AdminGuiConfigPanel.dashboardLinksConfig"), LABEL_SIZE, INPUT_SIZE,
true) {

Expand Down Expand Up @@ -91,7 +95,7 @@ protected RichHyperlinkType createNewEmptyItem() {

GenericMultiValueLabelEditPanel<RichHyperlinkType> additionalMenuItemEditor = new GenericMultiValueLabelEditPanel<RichHyperlinkType>(
ID_ADDITIONAL_MENU_ITEM_EDITOR,
new PropertyModel<>(getModel(), "additionalMenuLink"),
new PropertyModel<List<RichHyperlinkType>>(getModel(), "adminGuiConfiguration.additionalMenuLink"),
createStringResource("AdminGuiConfigPanel.additionalMenuItemConfig"), LABEL_SIZE, INPUT_SIZE,
true) {
private static final long serialVersionUID = 1L;
Expand Down Expand Up @@ -130,7 +134,11 @@ protected RichHyperlinkType createNewEmptyItem() {
};
additionalMenuItemEditor.setOutputMarkupId(true);
add(additionalMenuItemEditor);


TriStateComboPanel enableExperimentalFeatures = new TriStateComboPanel(ID_ENABLE_EXPERIMENTAL, new PropertyModel<>(getModel(), "adminGuiConfiguration.enableExperimentalFeatures"));
enableExperimentalFeatures.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
add(enableExperimentalFeatures);

}

private WebMarkupContainer getDashboardLinkEditorContainer() {
Expand Down
Expand Up @@ -60,6 +60,8 @@ public class SystemConfigurationDto implements Serializable {
public static final String F_USER_DASHBOARD_LINK = "userDashboardLink";
public static final String F_ADDITIONAL_MENU_LINK = "additionalMenuLink";
public static final String F_DEPLOYMENT_INFORMATION = "deploymentInformation";

public static final String F_ADMIN_GUI_CONFIGURATION = "adminGuiConfiguration";
private AEPlevel aepLevel;

private class CleanupInfo implements Serializable {
Expand Down Expand Up @@ -96,11 +98,13 @@ CleanupPolicyType toConfig() {
private DeploymentInformationType deploymentInformation;

private Boolean enableExperimentalCode;


private ObjectViewDto<ValuePolicyType> passPolicyDto;
private ObjectViewDto<SecurityPolicyType> securityPolicyDto;
private List<ObjectPolicyConfigurationTypeDto> objectPolicyList;
private NotificationConfigurationDto notificationConfig;
private AdminGuiConfigurationType adminGuiConfiguration;
private List<RichHyperlinkType> userDashboardLink;
private List<RichHyperlinkType> additionalMenuLink;

Expand Down Expand Up @@ -189,8 +193,9 @@ private void init(SystemConfigurationType config) {

enableExperimentalCode = SystemConfigurationTypeUtil.isExperimentalCodeEnabled(config);

userDashboardLink = loadUserDashboardLink(config);
additionalMenuLink = loadAdditionalMenuItem(config);
// userDashboardLink = loadUserDashboardLink(config);
// additionalMenuLink = loadAdditionalMenuItem(config);
adminGuiConfiguration = config.getAdminGuiConfiguration();
}

public SystemConfigurationType getOldObject() {
Expand Down Expand Up @@ -249,6 +254,8 @@ public SystemConfigurationType getNewObject() throws DatatypeConfigurationExcept
profLogging.getClassLogger().add(profilingClassLogger);
newObject.setLogging(profLogging);
}

newObject.setAdminGuiConfiguration(adminGuiConfiguration);

return newObject;
}
Expand Down Expand Up @@ -304,9 +311,13 @@ private ObjectViewDto<SecurityPolicyType> loadSecurityPolicy(SystemConfiguration
return securityPolicyDto;
}

public DeploymentInformationType getDeploymentInformation() { return deploymentInformation; }
public DeploymentInformationType getDeploymentInformation() {
return deploymentInformation;
}

public void setDeploymentInformation(DeploymentInformationType deploymentInformation) { this.deploymentInformation = deploymentInformation; }
public void setDeploymentInformation(DeploymentInformationType deploymentInformation) {
this.deploymentInformation = deploymentInformation;
}

public String getAuditCleanupAge() {
return auditCleanup.ageValue;
Expand Down
Expand Up @@ -2935,7 +2935,7 @@ SystemConfigPanel.mail.server.remove.warn=Could not delete selected mail server
SystemConfigPanel.mail.server.tooltip=Select the mail server to configure it. To add new configuration, press '+' button. To remove selected configuration, press '-' button.
SystemConfigPanel.mail.transportSecurity=Transport security
SystemConfigPanel.mail.username=Username
SystemConfigPanel.misc.enableExperimentalCode=Enable experimental code
SystemConfigPanel.misc.enableExperimentalCode=Enable MODEL experimental code
SystemConfigPanel.notification.redirectToFile.placeholder=Filename
SystemConfigPanel.notification.redirectToFile=Redirect to file
SystemConfigPanel.title.accountSynchronization=Global account synchronization settings
Expand Down

0 comments on commit 73664be

Please sign in to comment.