Hi All,
Many people on internet are looking for latest and valid Java SE 1.6 dumps.
On this post, I am sharing valid and latest dumps.
Click Here to download.
Please provide feedback after taking exams about the dumps.
Cheers !!
"Learning gives Creativity,Creativity leads to Thinking, Thinking provides Knowledge, Knowledge makes you Great"
(Correct Answer) |
mr = db.runCommand({
"mapreduce" : "things",
"map" : function() {
for (var key in this) {
emit(key, null); }
},
"reduce" : function(key, stuff) {
return null; },
"out": "things" + "_keys"
})
db[mr.result].distinct("_id")
["foo", "bar", "baz", "_id", ...]
XMLHttpRequest
.
Strictly speaking XHR2 isn't HTML5. However, it's part of the incremental improvements
browser vendors are making to the core platform. I'm including XHR2 in our new bag of
goodies because it plays such an integral part in today's complex web apps.for missing fields, use the default value from the constructor. But what we want is:
for missing fields, to not change the value in the database.
@RequestEntity
to handle these parameters. Like @PathEntity
,
a URL template is tied to a domain entity, but now the request body is
used to update the (detached) record. An example usage would be:
1
2
3
4
5
|
@RequestMapping(value = "/", method = RequestMethod.PUT)
@ResponseBody
public Invoice updateInvoice(@RequestEntity("invoiceId") Invoice invoice) {
// ...
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package com.jay.demo;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotation to indicate a method parameter should be bound to the web request body. Used for {@link
* org.springframework.web.bind.annotation.RequestMapping @RequestMapping} annotated methods.
*/
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestEntity {
/**
* The name of the URL template that contains the .
*
* @return the name of the URL template that is the entity id
*/
String value();
}
|
@RequestBody
annotation combined with @Valid
(see the first example) ensure that the controller only needs to save the record.@PathEntity
annotation in the second example
already provides a loaded record, so the controller can simply return
it. Only returning multiple records (i.e. searches) requires more code.@RequestEntity
annotation in the third example provides a detached, updated and optionally validated record. This includes partial updates The controller method only has to save it.@PathEntity
annotation provides a record, so it can simply be removed.POST
request to a URL to execute an action on a domain object. As we prefer
not to repeat the code to retrieve the domain object, we’ve created an
annotation @PathEntity
so we can do this:
1
2
3
4
5
|
@RequestMapping(value = "/", method = RequestMethod.POST, params = "action=approve")
@ResponseBody
public Invoice approveInvoice(@PathEntity("invoiceId") Invoice invoice) {
// ...
}
|
@PathEntity
annotation and the PathEntityMethodArgumentResolver
to handle it is this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package com.jay.demo;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotation to indicate a method parameter should be bound to a URL template, and retrieved as a domain entity.
* Used for annotated methods.
*/
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface PathEntity {
/**
* The name of the URL template that contains the
* .
*
* @return the name of the URL template that is the entity id
*/
String value();
}
|
@PathEntity
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
package com.jay.demo;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter;
import org.springframework.core.convert.ConversionService;
import org.springframework.web.bind.support.WebDataBinderFactory;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
import org.springframework.web.servlet.HandlerMapping;
import nl.t42.generic.EntityNotFoundException;
import nl.t42.generic.DomainEntity;
/**
* A that converts a HTTP request body to a , provided that
* the handler method argument is annotated with .
*/
public class PathEntityMethodArgumentResolver implements HandlerMethodArgumentResolver {
/**
* A conversion service to convert primary key values.
*/
@Autowired
private ConversionService conversionService;
/**
* The entity manager used to retrieve the entities.
*/
@Autowired
private EntityManager entityManager;
@Override
public boolean supportsParameter(MethodParameter parameter) {
return parameter.hasParameterAnnotation(PathEntity.class) && isADomainEntity(parameter);
}
/**
* Determine if a method parameter is a DomainEntity.
*
* @param parameter a method parameter
* @return if the type of the parameter is (a subclass of) DomainEntity
*/
protected boolean isADomainEntity(MethodParameter parameter) {
return DomainEntity.class.isAssignableFrom(parameter.getParameterType());
}
@Override
public DomainEntity resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
String primaryKeyName = getPrimaryKeyName(parameter);
Long entityId = findPrimaryKeyValue(webRequest, primaryKeyName);
return findEntity(parameter, entityId);
}
/**
* Get the nam of the URL template that holds the primary key.
*
* @param parameter the method parameter
* @return the name of a URL template
*/
protected String getPrimaryKeyName(MethodParameter parameter) {
return parameter.getParameterAnnotation(PathEntity.class).value();
}
private Long findPrimaryKeyValue(NativeWebRequest webRequest, String primaryKeyName) {
Map<String, String> pathVariables = getPathVariables(webRequest);
String primaryKeyValue = pathVariables.get(primaryKeyName);
if (primaryKeyValue == null) {
throw new IllegalStateException(String.format("The path variable %s cannot be resolved.", primaryKeyName));
}
return conversionService.convert(primaryKeyValue, Long.class);
}
private Map<String, String> getPathVariables(NativeWebRequest webRequest) {
HttpServletRequest httpServletRequest = webRequest.getNativeRequest(HttpServletRequest.class);
return (Map<String, String>) httpServletRequest.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
}
private DomainEntity findEntity(MethodParameter parameter, Long entityId) {
Class<? extends DomainEntity> entityType = (Class<? extends DomainEntity>) parameter.getParameterType();
DomainEntity entity = entityManager.find(entityType, entityId);
if (entity == null) {
throw new EntityNotFoundException(
String.format("Cannot find a %s with id=%d", entityType.getSimpleName(), entityId));
}
return entity;
}
}
|
MethodHandlerArgumentResolver
is as usual:
1
2
3
4
5
|
<mvc:annotation-driven>
<mvc:argument-resolvers>
<bean class="nl.t42.spring31.PathEntityMethodArgumentResolver"/>
</mvc:argument-resolvers>
</mvc:annotation-driven>
|
EntityManager.merge(Object)
to persist any changes.