1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.maven.plugins.pdf.stubs;
20
21 /*
22 * Licensed to the Apache Software Foundation (ASF) under one
23 * or more contributor license agreements. See the NOTICE file
24 * distributed with this work for additional information
25 * regarding copyright ownership. The ASF licenses this file
26 * to you under the Apache License, Version 2.0 (the
27 * "License"); you may not use this file except in compliance
28 * with the License. You may obtain a copy of the License at
29 *
30 * http://www.apache.org/licenses/LICENSE-2.0
31 *
32 * Unless required by applicable law or agreed to in writing,
33 * software distributed under the License is distributed on an
34 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
35 * KIND, either express or implied. See the License for the
36 * specific language governing permissions and limitations
37 * under the License.
38 */
39
40 import java.io.File;
41 import java.util.List;
42
43 import org.apache.commons.io.input.XmlStreamReader;
44 import org.apache.maven.model.Developer;
45 import org.apache.maven.model.Model;
46 import org.apache.maven.model.Organization;
47 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
48 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
49
50 /**
51 * @author ltheussl
52 */
53 public class ModelBuilderMavenProjectStub extends MavenProjectStub {
54 /**
55 * Stub to test the DocumentModelBuilder.
56 */
57 public ModelBuilderMavenProjectStub() {
58 try (XmlStreamReader reader = new XmlStreamReader(getFile())) {
59 final Model model = new MavenXpp3Reader().read(reader);
60 setModel(model);
61
62 setGroupId(model.getGroupId());
63 setArtifactId(model.getArtifactId());
64 setVersion(model.getVersion());
65 setName(model.getName());
66 setDescription(model.getDescription());
67 setDevelopers(model.getDevelopers());
68 setOrganization(model.getOrganization());
69 } catch (Exception e) {
70 throw new RuntimeException(e);
71 }
72 }
73
74 /** {@inheritDoc} */
75 public File getBasedir() {
76 return new File(super.getBasedir(), "target/test-classes/unit/pdf/");
77 }
78
79 /** {@inheritDoc} */
80 public void addDeveloper(Developer developer) {
81 getModel().addDeveloper(developer);
82 }
83
84 /** {@inheritDoc} */
85 public List<Developer> getDevelopers() {
86 return getModel().getDevelopers();
87 }
88
89 /** {@inheritDoc} */
90 public Organization getOrganization() {
91 return getModel().getOrganization();
92 }
93
94 /** {@inheritDoc} */
95 public void setDevelopers(List<Developer> list) {
96 getModel().setDevelopers(list);
97 }
98
99 /** {@inheritDoc} */
100 public void setOrganization(Organization organization) {
101 getModel().setOrganization(organization);
102 }
103
104 /** {@inheritDoc} */
105 public File getFile() {
106 return new File(getBasedir(), "pom_model_builder.xml");
107 }
108 }