use of org.apache.wicket.Page in project wicket by apache.
the class PageProviderTest method ignorePageFoundByIdIfItsClassDoesntMatch.
/**
* https://issues.apache.org/jira/browse/WICKET-4488
*
* There is a stored page with id = 0 and class Page1.
* A following request to page2?0 should not use the stored page with id=0 because
* the requested and the found page classes do not match.
*/
@Test
public void ignorePageFoundByIdIfItsClassDoesntMatch() {
TestMapperContext mapperContext = new TestMapperContext();
Page page = new TestPage();
mapperContext.getPageManager().touchPage(page);
mapperContext.getPageManager().commitRequest();
// by cleaning session cache we make sure of not being testing the same in-memory instance
mapperContext.cleanSessionCache();
PageProvider provider = new PageProvider(page.getPageId(), MockPageWithLink.class, 0);
assertFalse(provider.hasPageInstance());
assertEquals(MockPageWithLink.class, provider.getPageClass());
assertTrue(provider.doesProvideNewPage());
}
use of org.apache.wicket.Page in project wicket by apache.
the class PackageStringResourceLoaderTest method packageFileInParentPackage.
/**
*/
@Test
public void packageFileInParentPackage() {
Page page = new Test1();
PackageStringResourceLoader loader = new PackageStringResourceLoader();
assertEquals("test 222", loader.loadStringResource(page, "my_package_test_2", null, null, null));
}
use of org.apache.wicket.Page in project wicket by apache.
the class PackageStringResourceLoaderTest method packageFileInComponentPackage.
/**
*/
@Test
public void packageFileInComponentPackage() {
Page page = new Test1();
PackageStringResourceLoader loader = new PackageStringResourceLoader();
assertEquals("test successful", loader.loadStringResource(page, "my_package_test_1", null, null, null));
}
use of org.apache.wicket.Page in project webanno by webanno.
the class BratAnnotationEditor method render.
private void render(GetDocumentResponse response, JCas aJCas) {
VDocument vdoc = new VDocument();
preRenderer.render(vdoc, getModelObject(), aJCas, getLayersToRender());
// Fire render event into backend
extensionRegistry.fireRender(aJCas, getModelObject(), vdoc);
// Fire render event into UI
Page page = (Page) RequestCycle.get().find(IPageRequestHandler.class).getPage();
if (page == null) {
page = getPage();
}
send(page, Broadcast.BREADTH, new RenderAnnotationsEvent(RequestCycle.get().find(IPartialPageRequestHandler.class), aJCas, getModelObject(), vdoc));
if (isHighlightEnabled()) {
AnnotatorState state = getModelObject();
if (state.getSelection().getAnnotation().isSet()) {
vdoc.add(new VAnnotationMarker(VMarker.FOCUS, state.getSelection().getAnnotation()));
}
}
BratRenderer.render(response, getModelObject(), vdoc, aJCas, annotationService);
}
use of org.apache.wicket.Page in project webanno by webanno.
the class RelationRenderer method render.
@Override
public void render(final JCas aJcas, List<AnnotationFeature> aFeatures, VDocument aResponse, AnnotatorState aBratAnnotatorModel) {
List<AnnotationFeature> visibleFeatures = aFeatures.stream().filter(f -> f.isVisible() && f.isEnabled()).collect(Collectors.toList());
ArcAdapter typeAdapter = getTypeAdapter();
Type type = getType(aJcas.getCas(), typeAdapter.getAnnotationTypeName());
int windowBegin = aBratAnnotatorModel.getWindowBeginOffset();
int windowEnd = aBratAnnotatorModel.getWindowEndOffset();
Feature dependentFeature = type.getFeatureByBaseName(typeAdapter.getTargetFeatureName());
Feature governorFeature = type.getFeatureByBaseName(typeAdapter.getSourceFeatureName());
Type spanType = getType(aJcas.getCas(), typeAdapter.getAttachTypeName());
Feature arcSpanFeature = spanType.getFeatureByBaseName(typeAdapter.getAttachFeatureName());
FeatureStructure dependentFs;
FeatureStructure governorFs;
Map<Integer, Set<Integer>> relationLinks = getRelationLinks(aJcas, windowBegin, windowEnd, type, dependentFeature, governorFeature, arcSpanFeature);
// if this is a governor for more than one dependent, avoid duplicate yield
List<Integer> yieldDeps = new ArrayList<>();
for (AnnotationFS fs : selectCovered(aJcas.getCas(), type, windowBegin, windowEnd)) {
if (typeAdapter.getAttachFeatureName() != null) {
dependentFs = fs.getFeatureValue(dependentFeature).getFeatureValue(arcSpanFeature);
governorFs = fs.getFeatureValue(governorFeature).getFeatureValue(arcSpanFeature);
} else {
dependentFs = fs.getFeatureValue(dependentFeature);
governorFs = fs.getFeatureValue(governorFeature);
}
String bratTypeName = TypeUtil.getUiTypeName(typeAdapter);
Map<String, String> features = getFeatures(typeAdapter, fs, visibleFeatures);
if (dependentFs == null || governorFs == null) {
RequestCycle requestCycle = RequestCycle.get();
IPageRequestHandler handler = PageRequestHandlerTracker.getLastHandler(requestCycle);
Page page = (Page) handler.getPage();
StringBuilder message = new StringBuilder();
message.append("Relation [" + typeAdapter.getLayer().getName() + "] with id [" + getAddr(fs) + "] has loose ends - cannot render.");
if (typeAdapter.getAttachFeatureName() != null) {
message.append("\nRelation [" + typeAdapter.getLayer().getName() + "] attached to feature [" + typeAdapter.getAttachFeatureName() + "].");
}
message.append("\nDependent: " + dependentFs);
message.append("\nGovernor: " + governorFs);
page.warn(message.toString());
continue;
}
aResponse.add(new VArc(typeAdapter.getLayer(), fs, bratTypeName, governorFs, dependentFs, features));
// Render errors if required features are missing
renderRequiredFeatureErrors(visibleFeatures, fs, aResponse);
if (relationLinks.keySet().contains(getAddr(governorFs)) && !yieldDeps.contains(getAddr(governorFs))) {
yieldDeps.add(getAddr(governorFs));
// sort the annotations (begin, end)
List<Integer> sortedDepFs = new ArrayList<>(relationLinks.get(getAddr(governorFs)));
sortedDepFs.sort(comparingInt(arg0 -> selectByAddr(aJcas, arg0).getBegin()));
String cm = getYieldMessage(aJcas, sortedDepFs);
aResponse.add(new VComment(governorFs, VCommentType.YIELD, cm));
}
}
}
Aggregations