erstellen Ich muss die Struktur und Vorlage progrmatisch durch Java-Code erstellen.Ich verwendete folgende Code-Schnipsel.Wie Sie Struktur und Vorlage programmatisch in Liferay 6
Struktur:
public void createStructure(String userName,long userId){
log_.info("Inside create structure ");
long structureId=115203;
DDMStructure ddmStructure=DDMStructureLocalServiceUtil.createDDMStructure(structureId);
ddmStructure.setName("MigrationStructure");
ddmStructure.setDescription("This Structure created programatically");
ddmStructure.setUserId(userId);
ddmStructure.setUserName(userName);
File fXmlFile = new File("D:/FilesDataMigration/structure.xml");
try {
Document document = SAXReaderUtil.read(fXmlFile);
ddmStructure.setDocument(document);
DDMStructureLocalServiceUtil.addDDMStructure(ddmStructure);
}catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
log_.info("Inside create structure done");
}
Vorlage:
public void createTemplate(String userName,long userId){
log_.info("Inside create template ");
long templateId=12504;
DDMTemplate ddmTemplate=DDMTemplateLocalServiceUtil.createDDMTemplate(templateId);
ddmTemplate.setName("MigrationTemplate");
ddmTemplate.setDescription("This Template created programatically");
ddmTemplate.setUserId(userId);
ddmTemplate.setUserName(userName);
try {
BufferedReader br = new BufferedReader(new FileReader("D:/FilesDataMigration/template.txt"));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
String script = sb.toString();
ddmTemplate.setScript(script);
DDMTemplateLocalServiceUtil.addDDMTemplate(ddmTemplate);
}catch(IOException e){
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
log_.info("Inside create template done");
}
Der oben genannte Schnipsel ausgeführt werden richtig aus irgendwelchen Ausnahmen aber nicht in der Lage im Inhaltsbereich der Kontrolle zu sehen Panel.Suggest mich wenn etwas falsch ist
Zunächst, welche Art von Strukturen oder Vorlagen möchten Sie erstellen? –
Sie setzen nicht alle erforderlichen Eigenschaften, wie 'classNameId',' language' usw. –
Außerdem sollten Sie 'DDMStructure ddmStructure = DDMSstructureUtil.create (CounterLocalServiceUtil.increment());' und 'DDMTemplate ddmTemplate = DDMTemplateUtil.create verwenden (CounterLocalServiceUtil.increment()); 'anstelle von fest codierten IDs. –