/** * Open a lookup screen. * * @param entityClass required class of entity * @param handler is invoked when selection confirmed and the lookup screen closes * @param openType how to open the screen * @return created window * * @deprecated Use {@link ScreenBuilders} bean instead. */ @Deprecated default AbstractLookup openLookup(Class<? extends Entity> entityClass, Window.Lookup.Handler handler, WindowManager.OpenType openType) { WindowConfig windowConfig = AppBeans.get(WindowConfig.NAME); WindowInfo lookupScreen = windowConfig.getLookupScreen(entityClass); return (AbstractLookup) getWindowManager().openLookup(lookupScreen, handler, openType); }
/** * Open a lookup screen. * * @param entityClass required class of entity * @param handler is invoked when selection confirmed and the lookup screen closes * @param openType how to open the screen * @param params parameters to pass to {@code init()} method of the screen's controller * @return created window * * @deprecated Use {@link ScreenBuilders} bean instead. */ @Deprecated default AbstractLookup openLookup(Class<? extends Entity> entityClass, Window.Lookup.Handler handler, WindowManager.OpenType openType, Map<String, Object> params) { WindowConfig windowConfig = AppBeans.get(WindowConfig.NAME); WindowInfo lookupScreen = windowConfig.getLookupScreen(entityClass); return (AbstractLookup) getWindowManager().openLookup(lookupScreen, handler, openType, params); }
protected String getLookupScreenInternal() { return StringUtils.isNotEmpty(getLookupScreen()) ? getLookupScreen() : windowConfig.getLookupScreen(getLookupEntityClass()).getId(); }
protected <E extends Entity> Screen createScreen(LookupBuilder<E> builder, Screens screens) { Screen screen; if (builder instanceof LookupClassBuilder) { LookupClassBuilder lookupClassBuilder = (LookupClassBuilder) builder; @SuppressWarnings("unchecked") Class<? extends Screen> screenClass = lookupClassBuilder.getScreenClass(); if (screenClass == null) { throw new IllegalArgumentException("Screen class is not set"); } screen = screens.create(screenClass, builder.getLaunchMode(), builder.getOptions()); } else { String lookupScreenId; if (builder.getScreenId() != null) { lookupScreenId = builder.getScreenId(); } else { lookupScreenId = windowConfig.getLookupScreen(builder.getEntityClass()).getId(); } if (lookupScreenId == null) { throw new IllegalArgumentException("Screen id is not set"); } screen = screens.create(lookupScreenId, builder.getLaunchMode(), builder.getOptions()); } return screen; }