X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-xsql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fxsql%2FXSQLBluePrintRelation.java;h=68c8376050444134558e376b500fa7422ca1f4bd;hp=38a96dc45737bf5f0d82382a62c071af98940d78;hb=413cd215a9bc7ca039b231a3b1abdbba092276a5;hpb=183fa08a5484061c3b77593b1037adfa084158a6 diff --git a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintRelation.java b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintRelation.java index 38a96dc457..68c8376050 100644 --- a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintRelation.java +++ b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintRelation.java @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. 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 + */ + package org.opendaylight.controller.md.sal.dom.xsql; import java.io.Serializable; @@ -81,59 +89,39 @@ public class XSQLBluePrintRelation implements Serializable { } public List execute(Object o) { - List result = new LinkedList<>(); if (o == null) { return null; } - if (Set.class.isAssignableFrom(o.getClass())) { - Set lst = (Set) o; - for (Object oo : lst) { + List result = new LinkedList<>(); + if (o instanceof Set) { + for (Object oo : (Set) o) { addToResult(result, execute(oo)); } - return result; - } else if (List.class.isAssignableFrom(o.getClass())) { - List lst = (List) o; - for (Object oo : lst) { + } else if (o instanceof List) { + for (Object oo : (List) o) { addToResult(result, execute(oo)); } - return result; - } else if (Map.class.isAssignableFrom(o.getClass())) { - Map map = (Map) o; - for (Object oo : map.values()) { + } else if (o instanceof Map) { + for (Object oo : ((Map) o).values()) { addToResult(result, execute(oo)); } - return result; + } else { + addToResult(result, XSQLCriteria.getValue(o, this.property)); } - - addToResult(result, XSQLCriteria.getValue(o, this.property)); - return result; } private static void addToResult(List result, Object o) { - if (o == null) { - return; - } - if (Set.class.isAssignableFrom(o.getClass())) { - Set lst = (Set) o; - for (Object oo : lst) { - result.add(oo); - } - } else if (List.class.isAssignableFrom(o.getClass())) { - List lst = (List) o; - for (Object oo : lst) { - result.add(oo); - } - } else if (Map.class.isAssignableFrom(o.getClass())) { - Map map = (Map) o; - for (Object oo : map.values()) { - result.add(oo); - } - } else { + if (o instanceof Set) { + result.addAll((Set)o); + } else if (o instanceof List) { + result.addAll((List)o); + } else if (o instanceof Map) { + result.addAll(((Map)o).values()); + } else if (o != null) { result.add(o); } } - }