@Override public DataType read(ObjectDataInput in) throws IOException { return new DataType(in.readUTF(), Cardinality.values()[in.readInt()]); }
private Object extractBodyValue(ContainerRequestContext context, Parameter pm, String content) { //throws IOException { logger.trace("extractBodyValue.enter; got param: {}; content: {}; mediaType: {}", pm, content, context.getMediaType()); if (isBaseType(pm.getType())) { if (pm.getCardinality().isMultiple()) { List<String> values = new ArrayList<>(1); values.add(content); return getSequenceValue(pm.getType(), values); } else { return getAtomicValue(pm.getType(), content); } } else if (pm.getType().startsWith("map(")) { if (isSubtypeOf(context, "json")) { return mapFromJSON(content); } if (isSubtypeOf(context, "xml")) { return mapFromXML(content); } } else if (pm.getType().startsWith("document-node(")) { try { return textToDocument(content); } catch (IOException ex) { logger.error("", ex); return null; } } else if (pm.getType().startsWith("item(")) { return content; } return content; }
/** * * @return the complete function signature */ public String getSignature() { StringBuilder buff = new StringBuilder(); if (className != null) { buff.append(className).append("."); } else if (prefix != null) { buff.append(prefix).append(":"); } buff.append(method).append("("); int idx = 0; for (Parameter xp: parameters) { if (idx > 0) { buff.append(", "); } buff.append(xp.getName()).append(" ").append(xp.getType()).append(xp.getCardinality().shortPresentation()); idx++; } buff.append("): ").append(result.getType()).append(result.getCardinality().shortPresentation()); //.append(";"); return buff.toString(); }
private void setNotFoundParam(Map<String, Object> params, String pType, Parameter pm) { // handle default values List<List<String>> atns = fn.getAnnotations().get(pType); if (atns != null) { String pName = pm.getName(); String xpName = "{$" + pm.getName() + "}"; for (List<String> values: atns) { if (values.size() > 2) { if (pName.equals(values.get(0)) || xpName.equals(values.get(1))) { params.put(pm.getName(), getAtomicValue(pm.getType(), values.get(2))); return; } } } } if (pm.getCardinality().isOptional()) { // pass empty value.. params.put(pm.getName(), null); } }
@Override public Parameter read(ObjectDataInput in) throws IOException { Parameter xParam = new Parameter( in.readUTF(), in.readUTF(), Cardinality.values()[in.readInt()]); return xParam; }
List<String> vals = context.getUriInfo().getQueryParameters().get(pm.getName()); if (vals != null) { if (pm.getCardinality().isMultiple()) { params.put(pm.getName(), getSequenceValue(pm.getType(), vals)); } else {
@Override public void write(ObjectDataOutput out, DataType xType) throws IOException { out.writeUTF(xType.getType()); out.writeInt(xType.getCardinality().ordinal()); }
@Override public void write(ObjectDataOutput out, Parameter xParam) throws IOException { out.writeUTF(xParam.getName()); out.writeUTF(xParam.getType()); out.writeInt(xParam.getCardinality().ordinal()); }