package org.orienteer.core.component.command; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; import org.apache.wicket.model.ResourceModel; import org.orienteer.core.component.BootstrapType; import org.orienteer.core.component.FAIconType; import org.orienteer.core.component.command.modal.ImportDialogPanel; import org.orienteer.core.component.table.OrienteerDataTable; import ru.ydn.wicket.wicketorientdb.security.OSecurityHelper; import ru.ydn.wicket.wicketorientdb.security.OrientPermission; import ru.ydn.wicket.wicketorientdb.security.RequiredOrientResource; import ru.ydn.wicket.wicketorientdb.security.RequiredOrientResources; import com.orientechnologies.orient.core.metadata.schema.OClass; import com.orientechnologies.orient.core.metadata.security.ODatabaseSecurityResources; import com.orientechnologies.orient.core.metadata.security.ORule; /** * {@link Command} to import schema. * Additional modal window will be displayed */ @RequiredOrientResources({ @RequiredOrientResource(value = OSecurityHelper.SCHEMA, permissions={OrientPermission.CREATE, OrientPermission.UPDATE}), @RequiredOrientResource(value = OSecurityHelper.SYSTEM_CLUSTERS, permissions={OrientPermission.CREATE, OrientPermission.UPDATE}) }) public class ImportOSchemaCommand extends AbstractModalWindowCommand<OClass> { public ImportOSchemaCommand(OrienteerDataTable<OClass, ?> table) { super(new ResourceModel("command.import"), table); setIcon(FAIconType.upload); setBootstrapType(BootstrapType.SUCCESS); } @Override protected void initializeContent(ModalWindow modal) { modal.setTitle(new ResourceModel("command.import.modal.title")); modal.setContent(new ImportDialogPanel(modal.getContentId(), modal) { @Override public void onImportFinished(AjaxRequestTarget target) { sendActionPerformed(); } }); } }