package org.openanzo.jet.services; import java.util.Iterator; import org.apache.commons.collections15.multimap.MultiHashMap; import org.openanzo.jet.services.RestOperation.RequestType; import org.openanzo.ontologies.system.Operation; import org.openanzo.ontologies.system.Parameter; import org.openanzo.ontologies.system.Service; import org.openanzo.rdf.jastor.JastorUtils; import org.openanzo.rdf.utils.SerializationConstants; import org.openanzo.rdf.utils.WikiFormatUtils; import org.openanzo.rdf.vocabulary.DC; /******************************************************************************* * Copyright (c) 2004, 2007-2008 IBM Corporation and Cambridge Semantics Incorporated. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Generated via javajet * * Contributors: * IBM Corporation - initial API and implementation * Cambridge Semantics Incorporated - Fork to Anzo *******************************************************************************/ @SuppressWarnings("all") public class ServicesRestListenerTemplate { protected static String nl; public static synchronized ServicesRestListenerTemplate create(String lineSeparator) { nl = lineSeparator; ServicesRestListenerTemplate result = new ServicesRestListenerTemplate(); nl = null; return result; } public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl; protected final String TEXT_1 = "<!--" + NL + "/*******************************************************************************" + NL + " * Copyright (c) 2004, 2007-2008 IBM Corporation and Cambridge Semantics Incorporated." + NL + " * All rights reserved. This program and the accompanying materials" + NL + " * are made available under the terms of the Eclipse Public License v1.0" + NL + " * which accompanies this distribution, and is available at" + NL + " * http://www.eclipse.org/legal/epl-v10.html" + NL + " * " + NL + " * " + NL + " * Contributors:" + NL + " * IBM Corporation - initial API and implementation" + NL + " * Cambridge Semantics Incorporated - initial API and implementation " + NL + " *******************************************************************************/ " + NL + "-->"; protected final String TEXT_2 = NL + "/*******************************************************************************" + NL + " * Copyright (c) 2004, 2007-2008 IBM Corporation and Cambridge Semantics Incorporated." + NL + " * All rights reserved. This program and the accompanying materials" + NL + " * are made available under the terms of the Eclipse Public License v1.0" + NL + " * which accompanies this distribution, and is available at" + NL + " * http://www.eclipse.org/legal/epl-v10.html" + NL + " *" + NL + " * File: "; protected final String TEXT_3 = "Source"; protected final String TEXT_4 = NL + " * Created by: Generated Source from org.openanzo.jdbc.utils.opgen.jet" + NL + " * Created on: Generated Source from org.openanzo.jdbc.utils.opgen.jet" + NL + " * Revision:\t"; protected final String TEXT_5 = "Id"; protected final String TEXT_6 = NL + " *" + NL + " * Contributors:" + NL + " * IBM Corporation - initial API and implementation" + NL + " *\t Cambridge Semantics Incorporated - Fork to Anzo" + NL + " *******************************************************************************/"; protected final String TEXT_7 = NL + "package "; protected final String TEXT_8 = ";" + NL + "//import java.io.StringWriter;" + NL + "" + NL + "import org.openanzo.exceptions.AnzoException;" + NL + "import org.openanzo.rdf.Constants;" + NL + "import org.openanzo.services.IOperationContext;" + NL + "import org.openanzo.rdf.URI;" + NL + "import org.openanzo.rdf.utils.RequestType;"; protected final String TEXT_9 = NL + " /**" + NL + " * "; protected final String TEXT_10 = " rest listener interface" + NL + " * @author Generated Code" + NL + " */" + NL + "public class Rest"; protected final String TEXT_11 = "Listener extends org.openanzo.services.BaseContainerComponent implements org.openanzo.rest.IRestEndpointHandler {" + NL + "\t/** Service's Name in {@link String} form */" + NL + " public static final String SERVICE_ENDPOINT_NAME = Constants.NAMESPACES.SERVICE_PREFIX + \"Combus"; protected final String TEXT_12 = "Listener\";" + NL + "" + NL + " /** Service's Name in {@link URI} form */" + NL + " public static final URI SERVICE_ENDPOINT_URI = Constants.valueFactory.createURI(SERVICE_ENDPOINT_NAME);" + NL + "" + NL + " /** Stats for object*/" + NL + " protected "; protected final String TEXT_13 = "."; protected final String TEXT_14 = "Stats stats=null;" + NL + "" + NL + " /** Service interface*/" + NL + " protected "; protected final String TEXT_15 = ".I"; protected final String TEXT_16 = " i"; protected final String TEXT_17 = "=null;" + NL + "" + NL + " protected org.apache.commons.collections15.multimap.MultiHashMap<String, String> operationMethods = new org.apache.commons.collections15.multimap.MultiHashMap<String, String>();" + NL + NL; protected final String TEXT_18 = NL + " /** Constant for operation "; protected final String TEXT_19 = " */" + NL + " public static final String OP_"; protected final String TEXT_20 = " = \""; protected final String TEXT_21 = "\";" + NL; protected final String TEXT_22 = NL + " /** Constant for method "; protected final String TEXT_23 = "*/" + NL + " public static final String METHOD_"; protected final String TEXT_24 = " = \""; protected final String TEXT_25 = "\";"; protected final String TEXT_26 = NL + NL + NL + " /**" + NL + " * Create a new JMS"; protected final String TEXT_27 = "Proxy" + NL + " *" + NL + " */" + NL + " public Rest"; protected final String TEXT_28 = "Listener("; protected final String TEXT_29 = ".I"; protected final String TEXT_30 = " _service) {" + NL + " super();" + NL + " this.i"; protected final String TEXT_31 = " = _service;" + NL + " stats=new "; protected final String TEXT_32 = "."; protected final String TEXT_33 = "Stats();"; protected final String TEXT_34 = NL + " operationMethods.put("; protected final String TEXT_35 = ", "; protected final String TEXT_36 = ");"; protected final String TEXT_37 = NL + " }" + NL + "" + NL + " public org.apache.commons.collections15.multimap.MultiHashMap<String, String> getMethodOperations(){" + NL + " \treturn operationMethods;" + NL + " }" + NL + "" + NL + " public org.openanzo.rdf.URI getURI(){" + NL + " \treturn SERVICE_ENDPOINT_URI;" + NL + " }" + NL + "" + NL + " /** Statistics object for this service*/" + NL + " public "; protected final String TEXT_38 = "."; protected final String TEXT_39 = "Stats getStatistics(){" + NL + " \treturn stats;" + NL + " }" + NL + "" + NL + " public void start() throws AnzoException {" + NL + " if (state == org.openanzo.services.servicesState.INITIALIZED || state == org.openanzo.services.servicesState.STOPPED) {" + NL + " super.start();" + NL + " }" + NL + " }" + NL + "" + NL + "\t@SuppressWarnings(\"unused\")" + NL + " public boolean handleOperation(IOperationContext context, RequestType type, String objectURI, String method, String operation, String resultFormat, java.util.Map<String, String[]> parameters, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse resp) throws java.io.IOException, AnzoException {" + NL + " org.openanzo.services.serialization.RestMessageWrapper messageWrapper=new org.openanzo.services.serialization.RestMessageWrapper(parameters);"; protected final String TEXT_40 = NL; protected final String TEXT_41 = " }else "; protected final String TEXT_42 = " "; protected final String TEXT_43 = " if("; protected final String TEXT_44 = "method==null"; protected final String TEXT_45 = ".equals(method)"; protected final String TEXT_46 = "){" + NL + "\t\t\tswitch(type){"; protected final String TEXT_47 = "\t\t\t\t}break;"; protected final String TEXT_48 = NL + "\t\t\t\tcase "; protected final String TEXT_49 = ":" + NL + "\t\t\t\t{"; protected final String TEXT_50 = NL; protected final String TEXT_51 = " }else "; protected final String TEXT_52 = " "; protected final String TEXT_53 = " if("; protected final String TEXT_54 = "operation==null"; protected final String TEXT_55 = ".equals(operation)"; protected final String TEXT_56 = "&& objectURI!=null"; protected final String TEXT_57 = "){" + NL + "\t\t\t\t\t\tlong start=0;" + NL + "\t\t\t \tif (stats.isEnabled()) {" + NL + "\t\t\t \tstart = System.currentTimeMillis();" + NL + "\t\t\t \tstats.get"; protected final String TEXT_58 = "Use().increment();" + NL + "\t\t\t \t\t}" + NL + "\t\t\t \ttry{"; protected final String TEXT_59 = NL + "\t\t\t\t\t\t\tString[] "; protected final String TEXT_60 = "FormatStrings = parameters.get("; protected final String TEXT_61 = ".I"; protected final String TEXT_62 = ".PARAM_"; protected final String TEXT_63 = "Format);" + NL + "\t \t\t\t\t\t\tboolean "; protected final String TEXT_64 = "FormatExists=("; protected final String TEXT_65 = "FormatStrings!=null&&"; protected final String TEXT_66 = "FormatStrings.length>0);" + NL + "\t\t\t\t\t\t\tString "; protected final String TEXT_67 = "Format=("; protected final String TEXT_68 = "FormatExists)?"; protected final String TEXT_69 = "FormatStrings[0]:"; protected final String TEXT_70 = ";"; protected final String TEXT_71 = NL + "\t\t\t\t\t\t\tString "; protected final String TEXT_72 = " = org.apache.commons.io.IOUtils.toString(request.getReader());"; protected final String TEXT_73 = NL + "\t\t\t\t\t\t\tboolean "; protected final String TEXT_74 = "Exists=messageWrapper.hasProperty("; protected final String TEXT_75 = ".I"; protected final String TEXT_76 = ".PARAM_"; protected final String TEXT_77 = ");" + NL + "\t\t\t\t\t\t\t"; protected final String TEXT_78 = " "; protected final String TEXT_79 = " = "; protected final String TEXT_80 = "("; protected final String TEXT_81 = "Exists)?"; protected final String TEXT_82 = ".deserialize(messageWrapper,"; protected final String TEXT_83 = ".I"; protected final String TEXT_84 = ".PARAM_"; protected final String TEXT_85 = ", "; protected final String TEXT_86 = "Format"; protected final String TEXT_87 = "null"; protected final String TEXT_88 = ")"; protected final String TEXT_89 = ":null"; protected final String TEXT_90 = ";"; protected final String TEXT_91 = NL + "\t\t\t\t\t\t\t"; protected final String TEXT_92 = " "; protected final String TEXT_93 = " = "; protected final String TEXT_94 = ".deserialize(objectURI,null);"; protected final String TEXT_95 = NL + "\t\t\t\t\t \t \tthis.i"; protected final String TEXT_96 = "."; protected final String TEXT_97 = "(context"; protected final String TEXT_98 = ","; protected final String TEXT_99 = ","; protected final String TEXT_100 = "Format"; protected final String TEXT_101 = ", resp.getWriter()"; protected final String TEXT_102 = ",resultFormat"; protected final String TEXT_103 = ");" + NL + "\t\t\t\t\t \treturn true;" + NL + "\t\t\t\t\t\t}finally{" + NL + "\t\t\t\t \t\tif (stats.isEnabled()) {" + NL + "\t\t\t\t stats.get"; protected final String TEXT_104 = "Duration().addTime((System.currentTimeMillis() - start));" + NL + "\t\t\t\t }" + NL + "\t\t\t\t }"; protected final String TEXT_105 = NL + "\t\t\t\t\t}"; protected final String TEXT_106 = NL + "\t\t\t\t}" + NL + "\t\t\t\tbreak;" + NL + "\t\t\t}"; protected final String TEXT_107 = NL + "\t\t}" + NL + "\t return false;" + NL + "" + NL + " }" + NL + "}"; protected final String TEXT_108 = NL; /** * Generate source code * @param argument source for template * @return Return generated source */ public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); stringBuffer.append("$".toString()); stringBuffer.append(TEXT_3); stringBuffer.append("$".toString()); stringBuffer.append(TEXT_4); stringBuffer.append("$".toString()); stringBuffer.append(TEXT_5); stringBuffer.append("$".toString()); stringBuffer.append(TEXT_6); ServiceWrapper wrapper=(ServiceWrapper)argument;Service service = wrapper.service; stringBuffer.append(TEXT_7); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getRestPackage())); stringBuffer.append(TEXT_8); java.util.regex.Pattern objectPattern = java.util.regex.Pattern.compile("^/anzo/([a-zA-Z]*)?((\\((\\?[a-zA-Z]*)\\))?(/(([a-zA-Z]*)))?)?$"); stringBuffer.append(TEXT_9); if(service.getPropertyValue(DC.TITLE)!=null){ stringBuffer.append(JastorUtils.getStingValue(service.getPropertyValue(DC.TITLE))); } stringBuffer.append(TEXT_10); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_11); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_12); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getStatsPackage())); stringBuffer.append(TEXT_13); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_14); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getInterfacePackage())); stringBuffer.append(TEXT_15); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_16); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_17); java.util.HashMap<String, java.util.HashMap<RequestType, java.util.Collection<RestOperation>>> methods = new java.util.HashMap<String, java.util.HashMap<RequestType, java.util.Collection<RestOperation>>>(); java.util.HashSet<String> operationNames=new java.util.HashSet<String>(); for(Operation operation:JastorUtils.sortByTitle(service.getOperation())){ String opTemplate=operation.getRestEndpoint(); java.util.regex.Matcher match = objectPattern.matcher(opTemplate); if (match.matches()) { String method = null; String op = null; if (match.groupCount()>0&&match.group(1) != null) { method = match.group(1); } if (match.groupCount()>6&&match.group(6) != null) { op = match.group(6); } if(op!=null&&!operationNames.contains(op)){ operationNames.add(op); stringBuffer.append(TEXT_18); stringBuffer.append(op); stringBuffer.append(TEXT_19); stringBuffer.append(org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(op)); stringBuffer.append(TEXT_20); stringBuffer.append(op); stringBuffer.append(TEXT_21); } java.util.HashMap<RequestType, java.util.Collection<RestOperation>> typeMaps = methods.get("METHOD_"+org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(method)); if (typeMaps == null) { java.util.HashMap<RequestType, java.util.Collection<RestOperation>> maps = new java.util.HashMap<RequestType, java.util.Collection<RestOperation>>(); java.util.Collection<RestOperation> ops = new java.util.TreeSet<RestOperation>(); ops.add(new RestOperation((op!=null)?op:org.openanzo.rdf.utils.SerializationConstants.NULL_OP,operation,(match.matches()&&match.groupCount()>4&&match.group(4) != null))); maps.put(RequestType.valueOf(operation.getRestType()), ops); stringBuffer.append(TEXT_22); stringBuffer.append(method); stringBuffer.append(TEXT_23); stringBuffer.append(org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(method)); stringBuffer.append(TEXT_24); stringBuffer.append(method); stringBuffer.append(TEXT_25); methods.put("METHOD_"+org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(method), maps); } else { java.util.Collection<RestOperation> ops = typeMaps.get(RequestType.valueOf(operation.getRestType())); if (ops == null) { ops = new java.util.TreeSet<RestOperation>(); typeMaps.put(RequestType.valueOf(operation.getRestType()), ops); } ops.add(new RestOperation((op!=null)?op:org.openanzo.rdf.utils.SerializationConstants.NULL_OP,operation,(match.matches()&&match.groupCount()>4&&match.group(4) != null))); } }else{ java.util.HashMap<RequestType, java.util.Collection<RestOperation>> typeMaps = methods.get(SerializationConstants.NULL_OP); if (typeMaps == null) { java.util.HashMap<RequestType, java.util.Collection<RestOperation>> maps = new java.util.HashMap<RequestType, java.util.Collection<RestOperation>>(); java.util.Collection<RestOperation> ops = new java.util.TreeSet<RestOperation>(); ops.add(new RestOperation(SerializationConstants.NULL_OP,operation,(match.matches()&&match.groupCount()>4&&match.group(4) != null))); maps.put(RequestType.valueOf(operation.getRestType()), ops); methods.put(SerializationConstants.NULL_OP, maps); } else { java.util.Collection<RestOperation> ops = typeMaps.get(RequestType.valueOf(operation.getRestType())); if (ops == null) { ops = new java.util.TreeSet<RestOperation>(); typeMaps.put(RequestType.valueOf(operation.getRestType()), ops); } ops.add(new RestOperation(SerializationConstants.NULL_OP,operation,(match.matches()&&match.groupCount()>4&&match.group(4) != null))); } } } stringBuffer.append(TEXT_26); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_27); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_28); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getInterfacePackage())); stringBuffer.append(TEXT_29); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_30); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_31); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getStatsPackage())); stringBuffer.append(TEXT_32); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_33); MultiHashMap<String,String> methodOps=new MultiHashMap<String,String>(); for(java.util.Map.Entry<String,java.util.HashMap<RequestType, java.util.Collection<RestOperation>>> entry:methods.entrySet()){ for(java.util.Collection<RestOperation> ops:entry.getValue().values()){ for(RestOperation op:ops){ if(!methodOps.containsValue(entry.getKey().equals(SerializationConstants.NULL_OP)?"SerializationConstants.NULL_OP":entry.getKey(),(op.operationName!=null&&!op.operationName.equals(SerializationConstants.NULL_OP))?"OP_"+org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(op.operationName):"org.openanzo.rdf.utils.SerializationConstants.NULL_OP")){ methodOps.put(entry.getKey().equals(SerializationConstants.NULL_OP)?"org.openanzo.rdf.utils.SerializationConstants.NULL_OP":entry.getKey(),(op.operationName!=null&&!op.operationName.equals(SerializationConstants.NULL_OP))?"OP_"+org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(op.operationName):"org.openanzo.rdf.utils.SerializationConstants.NULL_OP"); } } } } for(java.util.Map.Entry<String,java.util.Collection<String>> entry:methodOps.entrySet()){ for(String opp:entry.getValue()){ stringBuffer.append(TEXT_34); stringBuffer.append(entry.getKey()); stringBuffer.append(TEXT_35); stringBuffer.append(opp); stringBuffer.append(TEXT_36); }} stringBuffer.append(TEXT_37); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getStatsPackage())); stringBuffer.append(TEXT_38); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_39); boolean firstMethod=true; for(String key:methods.keySet()) { boolean firstRequestType=true; java.util.HashMap<RequestType,java.util.Collection<RestOperation>> ops=methods.get(key); stringBuffer.append(TEXT_40); if(!firstMethod){ stringBuffer.append(TEXT_41); }else{ stringBuffer.append(TEXT_42); } stringBuffer.append(TEXT_43); if(SerializationConstants.NULL_OP.equals(key)){ stringBuffer.append(TEXT_44); }else{ stringBuffer.append(key); stringBuffer.append(TEXT_45); } stringBuffer.append(TEXT_46); for(java.util.Map.Entry<RequestType,java.util.Collection<RestOperation>> entry:ops.entrySet()){ if(!firstRequestType){ stringBuffer.append(TEXT_47); }firstRequestType=false; stringBuffer.append(TEXT_48); stringBuffer.append(entry.getKey()); stringBuffer.append(TEXT_49); boolean firstOp=true; for(RestOperation restOperation:entry.getValue()){ Operation operation=restOperation.operation; Parameter result=null; boolean resultHasDefaultFormat=false; Iterator<Parameter> results=operation.getResult().iterator(); if (results.hasNext()){ result=results.next(); if(result!=null){ resultHasDefaultFormat=result.getType().getDefaultJMSFormat()!=null||result.getType().getDefaultRestFormat()!=null||result.getType().getDefaultWSFormat()!=null; } } Parameter parameters[]=new Parameter[8]; String parameterName[]=new String[8]; String javaType[]=new String[8]; String type[]=new String[8]; String defaultValue[]=new String[8]; boolean nullAllowed[]=new boolean[8]; String defaultFormat[]=new String[8]; String serializer[]=new String[8]; int propertyLocation[]=new int[8]; int readerParam=-1; if(operation.getRequestParameter0()!=null){ parameters[0]=operation.getRequestParameter0();} if(operation.getRequestParameter1()!=null){ parameters[1]=operation.getRequestParameter1();} if(operation.getRequestParameter2()!=null){ parameters[2]=operation.getRequestParameter2();} if(operation.getRequestParameter3()!=null){ parameters[3]=operation.getRequestParameter3();} if(operation.getRequestParameter4()!=null){ parameters[4]=operation.getRequestParameter4();} if(operation.getRequestParameter5()!=null){ parameters[5]=operation.getRequestParameter5();} if(operation.getRequestParameter6()!=null){ parameters[6]=operation.getRequestParameter6();} if(operation.getRequestParameter7()!=null){ parameters[7]=operation.getRequestParameter7();} for(int i=0;i<8;i++){ if(parameters[i]!=null){ parameterName[i]=parameters[i].getName(); if(parameters[i].getType()!=null){ type[i]=javaType[i]=parameters[i].getType().getJavaType(); defaultValue[i]=parameters[i].getType().getDefaultValue(); serializer[i]=parameters[i].getType().getSerializer(); String location=parameters[i].getParameterLocation(); if(location==null){ propertyLocation[i]=0; }else if("body".equals(location)){ propertyLocation[i]=1; }else if("parameter".equals(location)){ propertyLocation[i]=0; }else if("transport".equals(location)){ propertyLocation[i]=2; }else if("callbackHandler".equals(location)){ propertyLocation[i]=-1; } Boolean nullAllowedBoolean=parameters[i].getNullAllowed(); nullAllowed[i]=(nullAllowedBoolean!=null)?nullAllowedBoolean.booleanValue():true; defaultFormat[i]=(parameters[i].getType().getDefaultJMSFormat()!=null)?parameters[i].getType().getDefaultJMSFormat().getJavaType():null; } } } String opTemplate=operation.getRestEndpoint(); java.util.regex.Matcher match = objectPattern.matcher(opTemplate); int uriParam=-1; if (match.matches()) { String param=null; if (match.groupCount()>4&&match.group(4) != null) { param = match.group(4); if(param.startsWith("?")){ param=param.substring(1); for(int i=0;i<8;i++){ if(parameterName[i]!=null&¶meterName[i].equals(param)){ uriParam=i; } } } } } stringBuffer.append(TEXT_50); if(!firstOp){ stringBuffer.append(TEXT_51); }else{ stringBuffer.append(TEXT_52); } stringBuffer.append(TEXT_53); if(restOperation.operationName==SerializationConstants.NULL_OP){ stringBuffer.append(TEXT_54); }else{ stringBuffer.append("OP_"+org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(restOperation.operationName)); stringBuffer.append(TEXT_55); } if(uriParam>-1){ stringBuffer.append(TEXT_56); } stringBuffer.append(TEXT_57); stringBuffer.append(WikiFormatUtils.capFirstLetter(operation.getName())); stringBuffer.append(TEXT_58); for(int i=0;i<8;i++){ Parameter parameter=parameters[i]; if(defaultFormat[i]!=null){ stringBuffer.append(TEXT_59); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_60); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getInterfacePackage())); stringBuffer.append(TEXT_61); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_62); stringBuffer.append(org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(parameterName[i])); stringBuffer.append(TEXT_63); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_64); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_65); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_66); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_67); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_68); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_69); stringBuffer.append(defaultFormat[i]); stringBuffer.append(TEXT_70); } if(parameter!=null&&propertyLocation[i]>-1&&i!=uriParam){ if(propertyLocation[i]==1){ readerParam=i; stringBuffer.append(TEXT_71); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_72); }else{ stringBuffer.append(TEXT_73); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_74); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getInterfacePackage())); stringBuffer.append(TEXT_75); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_76); stringBuffer.append(org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(parameterName[i])); stringBuffer.append(TEXT_77); stringBuffer.append(javaType[i]); stringBuffer.append(TEXT_78); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_79); if(nullAllowed[i]){ stringBuffer.append(TEXT_80); stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_81); } stringBuffer.append(serializer[i]); stringBuffer.append(TEXT_82); stringBuffer.append(WikiFormatUtils.convertPackageDirectory(wrapper.task.getInterfacePackage())); stringBuffer.append(TEXT_83); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_84); stringBuffer.append(org.openanzo.rdf.utils.WikiFormatUtils.formatConstantString(parameterName[i])); stringBuffer.append(TEXT_85); if(defaultFormat[i]!=null){ stringBuffer.append(parameterName[i]); stringBuffer.append(TEXT_86); }else{ stringBuffer.append(TEXT_87); } stringBuffer.append(TEXT_88); if(nullAllowed[i]){ stringBuffer.append(TEXT_89); } stringBuffer.append(TEXT_90); }}} if (uriParam>-1){ stringBuffer.append(TEXT_91); stringBuffer.append(javaType[uriParam]); stringBuffer.append(TEXT_92); stringBuffer.append(parameterName[uriParam]); stringBuffer.append(TEXT_93); stringBuffer.append(serializer[uriParam]); stringBuffer.append(TEXT_94); } stringBuffer.append(TEXT_95); stringBuffer.append(service.getName()); stringBuffer.append(TEXT_96); stringBuffer.append(operation.getName()); stringBuffer.append(TEXT_97); for(int i=0;i<8;i++){ if(parameters[i]!=null&&propertyLocation[i]>-1){ stringBuffer.append(TEXT_98); stringBuffer.append(parameterName[i]); } if(defaultFormat[i]!=null&&readerParam==i){ stringBuffer.append(TEXT_99); stringBuffer.append(parameterName[readerParam]); stringBuffer.append(TEXT_100); } } stringBuffer.append(TEXT_101); if(resultHasDefaultFormat){ stringBuffer.append(TEXT_102); } stringBuffer.append(TEXT_103); stringBuffer.append(WikiFormatUtils.capFirstLetter(operation.getName())); stringBuffer.append(TEXT_104); firstOp=false; } stringBuffer.append(TEXT_105); } stringBuffer.append(TEXT_106); firstMethod=false; } stringBuffer.append(TEXT_107); stringBuffer.append(TEXT_108); return stringBuffer.toString(); } }