1 package org
.argeo
.slc
.maven
;
3 import java
.io
.IOException
;
4 import java
.util
.ArrayList
;
6 import java
.util
.StringTokenizer
;
8 import org
.apache
.commons
.io
.IOUtils
;
9 import org
.apache
.commons
.logging
.Log
;
10 import org
.apache
.commons
.logging
.LogFactory
;
11 import org
.argeo
.slc
.SlcException
;
12 import org
.springframework
.beans
.factory
.FactoryBean
;
13 import org
.springframework
.core
.io
.Resource
;
15 public class DependencyFileLoader
implements FactoryBean
{
16 private final static Log log
= LogFactory
.getLog(DependencyFileLoader
.class);
18 private Resource dependenciesResource
;
20 @SuppressWarnings("unchecked")
21 public List
<MavenFile
> loadMavenFiles() {
23 List
<MavenFile
> mavenFiles
= new ArrayList
<MavenFile
>();
25 List
<String
> lines
= IOUtils
.readLines(dependenciesResource
27 for (String line
: lines
) {
32 .startsWith("The following files have been resolved:"))
35 mavenFiles
.add(convert(line
));
36 } catch (Exception e
) {
37 log
.warn("Could not load line " + line
);
42 } catch (IOException e
) {
43 throw new SlcException("Could not read dependencies resource "
44 + dependenciesResource
, e
);
48 protected MavenFile
convert(String str
) {
49 StringTokenizer st
= new StringTokenizer(str
, ":");
50 MavenFile component
= new MavenFile();
51 component
.setGroupId(st
.nextToken());
52 component
.setArtifactId(st
.nextToken());
53 component
.setType(st
.nextToken());
54 component
.setVersion(st
.nextToken());
55 component
.setScope(st
.nextToken());
59 public void setDependenciesResource(Resource dependenciesResource
) {
60 this.dependenciesResource
= dependenciesResource
;
63 public Object
getObject() throws Exception
{
64 return loadMavenFiles();
67 @SuppressWarnings("unchecked")
68 public Class
<List
> getObjectType() {
72 public boolean isSingleton() {