| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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.apache.chemistry.opencmis.workbench.details; |
| |
| import javax.swing.BorderFactory; |
| import javax.swing.BoxLayout; |
| import javax.swing.JPanel; |
| import javax.swing.SwingUtilities; |
| |
| import org.apache.chemistry.opencmis.client.api.CmisObject; |
| import org.apache.chemistry.opencmis.workbench.actions.AclUpdatePanel; |
| import org.apache.chemistry.opencmis.workbench.actions.AddObjectToFolderPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.AppendContentStreamPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.ApplyPolicyPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.CancelCheckOutPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.CheckInPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.CheckOutPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.CopyPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.DeleteContentStreamPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.DeletePanel; |
| import org.apache.chemistry.opencmis.workbench.actions.DeleteTreePanel; |
| import org.apache.chemistry.opencmis.workbench.actions.MovePanel; |
| import org.apache.chemistry.opencmis.workbench.actions.PropertyUpdatePanel; |
| import org.apache.chemistry.opencmis.workbench.actions.RemoveObjectFromFolderPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.RemovePolicyPanel; |
| import org.apache.chemistry.opencmis.workbench.actions.SetContentStreamPanel; |
| import org.apache.chemistry.opencmis.workbench.model.ClientModel; |
| import org.apache.chemistry.opencmis.workbench.model.ClientModelEvent; |
| import org.apache.chemistry.opencmis.workbench.model.ObjectListener; |
| |
| public class ActionsPanel extends JPanel implements ObjectListener { |
| |
| private static final long serialVersionUID = 1L; |
| |
| private final ClientModel model; |
| |
| private PropertyUpdatePanel propertyUpdatePanel; |
| private DeletePanel deletePanel; |
| private DeleteTreePanel deleteTreePanel; |
| private CopyPanel copyPanel; |
| private MovePanel movePanel; |
| private CheckOutPanel checkOutPanel; |
| private CancelCheckOutPanel cancelCheckOutPanel; |
| private CheckInPanel checkInPanel; |
| private SetContentStreamPanel setContentStreamPanel; |
| private AppendContentStreamPanel appendContentStreamPanel; |
| private DeleteContentStreamPanel deleteContentStreamPanel; |
| private AddObjectToFolderPanel addObjectToFolderPanel; |
| private RemoveObjectFromFolderPanel removeObjectFromFolderPanel; |
| private AclUpdatePanel aclUpdatePanel; |
| private ApplyPolicyPanel applyPolicyPanel; |
| private RemovePolicyPanel removePolicyPanel; |
| |
| public ActionsPanel(ClientModel model) { |
| super(); |
| |
| this.model = model; |
| model.addObjectListener(this); |
| |
| createGUI(); |
| } |
| |
| public void objectLoaded(ClientModelEvent event) { |
| SwingUtilities.invokeLater(new Runnable() { |
| public void run() { |
| CmisObject object = model.getCurrentObject(); |
| |
| propertyUpdatePanel.setObject(object); |
| propertyUpdatePanel.setVisible(propertyUpdatePanel.isAllowed()); |
| |
| deletePanel.setObject(object); |
| deletePanel.setVisible(deletePanel.isAllowed()); |
| |
| deleteTreePanel.setObject(object); |
| deleteTreePanel.setVisible(deleteTreePanel.isAllowed()); |
| |
| copyPanel.setObject(object); |
| copyPanel.setVisible(copyPanel.isAllowed()); |
| |
| movePanel.setObject(object); |
| movePanel.setVisible(movePanel.isAllowed()); |
| |
| checkOutPanel.setObject(object); |
| checkOutPanel.setVisible(checkOutPanel.isAllowed()); |
| |
| cancelCheckOutPanel.setObject(object); |
| cancelCheckOutPanel.setVisible(cancelCheckOutPanel.isAllowed()); |
| |
| checkInPanel.setObject(object); |
| checkInPanel.setVisible(checkInPanel.isAllowed()); |
| |
| setContentStreamPanel.setObject(object); |
| setContentStreamPanel.setVisible(setContentStreamPanel.isAllowed()); |
| |
| appendContentStreamPanel.setObject(object); |
| appendContentStreamPanel.setVisible(appendContentStreamPanel.isAllowed()); |
| |
| deleteContentStreamPanel.setObject(object); |
| deleteContentStreamPanel.setVisible(deleteContentStreamPanel.isAllowed()); |
| |
| addObjectToFolderPanel.setObject(object); |
| addObjectToFolderPanel.setVisible(addObjectToFolderPanel.isAllowed()); |
| |
| removeObjectFromFolderPanel.setObject(object); |
| removeObjectFromFolderPanel.setVisible(removeObjectFromFolderPanel.isAllowed()); |
| |
| aclUpdatePanel.setObject(object); |
| aclUpdatePanel.setVisible(aclUpdatePanel.isAllowed()); |
| |
| applyPolicyPanel.setObject(object); |
| applyPolicyPanel.setVisible(applyPolicyPanel.isAllowed()); |
| |
| removePolicyPanel.setObject(object); |
| removePolicyPanel.setVisible(removePolicyPanel.isAllowed()); |
| } |
| }); |
| } |
| |
| private void createGUI() { |
| setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS)); |
| setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); |
| |
| propertyUpdatePanel = new PropertyUpdatePanel(model); |
| add(propertyUpdatePanel); |
| |
| deletePanel = new DeletePanel(model); |
| add(deletePanel); |
| |
| deleteTreePanel = new DeleteTreePanel(model); |
| add(deleteTreePanel); |
| |
| copyPanel = new CopyPanel(model); |
| add(copyPanel); |
| |
| movePanel = new MovePanel(model); |
| add(movePanel); |
| |
| checkOutPanel = new CheckOutPanel(model); |
| add(checkOutPanel); |
| |
| cancelCheckOutPanel = new CancelCheckOutPanel(model); |
| add(cancelCheckOutPanel); |
| |
| checkInPanel = new CheckInPanel(model); |
| add(checkInPanel); |
| |
| setContentStreamPanel = new SetContentStreamPanel(model); |
| add(setContentStreamPanel); |
| |
| appendContentStreamPanel = new AppendContentStreamPanel(model); |
| add(appendContentStreamPanel); |
| |
| deleteContentStreamPanel = new DeleteContentStreamPanel(model); |
| add(deleteContentStreamPanel); |
| |
| addObjectToFolderPanel = new AddObjectToFolderPanel(model); |
| add(addObjectToFolderPanel); |
| |
| removeObjectFromFolderPanel = new RemoveObjectFromFolderPanel(model); |
| add(removeObjectFromFolderPanel); |
| |
| applyPolicyPanel = new ApplyPolicyPanel(model); |
| add(applyPolicyPanel); |
| |
| aclUpdatePanel = new AclUpdatePanel(model); |
| add(aclUpdatePanel); |
| |
| removePolicyPanel = new RemovePolicyPanel(model); |
| add(removePolicyPanel); |
| } |
| } |