/** * Generic constructor * @param am * @param app * @param pageUrl * @param setAsStartPage */ public AppCollection(ApplicationManager am, WidgetApp app, String pageUrl, boolean setAsStartPage) { this.am = am; this.logger = am.getLogger(); logger.info("App collection view available: {}",getClass().getName()); staticAppsComplete = addApps(staticApps()); if (!registeredApps.isEmpty()) { final List<String> keys = new ArrayList<>(registeredApps.keySet()); String[] arr = new String[keys.size()]; addApps(keys.toArray(arr)); } this.wapp = app; this.page = wapp.createWidgetPage(pageUrl, setAsStartPage); new MainPage<A>(page, this); }
private final void printAccessCount(WidgetApp wapp) { System.out.println(" Access count for app: " + wapp.appUrl()); for (Map.Entry<String,WidgetPage<?>> entry : wapp.getPages().entrySet()) { System.out.println(" Page " + entry.getKey() + ": count: " + widgetAdminService.getAccessCount(entry.getValue())); } }
@Override public void start(ApplicationManager appManager) { this.resAcc = appManager.getResourceAccess(); this.logger = appManager.getLogger(); logger.debug("{} started", getClass().getName()); wApp = guiService.createWidgetApp("/de/iwes/ogema/apps/messageSettings", appManager); WidgetPage<MessageSettingsDictionary> senderPage = wApp.createWidgetPage("sender.html"); senderPage.registerLocalisation(MessageSettingsDictionary_de.class).registerLocalisation(MessageSettingsDictionary_en.class); senderPageBuilder = new SenderPageBuilder(senderPage, appManager); WidgetPage<MessageSettingsDictionary> receiverPage = wApp.createStartPage(); receiverPage.registerLocalisation(MessageSettingsDictionary_de.class).registerLocalisation(MessageSettingsDictionary_en.class); receiverPageBuilder = new ReceiverPageBuilder(receiverPage, appManager); resAcc.addResourceDemand(EmailConfiguration.class, senderPageBuilder.getEmailListener()); resAcc.addResourceDemand(SmsConfiguration.class, senderPageBuilder.getSmsListener()); resAcc.addResourceDemand(XmppConfiguration.class, senderPageBuilder.getXmppListener()); resAcc.addResourceDemand(ReceiverConfiguration.class, receiverPageBuilder); NavigationMenu nm = new NavigationMenu(" Select page"); nm.addEntry("Edit senders", senderPage); nm.addEntry("Edit receivers", receiverPage); MenuConfiguration mc = receiverPage.getMenuConfiguration(); mc.setCustomNavigation(nm); mc = senderPage.getMenuConfiguration(); mc.setCustomNavigation(nm); }
@Descriptor("Get the access count for all pages, sorted by the number of page visits") public void accessCountSorted() { final NavigableMap<Integer, List<String>> pages = new TreeMap<>(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return -o1.compareTo(o2); } }); for (WidgetApp wapp : widgetAdminService.getRegisteredApps().values()) { for (WidgetPage<?> page : wapp.getPages().values()) { final int cnt = widgetAdminService.getAccessCount(page); List<String> list = pages.get(cnt); if (list == null) { list = new ArrayList<>(); pages.put(cnt,list); } list.add(page.getFullUrl()); } } int cnt = 1; for (Map.Entry<Integer, List<String>> entry : pages.entrySet()) { System.out.println("Access count position " + cnt++ + ": count: " + entry.getKey()); for (String s : entry.getValue()) { System.out.println(" Page " + s); } } }
@Override public void stop(AppStopReason reason) { if (wApp != null) { wApp.close(); } if (resAcc != null && senderPageBuilder != null) { resAcc.removeResourceDemand(EmailConfiguration.class, senderPageBuilder.getEmailListener()); resAcc.removeResourceDemand(SmsConfiguration.class, senderPageBuilder.getSmsListener()); resAcc.removeResourceDemand(XmppConfiguration.class, senderPageBuilder.getXmppListener()); } if (resAcc != null && receiverPageBuilder != null) { resAcc.removeResourceDemand(ReceiverConfiguration.class, receiverPageBuilder); } logger = null; wApp = null; resAcc = null; receiverPageBuilder = null; senderPageBuilder = null; }
return; for (Map.Entry<String, WidgetPage<?>> entry: app.getPages().entrySet()) { if (pageUrl !=null && !pageUrl.trim().isEmpty()) { if (entry.getKey().equals(pageUrl.trim())) {
@SuppressWarnings("unchecked") @Override public <P extends ResourcePattern<R>, R extends Resource, D extends LocaleDictionary> PatternEditor<P,D> newPatternEditorPage( final Class<P> pattern, String url, boolean setAsStartPage, Class<D> dictionary) { if (dictionary == null) dictionary = (Class<D>) LocaleDictionary.class; WidgetPage<D> page = app.createWidgetPage(url, setAsStartPage); // page.setTitle("Edit pattern: "+ pattern.getSimpleName()); Header header = new PageHeader<D>(page, "header", dictionary); header.setDefaultText("Edit patterns: "+ pattern.getSimpleName()); page.append(header).linebreak(); PatternEditor<P,D> patternSelector = addPatternEditor(pattern, page, pattern.getSimpleName() + "_patternEditor", dictionary, false); page.append(patternSelector).linebreak(); return patternSelector; }
for (WidgetApp app : widgetAdminService.getRegisteredApps().values()) { int localCnt = widgetAdminService.getNumberOfSessions(app); System.out.println("Number of sessions for app " + app.appUrl() + ": " + localCnt); cnt += localCnt; for (Map.Entry<String, WidgetPage<?>> entry: app.getPages().entrySet()) { if (pageUrl !=null && !pageUrl.trim().isEmpty()) { if (entry.getKey().equals(pageUrl.trim())) {
for (Map.Entry<String, WidgetPage<?>> entry: app.getPages().entrySet()) { if (!entry.getKey().equals(pageUrl)) continue;
@SuppressWarnings("unchecked") @Override public <P extends ResourcePattern<R>, R extends Resource, D extends LocaleDictionary> PatternEditor<P,D> newPatternDisplayPage( final Class<P> pattern, String url,boolean setAsStartPage, Class<D> dictionary) { if (dictionary == null) dictionary = (Class<D>) LocaleDictionary.class; WidgetPage<D> page = app.createWidgetPage(url,setAsStartPage); // page.setTitle("View pattern: "+ pattern.getSimpleName()); Header header = new Header(page, "header","View patterns: "+ pattern.getSimpleName()); header.addDefaultStyle(HeaderData.CENTERED); page.append(header).linebreak(); PatternEditor<P,D> patternSelector = addPatternEditor(pattern, page, pattern.getSimpleName() + "_displayWidget", dictionary, true); page.append(patternSelector).linebreak(); return patternSelector; }
@Override public <P extends ResourcePattern<R>, R extends Resource, D extends LocaleDictionary> PatternCreator<P, R, D> newPatternCreatorPage(Class<P> pattern, String url, boolean setAsStartPage, PatternCreatorConfiguration<P, R> config, Class<D> dictionary) { if (config == null) config = new PatternCreatorConfiguration<>(); WidgetPage<D> page = app.createWidgetPage(url, setAsStartPage); // page.setTitle("Create new pattern: "+ pattern.getSimpleName()); Header header = new PageHeader<D>(page, "header",dictionary); header.setDefaultText("Create new pattern: "+ pattern.getSimpleName()); PatternCreator<P, R, D> pc = addPatternCreator(pattern, page, dictionary, config); page.append(header).linebreak().append(pc).linebreak(); return pc; }
@Override public <P extends ContextSensitivePattern<R, C>, R extends Resource, C, D extends LocaleDictionary> PatternCreator<P, R, D> newContextPatternCreatorPage( Class<P> pattern, String url, boolean setAsStartPage, PatternCreatorConfiguration<P, R> config, Class<D> dictionary, Class<C> contextType) { if (config == null) config = new PatternCreatorConfiguration<>(); WidgetPage<D> page = app.createWidgetPage(url, setAsStartPage); // page.setTitle("Create new pattern: "+ pattern.getSimpleName()); Header header = new PageHeader<D>(page, "header",dictionary); header.setDefaultText("Create new pattern: "+ pattern.getSimpleName()); PatternCreator<P, R, D> pc = addPatternCreator(pattern, page, dictionary, config, contextType); page.append(header).linebreak().append(pc).linebreak(); return pc; }