X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Frserv%2FContent.java;h=f4f0e665fba59f7ff337a24ff566529664666b18;hb=HEAD;hp=f8760ada584d341659530a4af7e04efeaa4b67eb;hpb=4b5a7d721d994a49057e9bfb403c7bff1b376660;p=aaf%2Fauthz.git diff --git a/auth/auth-core/src/main/java/org/onap/aaf/auth/rserv/Content.java b/auth/auth-core/src/main/java/org/onap/aaf/auth/rserv/Content.java index f8760ada..f4f0e665 100644 --- a/auth/auth-core/src/main/java/org/onap/aaf/auth/rserv/Content.java +++ b/auth/auth-core/src/main/java/org/onap/aaf/auth/rserv/Content.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -29,14 +29,14 @@ import org.onap.aaf.misc.env.Trans; /** * A Class to hold Service "ContentTypes", and to match incoming "Accept" types from HTTP. - * + * * This is a multi-use class built to use the same Parser for ContentTypes and Accept. - * + * * Thus, you would create and use "Content.Type" within your service, and use it to match * Accept Strings. What is returned is an Integer (for faster processing), which can be * used in a switch statement to act on match different Actions. The server should * know which behaviors match. - * + * * "bestMatch" returns an integer for the best match, or -1 if no matches. * * @author Jonathan @@ -49,26 +49,31 @@ public abstract class Content { /** * Parse a Content-Type/Accept. As found, call "types" and "props", which do different - * things depending on if it's a Content-Type or Accepts. - * + * things depending on if it's a Content-Type or Accepts. + * * For Content-Type, it builds a tree suitable for Comparison * For Accepts, it compares against the tree, and builds an acceptable type list - * + * * Since this parse code is used for every incoming HTTP transaction, I have removed the implementation * that uses String.split, and replaced with integers evaluating the Byte array. This results - * in only the necessary strings created, resulting in 1/3 better speed, and less + * in only the necessary strings created, resulting in 1/3 better speed, and less * Garbage collection. - * + * * @param trans * @param code * @param cntnt * @return */ protected boolean parse(HttpCode code, String cntnt) { - byte bytes[] = cntnt.getBytes(); - boolean contType=false,contProp=true; - int cis,cie=-1,cend; - int sis,sie,send; + byte[] bytes = cntnt.getBytes(); + boolean contType=false; + boolean contProp=true; + int cis; + int cie=-1; + int cend; + int sis; + int sie; + int send; do { cis = cie+1; cie = cntnt.indexOf(',',cis); @@ -80,13 +85,12 @@ public abstract class Content { sis = sie+1; sie = cntnt.indexOf(';',sis); send = sie>cend || sie<0?cend:sie; - if(me==null) { + if (me==null) { String semi = new String(bytes,sis,send-sis); - // trans.checkpoint(semi); // Look at first entity within comma group // Is this an acceptable Type? me=types(code, semi); - if(me==null) { + if (me==null) { sie=-1; // skip the rest of the processing... not a type } else { contType=true; @@ -95,21 +99,20 @@ public abstract class Content { // If there are additional elements (more entities within Semi Colons) // apply Propertys int eq = cntnt.indexOf('=',sis); - if(eq>sis && eqsis && eq