Project

General

Profile

« Previous | Next » 

Revision 46633

View differences:

modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/RequestComment.java
1
package eu.dnetlib.goldoa.domain;
2

  
3
import com.fasterxml.jackson.annotation.JsonBackReference;
4

  
5
import java.io.Serializable;
6
import javax.persistence.*;
7

  
8

  
9
/**
10
 * The persistent class for the request_comment database table.
11
 * 
12
 */
13
@Entity
14
@Table(name="request_comment")
15
public class RequestComment implements Serializable {
16
	private static final long serialVersionUID = 1L;
17

  
18
	@Id
19
	@ManyToOne
20
    @JoinColumn(name = "comment")
21
	private Comment comment;
22
	
23
	@Id
24
	@ManyToOne
25
	@JoinColumn(name = "\"user\"")
26
	@JsonBackReference
27
	private User user;
28

  
29
	@Id
30
	@ManyToOne
31
    @JoinColumn(name = "request")
32
	private Request request;
33

  
34
	public RequestComment() {
35
	}
36

  
37
	public Comment getComment() {
38
		return this.comment;
39
	}
40

  
41
	public void setComment(Comment comment) {
42
		this.comment = comment;
43
	}
44

  
45
	public User getUser() {
46
		return user;
47
	}
48

  
49
	public void setUser(User user) {
50
		this.user = user;
51
	}
52

  
53
	public Request getRequest() {
54
		return request;
55
	}
56

  
57
	public void setRequest(Request request) {
58
		this.request = request;
59
	}
60

  
61
	@Override
62
	public boolean equals(Object o) {
63
		if (this == o) return true;
64
		if (o == null || getClass() != o.getClass()) return false;
65

  
66
		RequestComment that = (RequestComment) o;
67

  
68
		if (comment != null ? !comment.equals(that.comment) : that.comment != null) return false;
69
		if (user != null ? !user.equals(that.user) : that.user != null) return false;
70
		return request != null ? request.equals(that.request) : that.request == null;
71
	}
72

  
73
	@Override
74
	public int hashCode() {
75
		int result = comment != null ? comment.hashCode() : 0;
76
		result = 31 * result + (user != null ? user.hashCode() : 0);
77
		result = 31 * result + (request != null ? request.hashCode() : 0);
78
		return result;
79
	}
80
}
modules/uoa-goldoa-service/branches/hibernate/src/test/java/unitest/BudgetTest.java
43 43
        budget.setUser(um.getByEmail("pkanakakis@di.uoa.gr"));
44 44
        budget.setBankAccount(bankAccount);
45 45
        budget.setAmountRequested(Float.parseFloat("10000"));
46
        budget.setOrganization(om.getById("corda::983580389"));
47 46
        budget.getOrganizations().add(om.getById("corda::983580389"));
48 47
        bg.submitBudgetRequest(budget);
49 48
    }
modules/uoa-goldoa-service/branches/hibernate/src/test/resources/applicationContext-goldoa-service.properties
1 1
goldoa.db.driverClassName = org.postgresql.Driver
2
goldoa.db.url = jdbc:postgresql://194.177.192.119:5432/goldoa-test-1
2
goldoa.db.url = jdbc:postgresql://194.177.192.119:5432/goldoamigration
3 3
goldoa.db.username = dnet
4 4
goldoa.db.password = dnetPwd
5 5

  
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/RequestManagerImpl.java
3 3
import eu.dnetlib.goldoa.domain.*;
4 4
import eu.dnetlib.goldoa.service.dao.RequestDAO;
5 5
import eu.dnetlib.goldoa.service.utils.EmailUtils;
6
import net.sf.ehcache.search.expression.Or;
6 7
import org.springframework.beans.factory.annotation.Autowired;
7 8
import org.springframework.dao.EmptyResultDataAccessException;
8 9
import org.springframework.stereotype.Service;
......
250 251
		if (request.getBudget() != null) {
251 252
            Budget budget = request.getBudget();
252 253

  
253
			if (budget.getOrganization() != null)
254
            //Organization organization = budgetManager.getBudgetForOrganization(budget.getId());
255
			Organization organization = budget.getOrganizations().get(0);
256
			if (organization != null)
254 257
				request.setStatus(Request.RequestStatus.LIBRARY_FUND_SUBMITTED);
255 258
			else if (budget.getPublisher() != null)
256 259
				request.setStatus(Request.RequestStatus.PUBLISHER_FUND_SUBMITTED);
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/BudgetManager.java
1 1
package eu.dnetlib.goldoa.service;
2 2

  
3 3
import eu.dnetlib.goldoa.domain.Budget;
4
import eu.dnetlib.goldoa.domain.Organization;
4 5

  
5 6
import java.io.InputStream;
6 7
import java.util.List;
......
49 50
	public void uploadBankReceipt(String budgetId, String contentType, InputStream inputStream);
50 51

  
51 52
	public Budget getForRequest(String organizationId, String publisherEmail);
53

  
54
    public Organization getOrganizationForBudget(String id);
52 55
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/PublisherManagerImpl.java
3 3

  
4 4
import eu.dnetlib.goldoa.domain.Currency;
5 5
import eu.dnetlib.goldoa.domain.Publisher;
6
import eu.dnetlib.goldoa.domain.Vocabulary;
7 6
import eu.dnetlib.goldoa.service.dao.UserDAO;
8 7
import eu.dnetlib.goldoa.service.dao.PublisherDAO;
9 8
import org.apache.commons.codec.digest.DigestUtils;
......
64 63
		this.publisherDAO = publisherDAO;
65 64
	}
66 65

  
66
	public Integer getBankAddress() {
67
		return publisherDAO.getBankAddress();
68
	}
67 69
}
68 70

  
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/PublisherDAO.java
1 1
package eu.dnetlib.goldoa.service.dao;
2 2

  
3 3
import eu.dnetlib.goldoa.domain.Publisher;
4
import eu.dnetlib.goldoa.domain.Vocabulary;
5 4
import org.hibernate.criterion.Restrictions;
6 5
import org.springframework.stereotype.Repository;
7
import java.util.ArrayList;
6

  
8 7
import java.util.List;
9 8

  
10 9
/**
......
34 33
		return publisher;
35 34
	}
36 35

  
36
    public Integer getBankAddress() {
37
		return getSession().createQuery("select nextval('publisher_bank_address_seq') as id").getFirstResult();
38
    }
37 39
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/RequestDAO.java
621 621
	}
622 622

  
623 623
	public List<Comment> getComments(String id) {
624
		Request r = getRequest(id);
625
		List<Comment> cms = null;
626
		for(RequestComment rc : r.getRequestComments())
627
			cms.add(rc.getComment());
628
		return cms;
624
		return getRequest(id).getRequestComments();
629 625
	}
630 626

  
631 627
	public void uploadBankTransferReceipt(final String requestid, final String contentType, InputStream inputStream) {
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/BudgetDAO.java
49 49
				.addOrder(Order.asc("date")).list();
50 50
	}
51 51

  
52
	@SuppressWarnings("unchecked")
52 53
	public List<Budget> getBudgetsForOrganization(final List<String> organizationIds) {
53 54
		List<Budget> rs = new ArrayList<>();
54 55
		for(String orgID : organizationIds){
......
236 237
	public BigInteger getRequestId() {
237 238
		return (BigInteger) getSession().createSQLQuery("select nextval('budget_id_seq') as id").list().get(0);
238 239
	}
240

  
241
    public Organization getOrganizationForBudget(String budgetID) {
242
		return (Organization) createEntityCriteria().add(Restrictions.eq("budget.id", budgetID)).list().get(0);
243
    }
239 244
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/PublicationManagerImpl.java
206 206
		Publisher publisher = new Publisher();
207 207

  
208 208
		publisher.setName(publisherName.textValue());
209

  
210
		/*publisher.setBank_address(publisherManager.getBankAddress().toString());
211
		publisher.setBank_holder(null);
212
		publisher.setBank_iban(null);
213
		publisher.setBank_name(null);*/
214
		
209 215
		publisher.setBankAccount(new BankAccount());
210 216

  
211 217
		publisher.setId("crossref::" + DigestUtils.md5Hex(publisher.getName()));
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/PublisherManager.java
10 10
	public Publisher getPublisher(String publisherId);
11 11

  
12 12
	public Publisher savePublisher(Publisher publisher);
13

  
14
    public Integer getBankAddress();
13 15
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/BudgetManagerImpl.java
1 1
package eu.dnetlib.goldoa.service;
2 2

  
3 3
import eu.dnetlib.goldoa.domain.Budget;
4
import eu.dnetlib.goldoa.domain.Organization;
4 5
import eu.dnetlib.goldoa.domain.User;
5 6
import eu.dnetlib.goldoa.domain.PersonManagerException;
6 7
import eu.dnetlib.goldoa.service.dao.BudgetDAO;
......
372 373
	private Budget.Status getStatus(int statusCode) {
373 374
		return Budget.Status.forStatus(statusCode);
374 375
	}
376

  
377
	public Organization getOrganizationForBudget(String budgetID){
378
		return budgetDAO.getOrganizationForBudget(budgetID);
379
	}
375 380
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/Comment.java
1 1
package eu.dnetlib.goldoa.domain;
2 2

  
3
import com.fasterxml.jackson.annotation.JsonBackReference;
4

  
3 5
import java.io.Serializable;
4 6
import javax.persistence.*;
5 7
import java.sql.Time;
......
35 37

  
36 38
	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "comments")
37 39
	private List<Budget> budgets = new ArrayList<>();
40

  
41
	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "requestComments")
42
	@JsonBackReference
43
	private List<Request> requests = new ArrayList<>();
38 44
	
39
	@OneToMany(mappedBy = "comment",cascade=CascadeType.ALL)
40
	private List<RequestComment> requestComment = new ArrayList<>();
41
	
42 45
	public Comment() {
43 46
	}
44 47

  
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/Organization.java
38 38
	@JsonBackReference
39 39
	private List<Project> projects = new ArrayList<>();
40 40

  
41
	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "organizations")
42
	@JsonBackReference
43
	private List<Project> publishers = new ArrayList<>();
44

  
41 45
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "pk.organization")
42 46
	private List<PublisherDiscount> publisherDiscount = new ArrayList<>();
43 47
	
......
98 102
	public void setProjects(List<Project> projects) {
99 103
		this.projects = projects;
100 104
	}
105

  
106

  
107
	public List<Project> getPublishers() {
108
		return publishers;
109
	}
110

  
111
	public void setPublishers(List<Project> publishers) {
112
		this.publishers = publishers;
113
	}
101 114
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/Journal.java
45 45
	@Column(columnDefinition = "text")
46 46
	private String languages;
47 47

  
48
	@OneToOne
49
    @JoinColumn(name = "country")
50
	private Country country;
48
	@Column(columnDefinition = "text")
49
	private String country;
51 50

  
52 51
	@Basic
53 52
	@Convert( converter=CurrencyConverter.class )
......
87 86
		this.apccurrency = apccurrency;
88 87
	}
89 88

  
90
	public Country getCountry() {
89
	public String getCountry() {
91 90
		return this.country;
92 91
	}
93 92

  
94
	public void setCountry(Country country) {
93
	public void setCountry(String country) {
95 94
		this.country = country;
96 95
	}
97 96

  
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/User.java
58 58
			inverseJoinColumns = {@JoinColumn(name = "project",
59 59
					nullable = false, updatable = false) })
60 60
	private List<Project> coordinatedProjects = new ArrayList<>();
61
	
62
	@OneToMany(mappedBy = "user",cascade=CascadeType.ALL)
63
	private List<RequestComment> requestComment = new ArrayList<>();
64 61

  
65 62
	public List<UserRole> getRoles() {
66 63
		return roles;
......
192 189
		this.coordinatedProjects = coordinatedProjects;
193 190
	}
194 191

  
195
	public List<RequestComment> getRequestComment() {
196
		return requestComment;
197
	}
198

  
199
	public void setRequestComment(List<RequestComment> requestComment) {
200
		this.requestComment = requestComment;
201
	}
202

  
203 192
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/Publisher.java
26 26
	@Column(columnDefinition = "text")
27 27
	private String source;
28 28

  
29
	/*@Column(columnDefinition = "text")
30
	private String bank_name;
31
	@Column(columnDefinition = "text")
32
	private String bank_address;
33
	@Column(columnDefinition = "text")
34
	private String bank_iban;
35
	@Column(columnDefinition = "text")
36
	private String bank_holder;*/
29 37
	@OneToOne
30 38
	@JoinColumn(name = "bankAccount")
31 39
	private BankAccount bankAccount;
......
43 51
	@JsonBackReference(value="contact")
44 52
	private User contact;
45 53

  
54

  
55
	@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
56
	@JoinTable(name = "organization_publisher",  joinColumns = {
57
			@JoinColumn(name = "publisher", nullable = false, updatable = false)},
58
			inverseJoinColumns = { @JoinColumn(name = "organization",
59
					nullable = false, updatable = false) })
60
	private List<Organization> organizations = new ArrayList<>();
61

  
46 62
	public Publisher() {}
47 63

  
64

  
65
	/*public String getBank_name() {
66
		return bank_name;
67
	}
68

  
69
	public void setBank_name(String bank_name) {
70
		this.bank_name = bank_name;
71
	}
72

  
73
	public String getBank_address() {
74
		return bank_address;
75
	}
76

  
77
	public void setBank_address(String bank_address) {
78
		this.bank_address = bank_address;
79
	}
80

  
81
	public String getBank_iban() {
82
		return bank_iban;
83
	}
84

  
85
	public void setBank_iban(String bank_iban) {
86
		this.bank_iban = bank_iban;
87
	}
88

  
89
	public String getBank_holder() {
90
		return bank_holder;
91
	}
92

  
93
	public void setBank_holder(String bank_holder) {
94
		this.bank_holder = bank_holder;
95
	}
96
*/
48 97
	public float getApc() {
49 98
		return this.apc;
50 99
	}
......
124 173
	public void setPublisherDiscount(List<PublisherDiscount> publisherDiscount) {
125 174
		this.publisherDiscount = publisherDiscount;
126 175
	}
176

  
177
	public List<Organization> getOrganizations() {
178
		return organizations;
179
	}
180

  
181
	public void setOrganizations(List<Organization> organizations) {
182
		this.organizations = organizations;
183
	}
127 184
}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/Budget.java
99 99
    @JoinColumn(name = "invoice")
100 100
	private Invoice invoice;
101 101

  
102
	@OneToOne
103
    @JoinColumn(name = "organization")
104
	private Organization organization;
105 102

  
106 103
	@OneToOne
107 104
    @JoinColumn(name = "publisher")
......
125 122
			inverseJoinColumns = { @JoinColumn(name = "budget",
126 123
					nullable = false, updatable = false) })
127 124
	private List<Organization> organizations = new ArrayList<>();
128
	
125

  
126

  
129 127
	public Budget() {}
130 128
	
131 129
	public User getUser() {
......
224 222
		this.invoice = invoice;
225 223
	}
226 224

  
227
	public Organization getOrganization() {
228
		return this.organization;
229
	}
230

  
231
	public void setOrganization(Organization organization) {
232
		this.organization = organization;
233
	}
234

  
235 225
	public Float getOtherCost() {
236 226
		return this.otherCost;
237 227
	}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/domain/Request.java
142 142
	@OneToMany(mappedBy = "pk.request",cascade=CascadeType.ALL)
143 143
	private List<RequestCoFunder> requestCoFunders = new ArrayList<>();
144 144

  
145
	@OneToMany(mappedBy = "request",cascade=CascadeType.ALL)
146
	private List<RequestComment> requestComments = new ArrayList<>();
145
	@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
146
	@JoinTable(name = "request_comment",  joinColumns = {
147
			@JoinColumn(name = "request", nullable = false, updatable = false)},
148
			inverseJoinColumns = { @JoinColumn(name = "comment",
149
					nullable = false, updatable = false) })
150
	private List<Comment> requestComments = new ArrayList<>();
147 151

  
148 152
	public Request() {}
149 153

  
......
355 359
		this.requestCoFunders = requestCoFunders;
356 360
	}
357 361

  
358
	public List<RequestComment> getRequestComments() {
362
	public List<Comment> getRequestComments() {
359 363
		return requestComments;
360 364
	}
361 365

  
362
	public void setRequestComments(List<RequestComment> requestComments) {
366
	public void setRequestComments(List<Comment> requestComments) {
363 367
		this.requestComments = requestComments;
364 368
	}
365 369

  
modules/uoa-goldoa-service/branches/hibernate/src/main/resources/eu/dnetlib/goldoa/service/applicationContext-goldoa-service.properties
1 1
goldoa.db.driverClassName = org.postgresql.Driver
2 2

  
3
goldoa.db.url = jdbc:postgresql://194.177.192.119:5432/goldoa-test-1
3
goldoa.db.url = jdbc:postgresql://194.177.192.119:5432/goldoamigration
4 4
goldoa.db.username = dnet
5 5
goldoa.db.password = dnetPwd
6 6

  
modules/uoa-goldoa-service/branches/hibernate/src/main/resources/hibernate.cfg.xml
7 7

  
8 8
<hibernate-configuration>
9 9
    <session-factory>
10
        <property name="hibernate.hbm2ddl.auto">validate</property>
10
        <property name="hibernate.hbm2ddl.auto">update</property>
11 11
		<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL9Dialect</property>
12 12
        <property name="show_sql">true</property>	
13 13
       	<property name="connection.pool_size">1</property>

Also available in: Unified diff