@Override
    public String buildContext() {
        final PluginDO after = (PluginDO) getAfter();
        if (Objects.isNull(getBefore())) {
            return String.format("the plugin [%s] is %s", after.getName(), StringUtils.lowerCase(getType().getType().toString()));
        }
        return String.format("the plugin [%s] is %s : %s", after.getName(), StringUtils.lowerCase(getType().getType().toString()), contrast());
        
    }
@Test
    public void updatePluginBuildContextTest() {
        String eventTypeStr = StringUtils.lowerCase(EventTypeEnum.PLUGIN_UPDATE.getType().toString());
        PluginChangedEvent pluginUpdateEventWithoutChange = new PluginChangedEvent(pluginDO, pluginDO, EventTypeEnum.PLUGIN_UPDATE, "test-operator");
        String withoutChangeContrast = "it no change";
        String context =
                String.format("the plugin [%s] is %s : %s", pluginDO.getName(), eventTypeStr, withoutChangeContrast);
        assertEquals(context, pluginUpdateEventWithoutChange.buildContext());

        PluginChangedEvent pluginUpdateEventNotSameDO = new PluginChangedEvent(withoutChangePluginDO, pluginDO, EventTypeEnum.PLUGIN_UPDATE, "test-operator");
        assertEquals(context, pluginUpdateEventNotSameDO.buildContext());

        final StringBuilder contrast = new StringBuilder();
        contrast.append(String.format("name[%s => %s] ", pluginDO.getName(), changePluginDO.getName()));
        contrast.append(String.format("config[%s => %s] ", pluginDO.getConfig(), changePluginDO.getConfig()));
        contrast.append(String.format("role[%s => %s] ", pluginDO.getRole(), changePluginDO.getRole()));
        contrast.append(String.format("enable[%s => %s] ", pluginDO.getEnabled(), changePluginDO.getEnabled()));
        contrast.append(String.format("sort[%s => %s] ", pluginDO.getSort(), changePluginDO.getSort()));
        String changeContext = String.format("the plugin [%s] is %s : %s", changePluginDO.getName(), eventTypeStr, contrast);

        PluginChangedEvent pluginUpdateEventChange = new PluginChangedEvent(changePluginDO, pluginDO, EventTypeEnum.PLUGIN_UPDATE, "test-operator");
        assertEquals(changeContext, pluginUpdateEventChange.buildContext());
    }