forked from openmrs/openmrs-core
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added Provider datatype and its handler
- Loading branch information
Showing
2 changed files
with
140 additions
and
0 deletions.
There are no files selected for viewing
48 changes: 48 additions & 0 deletions
48
api/src/main/java/org/openmrs/customdatatype/datatype/ProviderDatatype.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/** | ||
* The contents of this file are subject to the OpenMRS Public License | ||
* Version 1.0 (the "License"); you may not use this file except in | ||
* compliance with the License. You may obtain a copy of the License at | ||
* http://license.openmrs.org | ||
* | ||
* Software distributed under the License is distributed on an "AS IS" | ||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the | ||
* License for the specific language governing rights and limitations | ||
* under the License. | ||
* | ||
* Copyright (C) OpenMRS, LLC. All Rights Reserved. | ||
*/ | ||
package org.openmrs.customdatatype.datatype; | ||
|
||
import org.apache.commons.lang.StringUtils; | ||
import org.openmrs.Provider; | ||
import org.openmrs.api.context.Context; | ||
import org.openmrs.customdatatype.SerializingCustomDatatype; | ||
import org.springframework.stereotype.Component; | ||
|
||
/** | ||
* Datatype for Provider, represented by org.openmrs.Provider. | ||
* @since 1.9 | ||
This comment has been minimized.
Sorry, something went wrong. |
||
*/ | ||
@Component | ||
public class ProviderDatatype extends SerializingCustomDatatype<Provider> { | ||
|
||
/** | ||
* @see org.openmrs.customdatatype.SerializingCustomDatatype#serialize(java.lang.Object) | ||
*/ | ||
@Override | ||
public String serialize(Provider typedValue) { | ||
if (typedValue == null) | ||
return null; | ||
return typedValue.getUuid(); | ||
} | ||
|
||
/** | ||
* @see org.openmrs.customdatatype.SerializingCustomDatatype#deserialize(java.lang.String) | ||
*/ | ||
@Override | ||
public Provider deserialize(String serializedValue) { | ||
if (StringUtils.isEmpty(serializedValue)) | ||
return null; | ||
return Context.getProviderService().getProviderByUuid(serializedValue); | ||
} | ||
} |
92 changes: 92 additions & 0 deletions
92
web/src/main/java/org/openmrs/web/attribute/handler/ProviderDatatypeHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
/** | ||
* The contents of this file are subject to the OpenMRS Public License | ||
* Version 1.0 (the "License"); you may not use this file except in | ||
* compliance with the License. You may obtain a copy of the License at | ||
* http://license.openmrs.org | ||
* | ||
* Software distributed under the License is distributed on an "AS IS" | ||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the | ||
* License for the specific language governing rights and limitations | ||
* under the License. | ||
* | ||
* Copyright (C) OpenMRS, LLC. All Rights Reserved. | ||
*/ | ||
package org.openmrs.web.attribute.handler; | ||
|
||
import java.util.HashMap; | ||
import java.util.Map; | ||
|
||
import javax.servlet.http.HttpServletRequest; | ||
|
||
import org.apache.commons.lang.StringUtils; | ||
import org.openmrs.Provider; | ||
import org.openmrs.api.context.Context; | ||
import org.openmrs.customdatatype.CustomDatatype; | ||
import org.openmrs.customdatatype.InvalidCustomValueException; | ||
import org.openmrs.customdatatype.datatype.ProviderDatatype; | ||
import org.openmrs.messagesource.MessageSourceService; | ||
import org.springframework.stereotype.Component; | ||
|
||
/** | ||
* Handler for the Provider custom datatype | ||
*/ | ||
@Component | ||
public class ProviderDatatypeHandler implements FieldGenDatatypeHandler<ProviderDatatype, Provider> { | ||
This comment has been minimized.
Sorry, something went wrong. |
||
|
||
/** | ||
* @see org.openmrs.customdatatype.CustomDatatypeHandler#setHandlerConfiguration(java.lang.String) | ||
*/ | ||
@Override | ||
public void setHandlerConfiguration(String arg0) { | ||
// not used | ||
} | ||
|
||
/** | ||
* @see org.openmrs.web.attribute.handler.FieldGenDatatypeHandler#getWidgetName() | ||
*/ | ||
@Override | ||
public String getWidgetName() { | ||
return "provider"; | ||
} | ||
|
||
/** | ||
* @see org.openmrs.web.attribute.handler.FieldGenDatatypeHandler#getWidgetConfiguration() | ||
*/ | ||
@Override | ||
public Map<String, Object> getWidgetConfiguration() { | ||
This comment has been minimized.
Sorry, something went wrong.
wluyima
|
||
return null; | ||
} | ||
|
||
/** | ||
* @see org.openmrs.web.attribute.handler.FieldGenDatatypeHandler#getValue(org.openmrs.customdatatype.CustomDatatype, javax.servlet.http.HttpServletRequest, java.lang.String) | ||
*/ | ||
@Override | ||
public Provider getValue(ProviderDatatype datatype, HttpServletRequest request, | ||
String formFieldName) throws InvalidCustomValueException { | ||
String result = request.getParameter(formFieldName); | ||
if (StringUtils.isBlank(result)) | ||
return null; | ||
try { | ||
return Context.getProviderService().getProviderByUuid(result); | ||
} | ||
catch (Exception e) { | ||
throw new InvalidCustomValueException("Invalid provider: " + result); | ||
} | ||
} | ||
|
||
/** | ||
* @see org.openmrs.web.attribute.handler.HtmlDisplayableDatatypeHandler#toHtmlSummary(org.openmrs.customdatatype.CustomDatatype, java.lang.String) | ||
*/ | ||
@Override | ||
public CustomDatatype.Summary toHtmlSummary(CustomDatatype<Provider> datatype, String valueReference) { | ||
return new CustomDatatype.Summary(valueReference, true); | ||
This comment has been minimized.
Sorry, something went wrong.
wluyima
|
||
} | ||
|
||
/** | ||
* @see org.openmrs.web.attribute.handler.HtmlDisplayableDatatypeHandler#toHtml(org.openmrs.customdatatype.CustomDatatype, java.lang.String) | ||
*/ | ||
@Override | ||
public String toHtml(CustomDatatype<Provider> datatype, String valueReference) { | ||
This comment has been minimized.
Sorry, something went wrong. |
||
return valueReference; | ||
} | ||
} |
should be 1.10