Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! X
Hello all, I'm having a problem to select file for publishing in java code. I want to publish EpmDocument with selected one file from publish rule from java code as do it using Windchill New Representation Wizard! A new job and a new representation is created, but without any file, and it seems that adding user selections doesn't work! Does anyone have any idea how to do it?
Here is my source code:
String objRef = ObjectReference.newObjectReference(element).toString();
Publisher pub = new Publisher();
List<PublishParams> params = pub.getPublishParams(objRef);
for (PublishParams aParam : params) {
ArrayList<AdditionalFile> selectedFiles = new ArrayList<>();
if (aParam.getAdditionalFiles() != null) {
for (AdditionalFile aFile : aParam.getAdditionalFiles()) {
if ("xv3".equals(aFile.getOutputPrefix())) selectedFiles.add(aFile);
}
}
if (!selectedFiles.isEmpty()) aParam.addUserSelections(selectedFiles);
}
pub.doPublish(false, true, objRef, (NavigationCriteria)null, (NavigationCriteria)null, false, "Custom Rep", "Custom Rep Description", Publisher.EPM, null, 1);
Here is a part of my publish rule xml file:
<additional-files name="publish_3dmodel_default">
<file display-label="STEP" type="step" default="false" visible="true" locked="false" output-prefix="step"/>
<file display-label="XVL" type="xvl" default="false" visible="true" locked="false" output-prefix="xv3"/>
<file display-label="PARASOLID" type="PARASOLID" default="false" output-prefix="nondef_PARASOLID_SolidWorks">
<option name="TargetSystem" value="SolidWorks"/>
<option name="ExportContainers" value="Yes"/>
<option name="ExportEmptyParts" value="Yes"/>
</file>
</additional-files>
<if condition="is_cadpart">
<publish on="create-representation" additional-files="publish_3dmodel_default"/>
<publish on="schedule" additional-files="publish_3dmodel_default"/>
<publish on="unknown-source" additional-files="publish_3dmodel_default"/>
<publish on="manual-post" param-set="Additional Files Post Publish for Released Document 3D"/>
</if>
Solved! Go to Solution.
In the meantime, I found the solution using method doRulesPublish:
In the meantime, I found the solution using method doRulesPublish: