Package org.beangle.packagekit.internal

Source Code of org.beangle.packagekit.internal.SimpleRegistry

/* Copyright c 2005-2012.
* Licensed under GNU  LESSER General Public License, Version 3.
* http://www.gnu.org/licenses
*/
package org.beangle.packagekit.internal;

import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.beangle.packagekit.Registry;
import org.beangle.packagekit.Resource;
import org.beangle.packagekit.maven.MavenUtils;

public class SimpleRegistry implements Registry {

  final Map<String, Resource> resourceMap = new HashMap<String, Resource>();

  public SimpleRegistry() {
    super();
    load(null);
  }

  public List<Resource> getResources() {
    return new ArrayList<Resource>(resourceMap.values());
  }

  public void load(URL url) {
    resourceMap.put("beangle-commons", MavenUtils.build("beangle-commons-1.0.0"));
    resourceMap.put("beangle-packagekit", MavenUtils.build("beangle-packagekit-1.0.0"));
    resourceMap.put("beangle-packagekit-webapp", MavenUtils
        .build("beangle-packagekit-webapp-1.0.0"));
  }

  public Resource getResource(String name) {
    return resourceMap.get(name);
  }

  public List<Resource> getUpdates(Registry newer) {
    List<Resource> newResources = new ArrayList<Resource>();
    for (String name : resourceMap.keySet()) {
      Resource newResource = newer.getResource(name);
      if (null != newResource && newResource.isNewerThen(resourceMap.get(name))) {
        newResources.add(resourceMap.get(name));
      }
    }
    return newResources;
  }

}
TOP

Related Classes of org.beangle.packagekit.internal.SimpleRegistry

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.