More tutorial work
This commit is contained in:
parent
ae3e030c3e
commit
b416944f89
|
@ -0,0 +1,46 @@
|
|||
package ca.uhn.fhir.example.ex1;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ca.uhn.fhir.model.api.IResource;
|
||||
import ca.uhn.fhir.model.dstu.resource.Patient;
|
||||
import ca.uhn.fhir.model.primitive.IdDt;
|
||||
import ca.uhn.fhir.rest.annotation.Create;
|
||||
import ca.uhn.fhir.rest.annotation.IdParam;
|
||||
import ca.uhn.fhir.rest.annotation.OptionalParam;
|
||||
import ca.uhn.fhir.rest.annotation.Read;
|
||||
import ca.uhn.fhir.rest.annotation.ResourceParam;
|
||||
import ca.uhn.fhir.rest.annotation.Search;
|
||||
import ca.uhn.fhir.rest.param.StringParam;
|
||||
import ca.uhn.fhir.rest.server.IResourceProvider;
|
||||
|
||||
/**
|
||||
* Note, this is an incomplete example of a resource provider. It does not
|
||||
* do anything but is used as examples of methods that can be used.
|
||||
*/
|
||||
public class Example01_ResourceProviders implements IResourceProvider {
|
||||
|
||||
@Override
|
||||
public Class<? extends IResource> getResourceType() {
|
||||
return Patient.class;
|
||||
}
|
||||
|
||||
@Read()
|
||||
public Patient read(@IdParam IdDt theId) {
|
||||
return null; // populate this
|
||||
}
|
||||
|
||||
@Create
|
||||
void create(@ResourceParam Patient thePatient) {
|
||||
// save the resource
|
||||
}
|
||||
|
||||
@Search
|
||||
List<Patient> search(
|
||||
@OptionalParam(name="family") StringParam theFamily,
|
||||
@OptionalParam(name="given") StringParam theGiven
|
||||
) {
|
||||
return null; // populate this
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package ca.uhn.fhir.example.ex1;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
|
||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||
|
||||
public class Example01_SimpleRestfulServer extends RestfulServer {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void initialize() throws ServletException {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package ca.uhn.fhir.example.ex1;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import ca.uhn.fhir.model.api.IResource;
|
||||
import ca.uhn.fhir.model.dstu.resource.Patient;
|
||||
import ca.uhn.fhir.model.primitive.IdDt;
|
||||
import ca.uhn.fhir.rest.annotation.IdParam;
|
||||
import ca.uhn.fhir.rest.annotation.Read;
|
||||
import ca.uhn.fhir.rest.server.IResourceProvider;
|
||||
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
|
||||
|
||||
/**
|
||||
* Note, this is an incomplete example of a resource provider. It shows a
|
||||
* read method which reads from a HashMap, but does not have any way
|
||||
* of putting things in that HashMap.
|
||||
*/
|
||||
public class Example02_PatientResourceProvider implements IResourceProvider {
|
||||
|
||||
private Map<IdDt, Patient> myPatients = new HashMap<IdDt, Patient>();
|
||||
|
||||
/** All Resource Providers must implement this method */
|
||||
@Override
|
||||
public Class<? extends IResource> getResourceType() {
|
||||
return Patient.class;
|
||||
}
|
||||
|
||||
/** Simple implementation of the "read" method */
|
||||
@Read()
|
||||
public Patient read(@IdParam IdDt theId) {
|
||||
Patient retVal = myPatients.get(theId);
|
||||
if (retVal == null) {
|
||||
throw new ResourceNotFoundException(theId);
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue