001/*
002 * SonarQube, open source software quality management tool.
003 * Copyright (C) 2008-2014 SonarSource
004 * mailto:contact AT sonarsource DOT com
005 *
006 * SonarQube is free software; you can redistribute it and/or
007 * modify it under the terms of the GNU Lesser General Public
008 * License as published by the Free Software Foundation; either
009 * version 3 of the License, or (at your option) any later version.
010 *
011 * SonarQube is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014 * Lesser General Public License for more details.
015 *
016 * You should have received a copy of the GNU Lesser General Public License
017 * along with this program; if not, write to the Free Software Foundation,
018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
019 */
020package org.sonar.wsclient.unmarshallers;
021
022import org.sonar.wsclient.services.Dependency;
023import org.sonar.wsclient.services.WSUtils;
024
025public class DependencyUnmarshaller extends AbstractUnmarshaller<Dependency> {
026
027  @Override
028  protected Dependency parse(Object json) {
029    WSUtils utils = WSUtils.getINSTANCE();
030    return new Dependency()
031        .setId(utils.getString(json, "id"))
032        .setFromId(utils.getLong(json, "fi"))
033        .setToId(utils.getLong(json, "ti"))
034        .setFromKey(utils.getString(json, "fk"))
035        .setToKey(utils.getString(json, "tk"))
036        .setUsage(utils.getString(json, "u"))
037        .setWeight(utils.getInteger(json, "w"))
038        .setFromName(utils.getString(json, "fn"))
039        .setFromQualifier(utils.getString(json, "fq"))
040        .setToName(utils.getString(json, "tn"))
041        .setToQualifier(utils.getString(json, "tq"));
042  }
043}