This conversation has been locked due to inactivity. Please create a new post.
This conversation has been locked due to inactivity. Please create a new post.
Hi,
I am trying to create a Video Component, that will look like Image component(just drag and drop the asset).
This is how I build the dialog:
<video
jcr:primaryType="nt:unstructured"
sling:resourceType="cq/gui/components/authoring/dialog/fileupload"
autoStart="{Boolean}false"
class="cq-droptarget"
fieldLabel="Image asset"
fileNameParameter="./fileName"
fileReferenceParameter="./fileReference"
mimeTypes="[video/quicktime]"
multiple="{Boolean}false"
name="./video"
title="Upload Image Asset"
uploadUrl="${suffix.path}"
useHTML5="{Boolean}true"/>But, I can not return the path from the java model.
Solved! Go to Solution.
Views
Replies
Total Likes
@AD-EngineerCan you try this:
Remove ValueMapValue annotation and add below method
@PostConstruct
protected void initModel() {
video = componentResource.getValueMap().get("fileReference", String.class);
}
Hi @AD-Engineer
Can you try the dailog field as a path field rather than the fileupload?
Thanks,
Kiran Vedantam
It should be file upload
Hi @AD-Engineer ,
You need to used filereference in sling model to access the path of video.
Regards,
Sanjay
@Sanjay_Bangar yes but how?
this is my method:
public String getVideo() {
return video;
}It is not returning anything
Hi @AD-Engineer, could you please share part of code responsible for video variable initialization,. How video value is set in you sling model?
@ValueMapValue
private String video;
Ok, so assuming that video variable represents path to asset, I would suggest to do following change in your code
@ValueMapValue(name = "fileReference")
private String video;Current behavior is correct because video is not representing any specific property in the repository it's defining node name.
@AD-Engineer Could you please share the entire sling model source code?
@Model(
adaptables = {SlingHttpServletRequest.class},
adapters = {VideoComp.class},
resourceType = {ResourceType.Constants.VIDEO_COMP},
defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL
)
@Slf4j
public class VideoCompImpl implements VideoComp {
@Inject
Resource componentResource;
@OSGiService
private ModelFactory modelFactory;
@Self
private SlingHttpServletRequest request;
@ValueMapValue(name = "fileReference")
private String video;
@Override
public boolean isEmpty() {
return false;
}
@Override
public String getVideo() {
return video;
}
}
@AD-EngineerCan you try this:
Remove ValueMapValue annotation and add below method
@PostConstruct
protected void initModel() {
video = componentResource.getValueMap().get("fileReference", String.class);
}
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies