/** * @return <code>true</code> if the parameters are empty, <code>false</code> otherwise. */ public boolean isEmpty() { return (getIndexedCount() == 0) && getNamedKeys().isEmpty(); }
/** * @return <code>true</code> if the parameters are empty, <code>false</code> otherwise. */ public boolean isEmpty() { return (getIndexedCount() == 0) && getNamedKeys().isEmpty(); }
private List<String> computeSegments(PageParameters pageParameters) { if (pageParameters == null) return Collections.emptyList(); int size = pageParameters.getIndexedCount(); List<String> segments = new ArrayList<String>(size+1); //add a null to go to the root segments.add(""); for(int i=0;i<size;i++) { segments.add(pageParameters.get(i).toString()); } return segments; }
/** * Compares two {@link PageParameters} objects. * * @param p1 * The first parameters * @param p2 * The second parameters * @return <code>true</code> if the objects are equal, <code>false</code> otherwise. */ public static boolean equals(final PageParameters p1, final PageParameters p2) { if (Objects.equal(p1, p2)) { return true; } if ((p1 == null) && (p2.getIndexedCount() == 0) && p2.getNamedKeys().isEmpty()) { return true; } if ((p2 == null) && (p1.getIndexedCount() == 0) && p1.getNamedKeys().isEmpty()) { return true; } return false; }
/** * Compares two {@link PageParameters} objects. * * @param p1 * The first parameters * @param p2 * The second parameters * @return <code>true</code> if the objects are equal, <code>false</code> otherwise. */ public static boolean equals(final PageParameters p1, final PageParameters p2) { if (Objects.equal(p1, p2)) { return true; } if ((p1 == null) && (p2.getIndexedCount() == 0) && p2.getNamedKeys().isEmpty()) { return true; } if ((p2 == null) && (p1.getIndexedCount() == 0) && p1.getNamedKeys().isEmpty()) { return true; } return false; }
public static LinkedHashMap<String, Object> toMap(PageParameters params) { int indexed = params.getIndexedCount(); List<NamedPair> named = params.getAllNamed(); LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>((indexed + named.size()) * 2); for (int i = 0; i < indexed; i++) { String index = Integer.toString(i); Object value = params.get(i).to(Object.class); Object prev = map.put(index, value); if (prev != null) { map.put(index, merge(prev, value)); } } for (NamedPair p : named) { map.put(p.getKey(), p.getValue()); } return map; }
protected T resolveModel(PageParameters params) { List<String> segments = new ArrayList<String>(params.getIndexedCount()); for (StringValue value : params.getValues("segment")) { if (value.toString() != null && !value.toString().isEmpty()) segments.add(value.toString()); } for (int i = 0; i < params.getIndexedCount(); i++) { StringValue value = params.get(i); if (value.toString() != null && !value.toString().isEmpty()) segments.add(value.toString()); } T lookup = doLookup(segments); return (T)lookup; }
private PropertyFileDescriptor getModel(PageParameters pageParameters) { URI uri = URI.createURI("/"); for(int i=0;i<pageParameters.getIndexedCount();i++){ uri = uri.appendSegment(pageParameters.get(i).toString()); } return (PropertyFileDescriptor) resolver.resolve(uri); } }
private void resolveMenuPath() { StringValue pathStringValue = getPageParameters().get("path"); if (pathStringValue.isNull() || pathStringValue.isEmpty()) { menuPath = ""; } else { StringBuilder path = new StringBuilder(pathStringValue.toString()); for (int i = 0; i < getPageParameters().getIndexedCount(); i++) { path.append('/').append(getPageParameters().get(i)); } menuPath = path.toString(); } }
protected boolean urlEndsOnSlash() { PageParameters params = getPageParameters(); for (NamedPair value : params.getAllNamed()) { if (value.getValue().isEmpty()) return true; } // segments.addAll(params.getValues("segment")); for (int i = 0; i < params.getIndexedCount(); i++) { StringValue value = params.get(i); if (value.toString().isEmpty()) return true; } return false; }
@Override public Url encodePageParameters(PageParameters params) { Args.notNull(params, "params"); Args.isTrue(params.getIndexedCount() == 0, "This encoder does not support indexed page parameters. Specified parameters: %s", params); Url url = new Url(); for (PageParameters.NamedPair pair : params.getAllNamed()) { url.getSegments().add(pair.getKey()); url.getSegments().add(pair.getValue()); } return url; }
@Override public Url encodePageParameters(PageParameters params) { Args.notNull(params, "params"); Args.isTrue(params.getIndexedCount() == 0, "This encoder does not support indexed page parameters. Specified parameters: %s", params); Url url = new Url(); for (PageParameters.NamedPair pair : params.getAllNamed()) { url.getSegments().add(pair.getKey()); url.getSegments().add(pair.getValue()); } return url; }
public State(PageParameters params) { List<String> revisionSegments = new ArrayList<>(); String segment = params.get(PARAM_REVISION).toString(); if (segment.length() != 0) revisionSegments.add(segment); for (int i=0; i<params.getIndexedCount(); i++) { segment = params.get(i).toString(); if (segment.length() != 0) revisionSegments.add(segment); } revision = Joiner.on("/").join(revisionSegments); compareWith = params.get(PARAM_COMPARE_WITH).toString(); whitespaceOption = WhitespaceOption.ofNullableName(params.get(PARAM_WHITESPACE_OPTION).toString()); pathFilter = params.get(PARAM_PATH_FILTER).toString(); blameFile = params.get(PARAM_BLAME_FILE).toString(); commentId = params.get(PARAM_COMMENT).toOptionalLong(); mark = MarkPos.fromString(params.get(PARAM_MARK).toString()); }
@Override public Url encodePageParameters(final PageParameters pageParameters) { Url url = new Url(); if (pageParameters != null) { for (int i = 0; i < pageParameters.getIndexedCount(); ++i) { url.getSegments().add(pageParameters.get(i).toString()); } for (PageParameters.NamedPair pair : pageParameters.getAllNamed()) { QueryParameter param = new QueryParameter(pair.getKey(), pair.getValue()); url.getQueryParameters().add(param); } } return url; } }
@Override public Url encodePageParameters(final PageParameters pageParameters) { Url url = new Url(); if (pageParameters != null) { for (int i = 0; i < pageParameters.getIndexedCount(); ++i) { url.getSegments().add(pageParameters.get(i).toString()); } for (PageParameters.NamedPair pair : pageParameters.getAllNamed()) { QueryParameter param = new QueryParameter(pair.getKey(), pair.getValue()); url.getQueryParameters().add(param); } } return url; } }
@Override protected void populateItem(ListItem<Role> item) { IModel<String> nameProperty = new EObjectPropertyModel<String, Role>(item.getModel(), UsersPackage.Literals.ROLE__NAME); item.add(new Label("rolename", nameProperty)); item.add(new Label("roles",buildRoles(item.getModelObject()))); PageParameters params = new PageParameters(getPage().getPageParameters()); params.set(params.getIndexedCount(),"roles"); params.set(params.getIndexedCount(),item.getModelObject().getName()); item.add(new BookmarkablePageLink<Void>("edit",SettingsPage.class, params)); item.add(new Link<Role>("delete",item.getModel()){ private static final long serialVersionUID = 1L; @Override public void onClick() { try { TransactionUtil.deleteWithCrossRefs(getModelObject()); } catch (CommitException e) { getSession().error(e.getMessage()); logger.error("Failed to commit",e); } } }); } };
@Override protected void populateItem(ListItem<Role> item) { IModel<String> nameProperty = new EObjectPropertyModel<String, Role>(item.getModel(), UsersPackage.Literals.ROLE__NAME); item.add(new Label("rolename", nameProperty)); item.add(new Label("roles",buildRoles(item.getModelObject()))); PageParameters params = new PageParameters(getPage().getPageParameters()); params.set(params.getIndexedCount(),"roles"); params.set(params.getIndexedCount(),item.getModelObject().getName()); item.add(new BookmarkablePageLink<Void>("edit",SettingsPage.class, params)); item.add(new Link<Role>("delete",item.getModel()){ private static final long serialVersionUID = 1L; @Override public void onClick() { try { TransactionUtil.deleteWithCrossRefs(getModelObject()); } catch (CommitException e) { getSession().error(e.getMessage()); logger.error("Failed to commit",e); } } }); } };
@Override protected void populateItem(ListItem<User> item) { item.add(new UserImagePanel("username", item.getModel())); item.add(new Label("roles",buildRoles(item.getModelObject()))); PageParameters params = new PageParameters(getPage().getPageParameters()); params.set(params.getIndexedCount(),"users"); String name = item.getModelObject().getName(); //so it doesn't crash on a broken model if(name==null) name = ""; params.set(params.getIndexedCount(),name); item.add(new BookmarkablePageLink<Void>("edit",SettingsPage.class, params)); item.add(new Link<User>("delete",item.getModel()){ private static final long serialVersionUID = 1L; @Override public void onClick() { try { TransactionUtil.deleteWithCrossRefs(getModelObject()); } catch (CommitException e) { getSession().error(e.getMessage()); logger.error("Failed to commit",e); } } }); } };
/** * Merges the page parameters into this, overwriting existing values * * @param other * The parameters to merge * @return this instance, for chaining */ public PageParameters mergeWith(final PageParameters other) { if (other != null && this != other) { for (int index = 0; index < other.getIndexedCount(); index++) { if (!other.get(index).isNull()) { set(index, other.get(index)); } } for (String name : other.getNamedKeys()) { remove(name); } for (NamedPair curNamed : other.getAllNamed()) { add(curNamed.getKey(), curNamed.getValue(), curNamed.getType()); } } return this; }
@Override protected void construct() { super.construct(); BreadcrumbPanel<CDOObject> breadcrumbPanel = new BreadcrumbPanel<CDOObject>("breadcrumb-panel", getModel(),getPageParameters()); breadcrumbPanel.setRootLabel(new StringResourceModel("SettingsPage.breadcrumb.root.label",this,null)); add(breadcrumbPanel); if(getPageParameters().getIndexedCount()>0) { addOrReplace(new SettingsPanel<CDOObject>("content", getModel(), getPageParameters())); } else { addOrReplace(new SettingsOverviewPanel("content")); } }