@Override public InstanceContainer<E> getInstanceContainer(E item) { if (fieldDatasources == null) { fieldDatasources = new WeakHashMap<>(); } Object fieldDatasource = fieldDatasources.get(item); if (fieldDatasource instanceof InstanceContainer) { //noinspection unchecked return (InstanceContainer<E>) fieldDatasource; } EntityTableItems containerTableItems = (EntityTableItems) getItems(); InstanceContainer<E> instanceContainer = dataComponents.createInstanceContainer( containerTableItems.getEntityMetaClass().getJavaClass()); View view = viewRepository.getView(containerTableItems.getEntityMetaClass(), "_local"); instanceContainer.setView(view); instanceContainer.setItem(item); fieldDatasources.put(item, instanceContainer); return instanceContainer; }
protected void loadCollectionContainer(ScreenData screenData, Element element, @Nullable ScreenData hostScreenData) { String containerId = getRequiredAttr(element, "id"); CollectionContainer<Entity> container; if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions container = hostScreenData.getContainer(containerId); } else { container = factory.createCollectionContainer(getEntityClass(element)); loadView(element, getEntityClass(element), container); } screenData.registerContainer(containerId, container); Element loaderEl = element.element("loader"); if (loaderEl != null) { loadCollectionLoader(screenData, loaderEl, container, hostScreenData); } for (Element collectionEl : element.elements()) { loadNestedContainer(screenData, collectionEl, container, hostScreenData); } }
protected void loadKeyValueCollectionContainer(ScreenData screenData, Element element, @Nullable ScreenData hostScreenData) { String containerId = getRequiredAttr(element, "id"); KeyValueCollectionContainer container; if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions container = hostScreenData.getContainer(containerId); } else { container = factory.createKeyValueCollectionContainer(); loadProperties(element, container); String idName = element.attributeValue("idName"); if (!Strings.isNullOrEmpty(idName)) container.setIdName(idName); } screenData.registerContainer(containerId, container); Element loaderEl = element.element("loader"); if (loaderEl != null) { loadKeyValueCollectionLoader(screenData, loaderEl, container, hostScreenData); } }
"Cannot bind collection container '%s' to a non-collection property '%s'", containerId, property)); nestedContainer = factory.createCollectionContainer( metaProperty.getRange().asClass().getJavaClass(), masterContainer, property); "Cannot bind instance container '%s' to a non-reference property '%s'", containerId, property)); nestedContainer = factory.createInstanceContainer( metaProperty.getRange().asClass().getJavaClass(), masterContainer, property);
protected void loadKeyValueInstanceContainer(ScreenData screenData, Element element, ScreenData hostScreenData) { String containerId = getRequiredAttr(element, "id"); KeyValueContainer container; if (checkProvided(element, hostScreenData)) { container = hostScreenData.getContainer(containerId); } else { container = factory.createKeyValueContainer(); loadProperties(element, container); String idName = element.attributeValue("idName"); if (!Strings.isNullOrEmpty(idName)) container.setIdName(idName); } screenData.registerContainer(containerId, container); Element loaderEl = element.element("loader"); if (loaderEl != null) { loadKeyValueInstanceLoader(screenData, loaderEl, container, hostScreenData); } }
protected void loadKeyValueInstanceLoader(ScreenData screenData, Element element, KeyValueContainer container, ScreenData hostScreenData) { KeyValueInstanceLoader loader; String loaderId = element.attributeValue("id"); if (loaderId == null) { loaderId = generateId(); } if (checkProvided(element, hostScreenData)) { loader = hostScreenData.getLoader(loaderId); } else { loader = factory.createKeyValueInstanceLoader(); loader.setContainer(container); loadQuery(element, loader); loadSoftDeletion(element, loader); String storeName = element.attributeValue("store"); if (!Strings.isNullOrEmpty(storeName)) loader.setStoreName(storeName); } screenData.registerLoader(loaderId, loader); }
protected void loadKeyValueCollectionLoader(ScreenData screenData, Element element, KeyValueCollectionContainer container, @Nullable ScreenData hostScreenData) { KeyValueCollectionLoader loader; String loaderId = element.attributeValue("id"); if (loaderId == null) { loaderId = generateId(); } if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions loader = hostScreenData.getLoader(loaderId); } else { loader = factory.createKeyValueCollectionLoader(); loader.setContainer(container); loadQuery(element, loader); loadSoftDeletion(element, loader); loadFirstResult(element, loader); loadMaxResults(element, loader); String storeName = element.attributeValue("store"); if (!Strings.isNullOrEmpty(storeName)) loader.setStoreName(storeName); } screenData.registerLoader(loaderId, loader); }
} else { boolean readOnly = Boolean.valueOf(element.attributeValue("readOnly")); DataContext dataContext = readOnly ? new NoopDataContext() : factory.createDataContext(); screenData.setDataContext(dataContext);
protected void loadInstanceLoader(ScreenData screenData, Element element, InstanceContainer<Entity> container, @Nullable ScreenData hostScreenData) { InstanceLoader<Entity> loader; String loaderId = element.attributeValue("id"); if (loaderId == null) { loaderId = generateId(); } if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions loader = hostScreenData.getLoader(loaderId); } else { loader = factory.createInstanceLoader(); loader.setDataContext(screenData.getDataContext()); loader.setContainer(container); loadSoftDeletion(element, loader); loadDynamicAttributes(element, loader); loadQuery(element, loader); loadEntityId(element, loader); } screenData.registerLoader(loaderId, loader); }
protected void loadCollectionLoader(ScreenData screenData, Element element, CollectionContainer<Entity> container, @Nullable ScreenData hostScreenData) { CollectionLoader<Entity> loader; String loaderId = element.attributeValue("id"); if (loaderId == null) { loaderId = generateId(); } if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions loader = hostScreenData.getLoader(loaderId); } else { loader = factory.createCollectionLoader(); loader.setDataContext(screenData.getDataContext()); loader.setContainer(container); loadQuery(element, loader); loadSoftDeletion(element, loader); loadDynamicAttributes(element, loader); loadFirstResult(element, loader); loadMaxResults(element, loader); loadCacheable(element, loader); } screenData.registerLoader(loaderId, loader); }
protected InstanceContainer<E> createInstanceContainer(E item) { if (itemContainers == null) { itemContainers = new WeakHashMap<>(); } InstanceContainer<E> container = itemContainers.get(item); if (container != null) { return container; } EntityDataGridItems<E> items = getEntityDataGridItemsNN(); DataComponents factory = beanLocator.get(DataComponents.class); ViewRepository viewRepository = beanLocator.get(ViewRepository.NAME); MetaClass metaClass = items.getEntityMetaClass(); InstanceContainer<E> instanceContainer = factory.createInstanceContainer(metaClass.getJavaClass()); instanceContainer.setView(viewRepository.getView(metaClass, View.LOCAL)); instanceContainer.setItem(item); itemContainers.put(item, instanceContainer); return instanceContainer; }
protected void loadInstanceContainer(ScreenData screenData, Element element, @Nullable ScreenData hostScreenData) { String containerId = getRequiredAttr(element, "id"); InstanceContainer<Entity> container; if (checkProvided(element, hostScreenData)) { //noinspection ConstantConditions container = hostScreenData.getContainer(containerId); } else { container = factory.createInstanceContainer(getEntityClass(element)); loadView(element, getEntityClass(element), container); } screenData.registerContainer(containerId, container); Element loaderEl = element.element("loader"); if (loaderEl != null) { loadInstanceLoader(screenData, loaderEl, container, hostScreenData); } for (Element collectionEl : element.elements()) { loadNestedContainer(screenData, collectionEl, container, hostScreenData); } }
InstanceContainer<Entity> propertyCont = dataComponents.createInstanceContainer(intermediatePath.getRangeJavaClass());