package org.orienteer.core.component.command; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.event.Broadcast; import org.apache.wicket.model.ResourceModel; import org.orienteer.core.component.BootstrapType; import org.orienteer.core.component.FAIconType; import org.orienteer.core.component.table.OrienteerDataTable; import com.orientechnologies.orient.core.metadata.OMetadata; import com.orientechnologies.orient.core.metadata.schema.OClass; import com.orientechnologies.orient.core.metadata.schema.OSchema; import com.orientechnologies.orient.core.metadata.security.ODatabaseSecurityResources; import com.orientechnologies.orient.core.metadata.security.ORule; 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; /** * {@link Command} to reload {@link OMetadata}/{@link OSchema} */ @RequiredOrientResources({ @RequiredOrientResource(value = OSecurityHelper.DATABASE, permissions=OrientPermission.READ), @RequiredOrientResource(value = OSecurityHelper.SYSTEM_CLUSTERS, permissions=OrientPermission.READ), }) public class ReloadOMetadataCommand extends AjaxCommand<OClass> { private static final long serialVersionUID = 1L; public ReloadOMetadataCommand(OrienteerDataTable<OClass, ?> table) { super(new ResourceModel("command.reload"), table); setIcon(FAIconType.refresh); setBootstrapType(BootstrapType.WARNING); } @Override public void onClick(AjaxRequestTarget target) { getDatabase().getMetadata().reload(); } }