
com.reprezen.genflow.rapidml.wadl.xtend.WadlHelper Maven / Gradle / Ivy
The newest version!
/**
* Copyright © 2013, 2016 Modelsolv, Inc.
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains the property
* of ModelSolv, Inc. See the file license.html in the root directory of
* this project for further information.
*/
package com.reprezen.genflow.rapidml.wadl.xtend;
import com.google.common.base.Objects;
import com.reprezen.genflow.api.zenmodel.util.CommonServices;
import com.reprezen.rapidml.Element;
import com.reprezen.rapidml.Feature;
import com.reprezen.rapidml.LinkRelation;
import com.reprezen.rapidml.MediaType;
import com.reprezen.rapidml.MessageParameter;
import com.reprezen.rapidml.Parameter;
import com.reprezen.rapidml.PrimitiveProperty;
import com.reprezen.rapidml.PrimitiveTypeSourceReference;
import com.reprezen.rapidml.PropertyRealization;
import com.reprezen.rapidml.PropertyReference;
import com.reprezen.rapidml.ReferenceLink;
import com.reprezen.rapidml.ReferenceProperty;
import com.reprezen.rapidml.SourceReference;
import com.reprezen.rapidml.TypedMessage;
import java.util.Arrays;
import java.util.Collection;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@SuppressWarnings("all")
public class WadlHelper {
private final CommonServices commonServices = new CommonServices();
public String getRelValue(final ReferenceLink referenceLink) {
LinkRelation _linkRelation = referenceLink.getLinkRelation();
String _name = null;
if (_linkRelation!=null) {
_name=_linkRelation.getName();
}
return _name;
}
/**
* MediaTypeHelpers begin
*/
public Collection getMediaSuperTypes(final MediaType mediaType) {
return this.commonServices.getMediaSuperTypes(mediaType);
}
public boolean supportsJaxb(final MediaType mediaType) {
return (this.mediaTypeIsKindOf(mediaType, "application/json") || this.isXmlMediaType(mediaType));
}
public boolean isXmlMediaType(final MediaType mediaType) {
return this.mediaTypeIsKindOf(mediaType, "application/xml");
}
public boolean mediaTypeIsKindOf(final MediaType mediaType, final String mediaTypeName) {
boolean _xblockexpression = false;
{
Collection mediaTypesList = this.getMediaSuperTypes(mediaType);
mediaTypesList.add(mediaType);
final Function1 _function = (MediaType it) -> {
String _name = it.getName();
return Boolean.valueOf(Objects.equal(_name, mediaTypeName));
};
_xblockexpression = IterableExtensions.exists(mediaTypesList, _function);
}
return _xblockexpression;
}
/**
* Parameters Helpers
*/
public String paramName(final SourceReference sourceReference) {
return ((PropertyReference) sourceReference).getConceptualFeature().getName();
}
public Iterable getPrimitiveParameters(final TypedMessage message) {
final Function1 _function = (MessageParameter it) -> {
return Boolean.valueOf(this.isPrimitivePropertyParameter(it));
};
return IterableExtensions.filter(message.getParameters(), _function);
}
public boolean isPrimitivePropertyParameter(final Parameter parameter) {
return this.isPrimitiveSourceReference(parameter.getSourceReference());
}
public PrimitiveProperty getPrimitiveProperty(final Parameter parameter) {
SourceReference _sourceReference = parameter.getSourceReference();
PrimitiveProperty _conceptualFeature = ((PropertyReference) _sourceReference).getConceptualFeature();
return ((PrimitiveProperty) _conceptualFeature);
}
public Iterable getReferenceParameters(final TypedMessage message) {
final Function1 _function = (MessageParameter it) -> {
return Boolean.valueOf(this.isReferencePropertyParameter(it));
};
return IterableExtensions.filter(message.getParameters(), _function);
}
public boolean isReferencePropertyParameter(final Parameter parameter) {
return this.isReferenceSourceReference(parameter.getSourceReference());
}
/**
* MessageType Helpers
*/
public String getMessageTypeName(final TypedMessage message) {
return CommonServices.getMessageTypeName(message);
}
public boolean isPrimitiveSourceReference(final SourceReference sourceReference) {
boolean _xifexpression = false;
if ((sourceReference instanceof PropertyReference)) {
_xifexpression = this.isPrimitivePropertyReference(((PropertyReference) sourceReference));
} else {
_xifexpression = (sourceReference instanceof PrimitiveTypeSourceReference);
}
return _xifexpression;
}
public String primitiveFeatureType(final PrimitiveProperty primitiveProperty) {
return primitiveProperty.getType().getName();
}
public boolean isReferenceSourceReference(final SourceReference sourceReference) {
boolean _xifexpression = false;
if ((sourceReference instanceof PropertyReference)) {
_xifexpression = this.isReferencePropertyReference(((PropertyReference) sourceReference));
} else {
_xifexpression = false;
}
return _xifexpression;
}
public boolean isReferencePropertyReference(final PropertyReference featureReference) {
return this.isReferenceProperty(featureReference.getConceptualFeature());
}
public boolean isReferenceProperty(final Feature feature) {
return (feature instanceof ReferenceProperty);
}
public boolean isPrimitivePropertyReference(final PropertyReference featureReference) {
return this.isPrimitiveProperty(featureReference.getConceptualFeature());
}
public boolean isPrimitiveProperty(final Feature feature) {
return (feature instanceof PrimitiveProperty);
}
protected boolean _isMultiValued(final Element feature) {
return ((feature.getMaxOccurs() > 1) || (feature.getMaxOccurs() == (-1)));
}
protected boolean _isMultiValued(final PropertyRealization feature) {
return ((feature.getMaxOccurs() > 1) || (feature.getMaxOccurs() == (-1)));
}
public T getEContainer(final EObject ele, final Class type) {
return CommonServices.getContainerOfType(ele, type);
}
public boolean isMultiValued(final EObject feature) {
if (feature instanceof PropertyRealization) {
return _isMultiValued((PropertyRealization)feature);
} else if (feature instanceof Element) {
return _isMultiValued((Element)feature);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy