@SuppressWarnings("unchecked") protected <T> TypedQuery<T> createQueryInstance(boolean isNative, Class<T> resultClass) { return (TypedQuery<T>) beanLocator.getPrototype(Query.NAME,this, isNative, resultClass); }
protected App createApplication() { return beanLocator.getPrototype(App.NAME); }
protected Connection createConnection() { return beanLocator.getPrototype(Connection.NAME); }
protected EntityManager createEntityManager(javax.persistence.EntityManager jpaEm) { return (EntityManager) beanLocator.getPrototype(EntityManager.NAME, jpaEm); }
/** * Return an instance of prototype bean, specifying explicit constructor arguments. * @param name the name of the bean to retrieve * @param args constructor arguments * @return bean instance */ @SuppressWarnings("unchecked") public static <T> T getPrototype(String name, Object... args) { return (T) getBeanLocator().getPrototype(name, args); }
@Override public void loadMenuConfig() { SideMenuBuilder menuBuilder = beanLocator.getPrototype(SideMenuBuilder.NAME); menuBuilder.build(this); }
@Nullable protected Element getWindowElement(String src) throws FileNotFoundException { String text = resources.getResourceAsString(src); if (StringUtils.isNotEmpty(text)) { try { Document document = Dom4j.readDocument(text); XmlInheritanceProcessor processor = beanLocator.getPrototype(XmlInheritanceProcessor.NAME, document, emptyMap()); Element root = processor.getResultRoot(); if (root.getName().equals(Window.NAME)) { return root; } } catch (RuntimeException e) { log.error("Can't parse screen file: ", src); } } else { throw new FileNotFoundException("File doesn't exist or empty: " + src); } return null; }
protected Document createDocument(String template, Map<String, Object> params) { Document originalDocument = screenXmlParser.parseDescriptor(template); XmlInheritanceProcessor processor = beanLocator.getPrototype(XmlInheritanceProcessor.NAME, originalDocument, params); Element resultRoot = processor.getResultRoot(); return resultRoot.getDocument(); } }
public QueryTransformer transformer(String query) { if (useAst) { if (domainModel == null) { DomainModelBuilder builder = beanLocator.get(DomainModelBuilder.NAME); domainModel = builder.produce(); } return beanLocator.getPrototype(QueryTransformer.NAME, domainModel, query); } else { return new QueryTransformerRegex(query); } }
@Override public void run() { DomainDescriptionService service = beanLocator.get(DomainDescriptionService.NAME); String description = service.getDomainDescription(); ExportDisplay exportDisplay = beanLocator.getPrototype(ExportDisplay.NAME, true); exportDisplay.show(new ByteArrayDataProvider(description.getBytes(StandardCharsets.UTF_8)), "domain-description.html", ExportFormat.HTML); }
public QueryParser parser(String query) { if (useAst) { if (domainModel == null) { DomainModelBuilder builder = AppBeans.get(DomainModelBuilder.NAME); domainModel = builder.produce(); } return beanLocator.getPrototype(QueryParser.NAME, domainModel, query); } else { return new QueryParserRegex(query); } } }
protected void createContent() { if (element != null && element.element("popup") != null) { LayoutLoader loader = beanLocator.getPrototype(LayoutLoader.NAME, context); loader.setLocale(getLocale()); loader.setMessagesPack(getMessagesPack()); List<Element> elements = element.element("popup").elements(); if (elements.size() != 0) { Element innerElement = elements.get(0); if (innerElement != null) { popupComponentLoader = loader.createComponent(innerElement); resultComponent.setPopupContent(popupComponentLoader.getResultComponent()); resultComponent.setAutoClose(false); } } } }
protected MessageBundle createMessageBundle(@SuppressWarnings("unused") AnnotatedElement element, Frame frame) { MessageBundle messageBundle = beanLocator.getPrototype(MessageBundle.NAME); Class<? extends FrameOwner> screenClass = frame.getFrameOwner().getClass(); String packageName = UiControllerUtils.getPackage(screenClass); messageBundle.setMessagesPack(packageName); if (frame instanceof Component.HasXmlDescriptor) { Element xmlDescriptor = ((Component.HasXmlDescriptor) frame).getXmlDescriptor(); if (xmlDescriptor != null) { String messagePack = xmlDescriptor.attributeValue("messagesPack"); if (messagePack != null) { messageBundle.setMessagesPack(messagePack); } } } return messageBundle; }
protected void createContent() { if (element != null) { LayoutLoader loader = beanLocator.getPrototype(LayoutLoader.NAME, context); loader.setLocale(getLocale()); loader.setMessagesPack(getMessagesPack()); List<Element> elements = element.elements(); if (elements.size() != 0) { Element innerElement = elements.get(0); if (innerElement != null) { popupComponentLoader = loader.createComponent(innerElement); resultComponent.setPopupContent(popupComponentLoader.getResultComponent()); } } } }
protected void createSubComponents(ComponentContainer container, Element containerElement) { LayoutLoader loader = beanLocator.getPrototype(LayoutLoader.NAME, context); loader.setLocale(getLocale()); loader.setMessagesPack(getMessagesPack()); for (Element subElement : containerElement.elements()) { if (!isChildElementIgnored(subElement)) { ComponentLoader componentLoader = loader.createComponent(subElement); pendingLoadComponents.add(componentLoader); container.add(componentLoader.getResultComponent()); } } }
protected void processRequest(NavigationState navigationState) { if (UrlHandlingMode.URL_ROUTES != webConfig.getUrlHandlingMode() || navigationState == null) { return; } if (!app.getConnection().isAuthenticated()) { RedirectHandler redirectHandler = beanLocator.getPrototype(RedirectHandler.NAME, this); redirectHandler.schedule(navigationState); app.redirectHandler = redirectHandler; } else { urlChangeHandler.handleUrlChangeInternal(navigationState); } }
@Override public void execute(Context context, Frame window) { String loggingId = context.getFullFrameId(); try { if (fragment.getFrameOwner() instanceof AbstractFrame) { Element companionsElem = element.element("companions"); if (companionsElem != null) { StopWatch companionStopWatch = createStopWatch(ScreenLifeCycle.COMPANION, loggingId); initCompanion(companionsElem, (AbstractFrame) fragment.getFrameOwner()); companionStopWatch.stop(); } } StopWatch injectStopWatch = createStopWatch(ScreenLifeCycle.INJECTION, loggingId); FrameOwner controller = fragment.getFrameOwner(); UiControllerDependencyInjector dependencyInjector = beanLocator.getPrototype(UiControllerDependencyInjector.NAME, controller, options); dependencyInjector.inject(); injectStopWatch.stop(); } catch (Throwable e) { throw new RuntimeException("Unable to init custom frame class", e); } } }
protected void handleNoAuthNavigation(NavigationState requestedState) { if (Objects.equals(getHistory().getNow(), requestedState)) { return; } String nestedRoute = requestedState.getNestedRoute(); if (StringUtils.isNotEmpty(nestedRoute)) { RedirectHandler redirectHandler = beanLocator.getPrototype(RedirectHandler.NAME, ui); redirectHandler.schedule(requestedState); App.getInstance().setRedirectHandler(redirectHandler); } else if (isRootState(requestedState)) { Screen rootScreen = getOpenedScreens().getRootScreenOrNull(); if (rootScreen != null) { pushState(getResolvedState(rootScreen).asRoute()); } } showNotification(messages.getMainMessage("navigation.shouldLogInFirst")); }
protected void initBeanValidator(Field<?> component, MetaPropertyPath metaPropertyPath) { MetaProperty metaProperty = metaPropertyPath.getMetaProperty(); MetaClass propertyEnclosingMetaClass = metadataTools.getPropertyEnclosingMetaClass(metaPropertyPath); Class enclosingJavaClass = propertyEnclosingMetaClass.getJavaClass(); if (enclosingJavaClass != KeyValueEntity.class && !DynamicAttributesUtils.isDynamicAttribute(metaProperty)) { javax.validation.Validator validator = beanValidation.getValidator(); BeanDescriptor beanDescriptor = validator.getConstraintsForClass(enclosingJavaClass); if (beanDescriptor.isBeanConstrained()) { component.addValidator(beanLocator.getPrototype(BeanPropertyValidator.NAME, enclosingJavaClass, metaProperty.getName())); } } }
protected <T extends Screen> void loadWindowFromXml(Element element, WindowInfo windowInfo, Window window, T controller, ComponentLoaderContext componentLoaderContext) { LayoutLoader layoutLoader = beanLocator.getPrototype(LayoutLoader.NAME, componentLoaderContext); layoutLoader.setLocale(getLocale()); layoutLoader.setMessagesPack(getMessagePack(windowInfo.getTemplate())); ComponentLoader<Window> windowLoader = layoutLoader.createWindowContent(window, element, windowInfo.getId()); if (controller instanceof LegacyFrame) { screenViewsLoader.deployViews(element); initDsContext(window, element, componentLoaderContext); DsContext dsContext = ((LegacyFrame) controller).getDsContext(); if (dsContext != null) { dsContext.setFrameContext(window.getContext()); } } windowLoader.loadComponent(); }