/*
* Copyright (c) 2016 Evolveum
*
* 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 com.evolveum.midpoint.web.component.objectdetails;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.assignment.*;
import com.evolveum.midpoint.web.component.form.Form;
import com.evolveum.midpoint.web.component.prism.ObjectWrapper;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import java.util.List;
/**
* @author Kate Honchar
*/
public class RequestAssignmentTabPanel<F extends FocusType> extends AbstractObjectTabPanel<F> {
private static final long serialVersionUID = 1L;
private static final String DOT_CLASS = RequestAssignmentTabPanel.class.getName();
private static final Trace LOGGER = TraceManager.getTrace(RequestAssignmentTabPanel.class);
private static final String ID_MAIN_PANEL = "mainPanel";
private LoadableModel<List<AssignmentEditorDto>> assignmentsModel;
public RequestAssignmentTabPanel(String id, Form mainForm, LoadableModel<ObjectWrapper<F>> focusWrapperModel,
LoadableModel<List<AssignmentEditorDto>> assignmentsModel, PageBase page) {
super(id, mainForm, focusWrapperModel, page);
this.assignmentsModel = assignmentsModel;
initLayout(focusWrapperModel, page);
}
private void initLayout(LoadableModel<ObjectWrapper<F>> focusWrapperModel, PageBase page) {
Class targetFocusClass = getObjectWrapper().getObject().getCompileTimeClass();
MultipleAssignmentSelectorPanel<F, UserType, RoleType> panel = new MultipleAssignmentSelectorPanel<F, UserType, RoleType>(ID_MAIN_PANEL,
assignmentsModel, focusWrapperModel.getObject().getObject(), targetFocusClass, RoleType.class, page);
add(panel);
}
}