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 );
}