use of org.wso2.carbon.registry.core.Tag in project carbon-apimgt by wso2.
the class TagMappingUtilTestCase method testFromTagToDTO.
@Test
public void testFromTagToDTO() {
Tag.Builder tagBuilder = new Tag.Builder();
Tag tag = tagBuilder.name("tag1").count(1).build();
TagDTO tagDTO = TagMappingUtil.fromTagToDTO(tag);
assertEquals(tag.getName(), tagDTO.getName());
assertEquals((Integer) tag.getCount(), tagDTO.getWeight());
}
use of org.wso2.carbon.registry.core.Tag in project carbon-business-process by wso2.
the class NotificationScheduler method publishEmailNotifications.
/**
* Publish Email notifications by extracting the information from the incoming message rendering tags
* <htd:renderings>
* <htd:rendering type="wso2:email" xmlns:wso2="http://wso2.org/ht/schema/renderings/">
* <wso2:to name="to" type="xsd:string">wso2bpsemail@wso2.com</wso2:to>
* <wso2:subject name="subject" type="xsd:string">email subject to user</wso2:subject>
* <wso2:body name="body" type="xsd:string">Hi email notifications</wso2:body>
* </htd:rendering>
* <htd:rendering type="wso2:sms" xmlns:wso2="http://wso2.org/ht/schema/renderings/">
* <wso2:receiver name="receiver" type="xsd:string">94777459299</wso2:receiver>
* <wso2:body name="body" type="xsd:string">Hi $firstname$</wso2:body>
* </htd:rendering>
*</htd:renderings>
*
* @param task TaskDAO object for this notification task instance
* @param taskConfiguration task configuration instance for this notification task definition
*/
public void publishEmailNotifications(TaskDAO task, HumanTaskBaseConfiguration taskConfiguration) throws IOException, SAXException, ParserConfigurationException {
String rendering = CommonTaskUtil.getRendering(task, taskConfiguration, new QName(HumanTaskConstants.RENDERING_NAMESPACE, HumanTaskConstants.RENDERING_TYPE_EMAIL));
if (rendering != null) {
Map<String, String> dynamicPropertiesForEmail = new HashMap<String, String>();
Element root = DOMUtils.stringToDOM(rendering);
if (root != null) {
String emailBody = null;
String mailSubject = null;
String mailTo = null;
String contentType = null;
NodeList mailToList = root.getElementsByTagNameNS(HumanTaskConstants.RENDERING_NAMESPACE, HumanTaskConstants.EMAIL_TO_TAG);
if (log.isDebugEnabled()) {
log.debug("Parsing Email notification rendering element to for notification id " + task.getId());
}
if (mailToList != null && mailToList.getLength() > 0) {
mailTo = mailToList.item(0).getTextContent();
} else {
log.warn("Email to address not specified for email notification with notification id " + task.getId());
}
NodeList mailSubjectList = root.getElementsByTagNameNS(HumanTaskConstants.RENDERING_NAMESPACE, HumanTaskConstants.EMAIL_SUBJECT_TAG);
if (log.isDebugEnabled()) {
log.debug("Paring Email notification rendering element subject " + task.getId());
}
if (mailSubjectList != null && mailSubjectList.getLength() > 0) {
mailSubject = mailSubjectList.item(0).getTextContent();
} else {
log.warn("Email subject not specified for email notification with notification id " + task.getId());
}
NodeList mailContentType = root.getElementsByTagNameNS(HumanTaskConstants.RENDERING_NAMESPACE, HumanTaskConstants.EMAIL_CONTENT_TYPE_TAG);
if (log.isDebugEnabled()) {
log.debug("Paring Email notification rendering element contentType " + task.getId());
}
if (mailContentType != null && mailContentType.getLength() > 0) {
contentType = mailContentType.item(0).getTextContent();
} else {
contentType = HumanTaskConstants.CONTENT_TYPE_TEXT_PLAIN;
log.warn("Email contentType not specified for email notification with notification id " + task.getId() + ". Using text/plain.");
}
if (log.isDebugEnabled()) {
log.debug("Parsing Email notification rendering element body tag for notification id " + task.getId());
}
NodeList emailBodyList = root.getElementsByTagNameNS(HumanTaskConstants.RENDERING_NAMESPACE, HumanTaskConstants.EMAIL_OR_SMS_BODY_TAG);
if (emailBodyList != null && emailBodyList.getLength() > 0) {
emailBody = emailBodyList.item(0).getTextContent();
} else {
log.warn("Email notification message body not specified for notification with id " + task.getId());
}
dynamicPropertiesForEmail.put(HumanTaskConstants.ARRAY_EMAIL_ADDRESS, mailTo);
dynamicPropertiesForEmail.put(HumanTaskConstants.ARRAY_EMAIL_SUBJECT, mailSubject);
dynamicPropertiesForEmail.put(HumanTaskConstants.ARRAY_EMAIL_TYPE, contentType);
String adaptorName = getAdaptorName(task.getName(), HumanTaskConstants.RENDERING_TYPE_EMAIL);
if (!emailAdapterNames.contains(adaptorName)) {
OutputEventAdapterConfiguration outputEventAdapterConfiguration = createOutputEventAdapterConfiguration(adaptorName, HumanTaskConstants.RENDERING_TYPE_EMAIL, HumanTaskConstants.EMAIL_MESSAGE_FORMAT);
try {
HumanTaskServiceComponent.getOutputEventAdapterService().create(outputEventAdapterConfiguration);
emailAdapterNames.add(adaptorName);
} catch (OutputEventAdapterException e) {
log.error("Unable to create Output Event Adapter : " + adaptorName, e);
}
}
HumanTaskServiceComponent.getOutputEventAdapterService().publish(adaptorName, dynamicPropertiesForEmail, emailBody);
// emailAdapter.publish(emailBody, dynamicPropertiesForEmail);
}
} else {
log.warn("Email Rendering type not found for task definition with task id " + task.getId());
}
}
use of org.wso2.carbon.registry.core.Tag in project ballerina by ballerina-lang.
the class SymbolResolver method resolveOperator.
private BSymbol resolveOperator(ScopeEntry entry, List<BType> types) {
BSymbol foundSymbol = symTable.notFoundSymbol;
while (entry != NOT_FOUND_ENTRY) {
BInvokableType opType = (BInvokableType) entry.symbol.type;
if (types.size() == opType.paramTypes.size()) {
boolean match = true;
for (int i = 0; i < types.size(); i++) {
if (types.get(i).tag != opType.paramTypes.get(i).tag) {
match = false;
}
}
if (match) {
foundSymbol = entry.symbol;
break;
}
}
entry = entry.next;
}
return foundSymbol;
}
use of org.wso2.carbon.registry.core.Tag in project ballerina by ballerina-lang.
the class TaintAnalyzer method visit.
public void visit(BLangXMLElementLiteral xmlElementLiteral) {
SymbolEnv xmlElementEnv = SymbolEnv.getXMLElementEnv(xmlElementLiteral, env);
// Visit in-line namespace declarations
boolean inLineNamespaceTainted = false;
for (BLangXMLAttribute attribute : xmlElementLiteral.attributes) {
if (attribute.name.getKind() == NodeKind.XML_QNAME && ((BLangXMLQName) attribute.name).prefix.value.equals(XMLConstants.XMLNS_ATTRIBUTE)) {
attribute.accept(this);
attribute.symbol.tainted = getObservedTaintedStatus();
if (attribute.symbol.tainted) {
inLineNamespaceTainted = true;
}
}
}
// Visit attributes.
boolean attributesTainted = false;
for (BLangXMLAttribute attribute : xmlElementLiteral.attributes) {
if (attribute.name.getKind() == NodeKind.XML_QNAME && !((BLangXMLQName) attribute.name).prefix.value.equals(XMLConstants.XMLNS_ATTRIBUTE)) {
attribute.accept(this);
attribute.symbol.tainted = getObservedTaintedStatus();
if (attribute.symbol.tainted) {
attributesTainted = true;
}
}
}
// Visit the tag names
xmlElementLiteral.startTagName.accept(this);
boolean startTagTaintedStatus = getObservedTaintedStatus();
boolean endTagTaintedStatus = false;
if (xmlElementLiteral.endTagName != null) {
xmlElementLiteral.endTagName.accept(this);
endTagTaintedStatus = getObservedTaintedStatus();
}
boolean tagNamesTainted = startTagTaintedStatus || endTagTaintedStatus;
// Visit the children
boolean childrenTainted = false;
for (BLangExpression expr : xmlElementLiteral.children) {
expr.accept(this);
if (getObservedTaintedStatus()) {
childrenTainted = true;
}
}
setTaintedStatusList(inLineNamespaceTainted || attributesTainted || tagNamesTainted || childrenTainted);
}
use of org.wso2.carbon.registry.core.Tag in project ballerina by ballerina-lang.
the class EndpointSPIAnalyzer method getEndpointTypeFromServiceType.
public BStructType getEndpointTypeFromServiceType(DiagnosticPos pos, BType type) {
if (type.tag != TypeTags.STRUCT) {
dlog.error(pos, DiagnosticCode.ENDPOINT_STRUCT_TYPE_REQUIRED);
return null;
}
final BStructSymbol serviceType = (BStructSymbol) type.tsymbol;
for (BStructSymbol.BAttachedFunction attachedFunc : serviceType.attachedFuncs) {
if (Names.EP_SERVICE_GET_ENDPOINT.equals(attachedFunc.funcName)) {
if (attachedFunc.type.getParameterTypes().size() != 0 || attachedFunc.type.retTypes.size() != 1 || attachedFunc.type.retTypes.get(0).tag != TypeTags.STRUCT) {
dlog.error(pos, DiagnosticCode.SERVICE_INVALID_STRUCT_TYPE, serviceType);
return null;
}
final BStructSymbol endPointType = (BStructSymbol) attachedFunc.type.retTypes.get(0).tsymbol;
if (isValidEndpointSPI(pos, endPointType)) {
return (BStructType) attachedFunc.type.retTypes.get(0);
}
break;
}
}
dlog.error(pos, DiagnosticCode.SERVICE_INVALID_STRUCT_TYPE, serviceType);
return null;
}
Aggregations