use of org.jowidgets.plugin.api.IPluginProperties in project jo-client-platform by jo-source.
the class BeanTableImpl method getMenuInterceptorsFromPlugins.
@SuppressWarnings({ "unchecked", "rawtypes" })
private List<IBeanTableMenuInterceptor<BEAN_TYPE>> getMenuInterceptorsFromPlugins(final IBeanTableMenuInterceptor<BEAN_TYPE> initialInterceptor, final Object entityId, final Class<BEAN_TYPE> beanType) {
final List<IBeanTableMenuInterceptor<BEAN_TYPE>> result = new LinkedList<IBeanTableMenuInterceptor<BEAN_TYPE>>();
if (initialInterceptor != null) {
result.add(initialInterceptor);
}
final IPluginPropertiesBuilder propBuilder = PluginToolkit.pluginPropertiesBuilder();
propBuilder.add(IBeanTableMenuInterceptorPlugin.ENTITIY_ID_PROPERTY_KEY, entityId);
propBuilder.add(IBeanTableMenuInterceptorPlugin.BEAN_TYPE_PROPERTY_KEY, beanType);
final IPluginProperties properties = propBuilder.build();
final List<IBeanTableMenuInterceptorPlugin<?>> plugins = PluginProvider.getPlugins(IBeanTableMenuInterceptorPlugin.ID, properties);
for (final IBeanTableMenuInterceptorPlugin plugin : plugins) {
final IBeanTableMenuInterceptor<?> interceptor = plugin.getMenuInterceptor(properties, this);
if (interceptor != null) {
result.add((IBeanTableMenuInterceptor<BEAN_TYPE>) interceptor);
}
}
return result;
}
use of org.jowidgets.plugin.api.IPluginProperties in project jo-client-platform by jo-source.
the class EntityServiceAttributesFactory method createModifiedByPluginsAttributes.
@SuppressWarnings({ "unchecked", "rawtypes" })
private static List<IAttribute<Object>> createModifiedByPluginsAttributes(final Object entityId, final Class<?> beanType, final Collection<IAttribute<Object>> attributes) {
List result = new LinkedList(attributes);
final IPluginPropertiesBuilder propBuilder = PluginToolkit.pluginPropertiesBuilder();
propBuilder.add(IAttributePlugin.ENTITIY_ID_PROPERTY_KEY, entityId);
propBuilder.add(IAttributePlugin.BEAN_TYPE_PROPERTY_KEY, beanType);
final IPluginProperties properties = propBuilder.build();
for (final IAttributePlugin plugin : PluginProvider.getPlugins(IAttributePlugin.ID, properties)) {
result = plugin.modifyAttributes(properties, result);
}
return result;
}
use of org.jowidgets.plugin.api.IPluginProperties in project jo-client-platform by jo-source.
the class EntityRelationTreeDetailView method initialize.
void initialize(final IBeanTable<?> rootTable, final IBeanRelationTree<?> relationTree, final Collection<IAction> linkCreatorActions) {
if (!intialized) {
final IContainer container = context.getContainer();
container.setLayout(MigLayoutFactory.growingInnerCellLayout());
final ICapApiBluePrintFactory cbpf = CapUiToolkit.bluePrintFactory();
final IBeanRelationTreeDetailBluePrint<?> treeDetailBp = cbpf.beanRelationTreeDetail(relationTree.getModel());
final IBeanRelationTreeDetail<?> relationTreeDetail = container.add(treeDetailBp, MigLayoutFactory.GROWING_CELL_CONSTRAINTS);
final IBeanTableModel<?> rootTableModel = rootTable.getModel();
final IPluginPropertiesBuilder propBuilder = PluginProperties.builder();
propBuilder.add(IEntityComponentRelationTreeDetailViewPlugin.BEAN_TYPE_PROPERTY_KEY, rootTableModel.getBeanType());
propBuilder.add(IEntityComponentRelationTreeDetailViewPlugin.ENTITIY_ID_PROPERTY_KEY, rootTableModel.getEntityId());
final IPluginProperties pluginProperties = propBuilder.build();
final List<IEntityComponentRelationTreeDetailViewPlugin> plugins = PluginProvider.getPlugins(IEntityComponentRelationTreeDetailViewPlugin.ID, pluginProperties);
for (final IEntityComponentRelationTreeDetailViewPlugin plugin : plugins) {
plugin.onInitialize(pluginProperties, context, rootTable, relationTree, relationTreeDetail, linkCreatorActions);
}
intialized = true;
}
}
use of org.jowidgets.plugin.api.IPluginProperties in project jo-client-platform by jo-source.
the class EntityRelationTreeView method initialize.
void initialize(final IBeanTable<?> rootTable, final IBeanRelationTreeModel<?> parentModel, final IBeanRelationTreeMenuInterceptor treeMenuInterceptor, final Collection<IAction> linkCreatorActions) {
if (!intialized) {
final IContainer container = context.getContainer();
container.setLayout(MigLayoutFactory.growingInnerCellLayout());
final IBeanRelationTreeBluePrint<?> beanRelationTreeBp = CapUiToolkit.bluePrintFactory().beanRelationTree(parentModel);
beanRelationTreeBp.setRootCreatorAction(rootTable.getDefaultCreatorAction());
beanRelationTreeBp.addMenuInterceptor(treeMenuInterceptor);
this.tree = container.add(beanRelationTreeBp, MigLayoutFactory.GROWING_CELL_CONSTRAINTS);
final IBeanTableModel<?> rootTableModel = rootTable.getModel();
final IPluginPropertiesBuilder propBuilder = PluginProperties.builder();
propBuilder.add(IEntityComponentRelationTreeViewPlugin.BEAN_TYPE_PROPERTY_KEY, rootTableModel.getBeanType());
propBuilder.add(IEntityComponentRelationTreeViewPlugin.ENTITIY_ID_PROPERTY_KEY, rootTableModel.getEntityId());
final IPluginProperties pluginProperties = propBuilder.build();
final List<IEntityComponentRelationTreeViewPlugin> plugins = PluginProvider.getPlugins(IEntityComponentRelationTreeViewPlugin.ID, pluginProperties);
for (final IEntityComponentRelationTreeViewPlugin plugin : plugins) {
plugin.onInitialize(pluginProperties, context, rootTable, tree, linkCreatorActions);
}
intialized = true;
}
}
Aggregations