Java源码示例:org.restlet.representation.Variant
示例1
public TopicManagementRestletResource() {
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
getVariants().add(new Variant(MediaType.APPLICATION_JSON));
setNegotiated(false);
_managerControllerHelix = (ManagerControllerHelix) getApplication().getContext()
.getAttributes().get(ManagerControllerHelix.class.toString());
_helixMirrorMakerManager = (HelixMirrorMakerManager) getApplication().getContext()
.getAttributes().get(HelixMirrorMakerManager.class.toString());
_autoTopicWhitelistingManager = (AutoTopicWhitelistingManager) getApplication().getContext()
.getAttributes().get(AutoTopicWhitelistingManager.class.toString());
if (getApplication().getContext().getAttributes()
.containsKey(KafkaBrokerTopicObserver.class.toString())) {
_srcKafkaBrokerTopicObserver = (KafkaBrokerTopicObserver) getApplication().getContext()
.getAttributes().get(KafkaBrokerTopicObserver.class.toString());
} else {
_srcKafkaBrokerTopicObserver = null;
}
}
示例2
public ValidationRestletResource() {
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
getVariants().add(new Variant(MediaType.APPLICATION_JSON));
setNegotiated(false);
_validationManager = (ValidationManager) getApplication().getContext()
.getAttributes().get(ValidationManager.class.toString());
if (getApplication().getContext().getAttributes()
.containsKey(SourceKafkaClusterValidationManager.class.toString())) {
_srcKafkaValidationManager =
(SourceKafkaClusterValidationManager) getApplication().getContext()
.getAttributes().get(SourceKafkaClusterValidationManager.class.toString());
} else {
_srcKafkaValidationManager = null;
}
}
示例3
@Override
public Representation put(final Representation value,
final Variant variant) {
try {
final Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
return ERROR(Status.CLIENT_ERROR_NOT_FOUND);
}
final BundleStartLevelPojo sl = fromRepresentation(value, value.getMediaType());
final BundleStartLevel bsl = bundle.adapt(BundleStartLevel.class);
bsl.setStartLevel(sl.getStartLevel());
return getRepresentation(new BundleStartLevelPojo(bsl), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例4
@Override
public Representation put(final Representation r,
final Variant variant) {
try {
final FrameworkStartLevelPojo sl = fromRepresentation(r, r.getMediaType());
final FrameworkStartLevel fsl = getFrameworkStartLevel();
if (sl.getStartLevel() != 0) {
fsl.setStartLevel(sl.getStartLevel());
}
if (sl.getInitialBundleStartLevel() != 0) {
fsl.setInitialBundleStartLevel(sl.getInitialBundleStartLevel());
}
return SUCCESS(Status.SUCCESS_NO_CONTENT);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例5
protected AbstractOSGiResource(final PojoReflector<T> reflector, final MediaType mediaType) {
this.reflector = reflector;
this.xmlMediaType = new MediaType(mediaType.toString() + MT_XML);
this.jsonMediaType = new MediaType(mediaType.toString() + MT_JSON);
this.setNegotiated(true);
getVariants().add(new Variant(jsonMediaType));
getVariants().add(new Variant(MediaType.APPLICATION_JSON));
getVariants().add(new Variant(xmlMediaType));
getVariants().add(new Variant(MediaType.APPLICATION_XML));
getVariants().add(new Variant(MediaType.TEXT_XML));
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
}
示例6
@Override
public Representation get(final Variant variant) {
try {
final List<Preference<Language>> acceptedLanguages = getClientInfo()
.getAcceptedLanguages();
final String locale = acceptedLanguages == null
|| acceptedLanguages.isEmpty() ? null : acceptedLanguages
.get(0).getMetadata().toString();
final org.osgi.framework.Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
return ERROR(Status.CLIENT_ERROR_NOT_FOUND);
}
return getRepresentation(
mapFromDict(locale == null ? bundle.getHeaders()
: bundle.getHeaders(locale)), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例7
protected Variant getVariant( Request request,
List<Language> possibleLanguages,
List<MediaType> possibleMediaTypes
)
{
Language language = request.getClientInfo().getPreferredLanguage( possibleLanguages );
if( language == null )
{
language = possibleLanguages.get( 0 );
}
MediaType responseType = request.getClientInfo().getPreferredMediaType( possibleMediaTypes );
if( responseType == null && request.getClientInfo()
.getPreferredMediaType( Collections.singletonList( MediaType.ALL ) ) == MediaType.ALL )
{
responseType = possibleMediaTypes.get( 0 );
}
Variant variant = new Variant( responseType, language );
variant.setCharacterSet( CharacterSet.UTF_8 );
return variant;
}
示例8
@Override
protected Representation delete( Variant variant )
throws ResourceException
{
Usecase usecase = UsecaseBuilder.newUsecase( "Remove entity" );
EntityStoreUnitOfWork uow = entityStore.newUnitOfWork( module, usecase, SystemTime.now() );
try
{
EntityReference reference = EntityReference.create( identity );
uow.entityStateOf( module, reference ).remove();
uow.applyChanges().commit();
getResponse().setStatus( Status.SUCCESS_NO_CONTENT );
}
catch( EntityNotFoundException e )
{
uow.discard();
getResponse().setStatus( Status.CLIENT_ERROR_NOT_FOUND );
}
return new EmptyRepresentation();
}
示例9
@Override
protected Representation get( Variant variant )
throws ResourceException
{
// Generate the right representation according to its media type.
if( MediaType.APPLICATION_JSON.equals( variant.getMediaType() ) )
{
return representJson();
}
else if( MediaType.APPLICATION_RDF_XML.equals( variant.getMediaType() ) )
{
return representRdf();
}
else if( MediaType.TEXT_HTML.equals( variant.getMediaType() ) )
{
return representHtml();
}
else if( MediaType.APPLICATION_ATOM.equals( variant.getMediaType() ) )
{
return representAtom();
}
throw new ResourceException( Status.CLIENT_ERROR_NOT_FOUND );
}
示例10
@Override
protected Representation post( Representation entity, Variant variant )
throws ResourceException
{
try
{
/*
* InputStream in = entity.getStream(); ObjectInputStream oin = new ObjectInputStream( in ); String reference
* = oin.readUTF(); Usecase usecase = (Usecase) oin.readUnshared(); MetaInfo unitofwork = (MetaInfo)
* oin.readUnshared(); Iterable<UnitOfWorkEvent> events = (Iterable<UnitOfWorkEvent>) oin.readUnshared();
*
* // Store state try { entityStore.apply( reference, events, usecase, unitofwork ).commit(); } catch(
* ConcurrentEntityStateModificationException e ) { throw new ResourceException(
* Status.CLIENT_ERROR_CONFLICT ); }
*/
}
catch( Exception e )
{
throw new ResourceException( e );
}
return new EmptyRepresentation();
}
示例11
@Override
public Representation get( Variant variant )
throws ResourceException
{
if( variant.getMediaType().equals( MediaType.APPLICATION_RDF_XML ) )
{
return new RdfXmlOutputRepresentation();
}
else if( variant.getMediaType().equals( MediaType.APPLICATION_RDF_TRIG ) )
{
return new RdfTrigOutputRepresentation( MediaType.APPLICATION_RDF_TRIG );
}
else if( variant.getMediaType().equals( MediaType.TEXT_PLAIN ) )
{
return new RdfTrigOutputRepresentation( MediaType.TEXT_PLAIN );
}
return null;
}
示例12
@Override
public Representation toRepresentation( Object source, Variant target, Resource resource )
{
Representation result = null;
if( source instanceof JsonRepresentation )
{
result = (JsonRepresentation<?>) source;
}
else
{
if( target.getMediaType() == null )
{
target.setMediaType( MediaType.APPLICATION_JSON );
}
if( isCompatible( target ) )
{
result = create( target.getMediaType(), source );
}
}
return result;
}
示例13
@Override
public void init(final Context context, final Request request, final Response response) {
super.init(context, request, response);
this.ticketGrantingTicketId = (String) request.getAttributes().get("ticketGrantingTicketId");
this.setNegotiated(false);
this.getVariants().add(new Variant(MediaType.APPLICATION_WWW_FORM));
}
示例14
public TopicManagementRestletResource() {
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
getVariants().add(new Variant(MediaType.APPLICATION_JSON));
setNegotiated(false);
_conf = (ManagerConf) getApplication().getContext().getAttributes()
.get(ManagerConf.class.toString());
_helixMirrorMakerManager = (ControllerHelixManager) getApplication().getContext()
.getAttributes().get(ControllerHelixManager.class.toString());
KafkaClusterValidationManager kafkaValidationManager = (KafkaClusterValidationManager) getApplication()
.getContext().getAttributes().get(KafkaClusterValidationManager.class.toString());
_clusterToObserverMap = kafkaValidationManager.getClusterToObserverMap();
}
示例15
public AdminRestletResource() {
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
getVariants().add(new Variant(MediaType.APPLICATION_JSON));
setNegotiated(false);
_helixMirrorMakerManager = (ControllerHelixManager) getApplication().getContext()
.getAttributes().get(ControllerHelixManager.class.toString());
}
示例16
@Override
public Representation get(final Variant variant) {
try {
return getRepresentation(new ExtensionList(getTracker()), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例17
@Override
public Representation get(final Variant variant) {
try {
final String filter = getQuery().getFirstValue(RestService.FILTER_ID_KEY);
final ServiceReference<?>[] srefs = getBundleContext()
.getAllServiceReferences(null, filter);
return getRepresentation(new ServiceRepresentationList(srefs), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例18
@Override
public Representation get(final Variant variant) {
try {
final Representation rep = getRepresentation(
new BundleRepresentationsList(getBundles()), variant);
return rep;
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例19
@Override
public Representation get(final Variant variant) {
try {
final Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
return ERROR(Status.CLIENT_ERROR_NOT_FOUND);
}
final BundleStartLevel bsl = bundle.adapt(BundleStartLevel.class);
final BundleStartLevelPojo sl = new BundleStartLevelPojo(bsl);
return getRepresentation(sl, variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例20
@Override
public Representation get(final Variant variant) {
try {
return getRepresentation(new FrameworkStartLevelPojo(
getFrameworkStartLevel()), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例21
@Override
public Representation get(final Variant variant) {
try {
final Representation rep = getRepresentation(new BundlePojoList(
getBundles()), variant);
return rep;
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例22
@Override
public Representation get(final Variant variant) {
try {
final Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
setStatus(Status.CLIENT_ERROR_NOT_FOUND);
return null;
}
return getRepresentation(new BundleStatePojo(bundle.getState()),
variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例23
@Override
public Representation put(final Representation value,
final Variant variant) {
try {
final Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
setStatus(Status.CLIENT_ERROR_NOT_FOUND);
return null;
}
final BundleStatePojo targetState = fromRepresentation(value,
value.getMediaType());
if (bundle.getState() == Bundle.UNINSTALLED) {
return ERROR(Status.CLIENT_ERROR_PRECONDITION_FAILED, "target state "
+ targetState.getState() + " not reachable from the current state");
} else if (targetState.getState() == Bundle.ACTIVE) {
bundle.start(targetState.getOptions());
return getRepresentation(
new BundleStatePojo(bundle.getState()), variant);
} else if (targetState.getState() == Bundle.RESOLVED) {
bundle.stop(targetState.getOptions());
return getRepresentation(
new BundleStatePojo(bundle.getState()), variant);
} else {
return ERROR(Status.CLIENT_ERROR_BAD_REQUEST, "target state "
+ targetState.getState() + " not supported");
}
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例24
@Override
public Representation get(final Variant variant) {
try {
final String filter = getQuery().getFirstValue(RestService.FILTER_ID_KEY);
final ServiceReference<?>[] srefs = getBundleContext()
.getAllServiceReferences(null, filter);
return getRepresentation(new ServicePojoList(srefs), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例25
protected Representation ERROR(final Throwable t,
final Variant variant) {
t.printStackTrace();
if (t instanceof BundleException) {
try {
final Representation rep;
final MediaType mt;
if (MediaType.APPLICATION_ALL_XML.includes(variant.getMediaType())) {
mt = MT_BE_XML;
rep = getRepresentation(new BundleExceptionPojo(
(BundleException) t), new Variant(MediaType.TEXT_XML));
} else {
mt = MT_BE_JSON;
rep = getRepresentation(new BundleExceptionPojo(
(BundleException) t), new Variant(MediaType.APPLICATION_JSON));
}
setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
rep.setMediaType(mt);
return rep;
} catch (final Exception ioe) {
// fallback
}
} else if (t instanceof IllegalArgumentException) {
setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
return ERROR;
} else if (t instanceof InvalidSyntaxException) {
setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
return ERROR;
}
setStatus(Status.SERVER_ERROR_INTERNAL, t);
return ERROR;
}
示例26
@Override
public Representation get(final Variant variant) {
try {
final Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
return ERROR(Status.CLIENT_ERROR_NOT_FOUND);
}
return getRepresentation(new BundlePojo(bundle), variant);
} catch (final Exception e) {
return ERROR(e, variant);
}
}
示例27
@Override
public Representation delete(final Variant variant) {
try {
final org.osgi.framework.Bundle bundle = getBundleFromKeys(RestService.BUNDLE_ID_KEY);
if (bundle == null) {
return ERROR(Status.CLIENT_ERROR_NOT_FOUND);
}
bundle.uninstall();
} catch (final Exception e) {
return ERROR(e, variant);
}
return SUCCESS(Status.SUCCESS_NO_CONTENT);
}
示例28
public EntityResource()
{
// Define the supported variant.
getVariants().addAll( Arrays.asList(
new Variant( MediaType.TEXT_HTML ),
new Variant( MediaType.APPLICATION_RDF_XML ),
new Variant( MediaType.APPLICATION_JSON ) ) );
setNegotiated( true );
setAllowedMethods( Collections.singleton( Method.ALL ) );
}
示例29
public EntitiesResource()
{
super();
// Define the supported variants.
getVariants().addAll(
Arrays.asList( new Variant( MediaType.TEXT_HTML ), new Variant( MediaType.APPLICATION_RDF_XML ),
new Variant( MediaType.APPLICATION_JSON ), new Variant( MediaType.APPLICATION_ATOM ) ) );
setNegotiated( true );
}
示例30
public IndexResource()
{
getVariants().addAll( Arrays.asList(
new Variant( MediaType.TEXT_PLAIN ),
new Variant( MediaType.APPLICATION_RDF_TRIG ),
new Variant( MediaType.APPLICATION_RDF_XML ) ) );
setNegotiated( true );
}