Skip to content

Commit 8f7044f

Browse files
committed
some update
1 parent 2dd5c6e commit 8f7044f

File tree

12 files changed

+84
-34
lines changed

12 files changed

+84
-34
lines changed

imanager-common-web/src/main/java/com/imanager/common/web/constants/WebConstants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public class WebConstants {
1919

2020
public static final String RESPONSE_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
2121

22+
public static final String INPUT_VALIDATION_ERR = "Invalid input data specified";
23+
2224
private WebConstants() {
2325
}
2426
}

imanager-common/src/main/resources/config/app-config.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
<context:property-placeholder
1212
location="classpath*:/imanager/app-props.properties" />
1313

14-
<mongo:mongo-client host="${mongo.host}" port="${mongo.port}" />
14+
<mongo:mongo-client host="${mongo.host}" port="${mongo.port}">
15+
</mongo:mongo-client>
1516
<mongo:db-factory dbname="${mongo.db}" mongo-ref="mongo" />
1617
<!-- define default mongo converter -->
1718
<mongo:mapping-converter id="converter" />

imanager-service/src/main/java/com/imanager/service/dao/IBaseDAO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ public interface IBaseDAO {
1919

2020
public void update(BaseDocument document) throws SequenceException;
2121

22-
public void delete(Class<?> documentClass, String keyName, Integer... deleteIds) throws SequenceException;
22+
public boolean delete(Class<?> documentClass, String keyName, Integer... deleteIds) throws Exception;
2323

2424
}

imanager-service/src/main/java/com/imanager/service/dao/impl/BaseDAOImpl.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,12 @@
55
import java.io.Serializable;
66
import java.util.List;
77

8-
import javax.annotation.PostConstruct;
9-
108
import org.apache.commons.collections4.CollectionUtils;
119
import org.apache.commons.lang3.StringUtils;
1210
import org.springframework.beans.factory.annotation.Autowired;
1311
import org.springframework.data.domain.Sort;
1412
import org.springframework.data.mongodb.core.FindAndModifyOptions;
1513
import org.springframework.data.mongodb.core.MongoOperations;
16-
import org.springframework.data.mongodb.core.MongoTemplate;
17-
import org.springframework.data.mongodb.core.WriteResultChecking;
1814
import org.springframework.data.mongodb.core.query.Query;
1915
import org.springframework.data.mongodb.core.query.Update;
2016
import org.springframework.stereotype.Repository;
@@ -28,18 +24,14 @@
2824
import com.imanager.service.model.BaseDocument;
2925
import com.imanager.service.model.Customer;
3026
import com.imanager.service.model.Sequence;
27+
import com.mongodb.WriteResult;
3128

3229
@Repository
3330
public class BaseDAOImpl implements IBaseDAO {
3431

3532
@Autowired
3633
private MongoOperations mongoOperation;
3734

38-
@PostConstruct
39-
private void setWriteResultChecking() {
40-
((MongoTemplate) mongoOperation).setWriteResultChecking(WriteResultChecking.EXCEPTION);
41-
}
42-
4335
@Override
4436
public BaseDocument findById(DocumentFilter<? extends Serializable> filter) throws Exception {
4537
if (filter == null || StringUtils.isEmpty(filter.getSearchProperty())) {
@@ -106,9 +98,13 @@ public void update(BaseDocument document) throws SequenceException {
10698
}
10799

108100
@Override
109-
public void delete(Class<?> documentClass, String keyName, Integer... deleteIds) throws SequenceException {
101+
public boolean delete(Class<?> documentClass, String keyName, Integer... deleteIds) throws Exception {
110102
Query query = new Query(where(keyName).in((Object[]) deleteIds));
111-
mongoOperation.remove(query, documentClass);
103+
WriteResult writeResult = mongoOperation.remove(query, documentClass);
104+
if (writeResult != null && writeResult.getN() > 0) {
105+
return true;
106+
}
107+
return false;
112108
}
113109

114110
private Long getNextSequenceId(String key) throws SequenceException {

imanager-service/src/main/java/com/imanager/service/model/Address.java

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package com.imanager.service.model;
22

3-
import org.springframework.data.mongodb.core.mapping.Document;
4-
5-
@Document(collection = "addresses")
6-
public class Address extends BaseDocument {
3+
public class Address {
74

85
private String street;
96
private String city;
@@ -47,19 +44,4 @@ public String toString() {
4744
return "Address [street=" + street + ", city=" + city + ", state=" + state + ", pin=" + pin + "]";
4845
}
4946

50-
@Override
51-
public String getKeyName() {
52-
return null;
53-
}
54-
55-
@Override
56-
public Long getKeyValue() {
57-
return null;
58-
}
59-
60-
@Override
61-
public void setKeyValue(Long value) {
62-
63-
}
64-
6547
}

imanager-service/src/main/java/com/imanager/service/model/Customer.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.imanager.service.model;
22

33
import org.springframework.data.mongodb.core.index.Indexed;
4-
import org.springframework.data.mongodb.core.mapping.DBRef;
54
import org.springframework.data.mongodb.core.mapping.Document;
65

76
import com.imanager.service.constants.ServiceConstants;
@@ -13,7 +12,6 @@ public class Customer extends BaseDocument {
1312
private Long customerId;
1413
private String customerName;
1514
private String contact;
16-
@DBRef(lazy = true)
1715
private Address address;
1816

1917
public Long getCustomerId() {

imanager-service/src/main/java/com/imanager/service/model/Item.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.imanager.service.model;
22

3+
import org.springframework.data.mongodb.core.mapping.DBRef;
4+
35
public class Item {
46

57
private Integer quantity;
8+
@DBRef(lazy = true)
69
private Product product;
710

811
public Integer getQuantity() {

imanager-service/src/main/java/com/imanager/service/model/Product.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44

55
import org.springframework.data.mongodb.core.index.Indexed;
6+
import org.springframework.data.mongodb.core.mapping.DBRef;
67
import org.springframework.data.mongodb.core.mapping.Document;
78

89
import com.imanager.service.constants.ServiceConstants;
@@ -14,6 +15,7 @@ public class Product extends BaseDocument {
1415
private Long productId;
1516
private String productName;
1617
private Double price;
18+
@DBRef(lazy = true)
1719
private List<Supplier> suppliers;
1820

1921
public Product() {
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.imanager.test;
2+
3+
import java.io.IOException;
4+
import java.net.ServerSocket;
5+
import java.net.Socket;
6+
7+
public class UnitTest {
8+
9+
public static void main(String[] args) throws IOException{
10+
ServerSocket server = new ServerSocket(8080);
11+
12+
System.out.println("Server has started on 127.0.0.1:80.\r\nWaiting for a connection...");
13+
14+
Socket client = server.accept();
15+
16+
System.out.println("A client connected.");
17+
}
18+
}

imanager-web/src/main/java/com/imanager/web/endpoints/ImanagerEndPoint.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
import com.imanager.service.request.ServiceRequest;
3535
import com.imanager.service.vo.BaseVO;
3636
import com.imanager.util.ServiceDelegate;
37+
import com.imanager.web.exception.InputValidationException;
38+
import com.imanager.web.util.WebUtil;
3739

3840
@Service
3941
@Path("/v1")
@@ -145,6 +147,7 @@ public Response doCRUD(@Context HttpHeaders headers, @PathParam("documentName")
145147
BaseVO baseVO;
146148
Integer[] deleteIds;
147149
try {
150+
WebUtil.validateInput(documentName, action, entityData);
148151
DocumentType documentType = DocumentType.toEnum(documentName);
149152
ActionType actionType = ActionType.toEnum(action);
150153
ServiceRequest serviceRequest = new ServiceRequest();
@@ -168,6 +171,10 @@ public Response doCRUD(@Context HttpHeaders headers, @PathParam("documentName")
168171
builder = responseBuilder.buildSuccessResponse(successResponse, headers, WebConstants.SUCCESS,
169172
WebConstants.STATUS_200);
170173
response = builder.build();
174+
} catch (InputValidationException e) {
175+
builder = responseUtil.buildErrorResponse(headers, WebConstants.INPUT_VALIDATION_ERR, responseBuilder);
176+
response = builder.build();
177+
logger.error(LogCode.API_ERROR_CODE, "Input validation exception in doCRUD.", e);
171178
} catch (Exception e) {
172179
builder = responseUtil.buildErrorResponse(headers, "Unexpected error occured.", responseBuilder);
173180
response = builder.build();

0 commit comments

Comments
 (0)