public static ExpandoTable checkTable( long companyId, String tableName, PortletPreferences preferences) throws Exception { ExpandoTable expandoTable = null; try { expandoTable = ExpandoTableLocalServiceUtil.getTable(companyId, WebFormUtil.class.getName(), tableName); } catch (NoSuchTableException nste) { expandoTable = addTable(companyId, tableName); int i = 1; String fieldLabel = preferences.getValue("fieldLabel" + i, StringPool.BLANK); String fieldType = preferences.getValue("fieldType" + i, StringPool.BLANK); while ((i == 1) || (Validator.isNotNull(fieldLabel))) { if (!fieldType.equalsIgnoreCase("paragraph")) { ExpandoColumnLocalServiceUtil.addColumn( expandoTable.getTableId(), fieldLabel, ExpandoColumnConstants.STRING); } i++; fieldLabel = preferences.getValue("fieldLabel" + i, StringPool.BLANK); } ExpandoColumnLocalServiceUtil.addColumn( expandoTable.getTableId(), "userId", ExpandoColumnConstants.STRING); } return expandoTable; }
public static ExpandoColumn addUserExpandoColumn(long companyId, String name, int type) throws PortalException, SystemException { long tableId = ExpandoUtil.getExpandoTableId(companyId, User.class.getName()); ExpandoColumn column = ExpandoColumnLocalServiceUtil.getColumn(tableId, name); if (column == null) column = ExpandoColumnLocalServiceUtil.addColumn(tableId, name, type); return column; }
@Before @Override public void setUp() throws Exception { super.setUp(); SimpleAction simpleAction = new AddDefaultDocumentLibraryStructuresAction(); String companyIdString = String.valueOf(TestPropsValues.getCompanyId()); simpleAction.run(new String[] {companyIdString}); List<DLFileEntryType> dlFileEntryTypes = DLFileEntryTypeLocalServiceUtil.getFileEntryTypes( PortalUtil.getCurrentAndAncestorSiteGroupIds(group.getGroupId())); for (DLFileEntryType dlFileEntryType : dlFileEntryTypes) { String name = dlFileEntryType.getName(LocaleUtil.getSiteDefault()); if (name.equals(DLFileEntryTypeConstants.NAME_CONTRACT)) { _contractDLFileEntryTypeId = dlFileEntryType.getFileEntryTypeId(); } } ExpandoTable expandoTable = ExpandoTableLocalServiceUtil.addDefaultTable( PortalUtil.getDefaultCompanyId(), DLFileEntry.class.getName()); ExpandoColumnLocalServiceUtil.addColumn( expandoTable.getTableId(), _EXPANDO_ATTRIBUTE_NAME, ExpandoColumnConstants.STRING, StringPool.BLANK); _serviceContext = getServiceContext(); FileEntry fileEntry = DLAppServiceUtil.addFileEntry( group.getGroupId(), parentFolder.getFolderId(), _SOURCE_FILE_NAME, ContentTypes.APPLICATION_OCTET_STREAM, _TITLE, StringPool.BLANK, StringPool.BLANK, _DATA_VERSION_1, _serviceContext); _fileVersion = DLFileVersionLocalServiceUtil.getFileVersion( fileEntry.getFileEntryId(), DLFileEntryConstants.VERSION_DEFAULT); }
protected void doRun(long companyId) throws Exception { ExpandoTable table = null; try { table = ExpandoTableLocalServiceUtil.addTable(companyId, User.class.getName(), "MP"); } catch (DuplicateTableNameException dtne) { table = ExpandoTableLocalServiceUtil.getTable(companyId, User.class.getName(), "MP"); } try { ExpandoColumnLocalServiceUtil.addColumn( table.getTableId(), "client-id", ExpandoColumnConstants.STRING); } catch (DuplicateColumnNameException dcne) { } }
protected void readExpandoTables(PortletDataContext portletDataContext) throws Exception { String xml = portletDataContext.getZipEntryAsString( portletDataContext.getSourceRootPath() + "/expando-tables.xml"); if (xml == null) { return; } Document document = SAXReaderUtil.read(xml); Element rootElement = document.getRootElement(); List<Element> expandoTableElements = rootElement.elements("expando-table"); for (Element expandoTableElement : expandoTableElements) { String className = expandoTableElement.attributeValue("class-name"); ExpandoTable expandoTable = null; try { expandoTable = ExpandoTableLocalServiceUtil.getDefaultTable( portletDataContext.getCompanyId(), className); } catch (NoSuchTableException nste) { expandoTable = ExpandoTableLocalServiceUtil.addDefaultTable( portletDataContext.getCompanyId(), className); } List<Element> expandoColumnElements = expandoTableElement.elements("expando-column"); for (Element expandoColumnElement : expandoColumnElements) { long columnId = GetterUtil.getLong(expandoColumnElement.attributeValue("column-id")); String name = expandoColumnElement.attributeValue("name"); int type = GetterUtil.getInteger(expandoColumnElement.attributeValue("type")); String defaultData = expandoColumnElement.elementText("default-data"); String typeSettings = expandoColumnElement.elementText("type-settings"); Serializable defaultDataObject = ExpandoConverterUtil.getAttributeFromString(type, defaultData); ExpandoColumn expandoColumn = null; try { expandoColumn = ExpandoColumnLocalServiceUtil.getColumn(expandoTable.getTableId(), name); ExpandoColumnLocalServiceUtil.updateColumn( expandoColumn.getColumnId(), name, type, defaultDataObject); } catch (NoSuchColumnException nsce) { expandoColumn = ExpandoColumnLocalServiceUtil.addColumn( expandoTable.getTableId(), name, type, defaultDataObject); } ExpandoColumnLocalServiceUtil.updateTypeSettings(expandoColumn.getColumnId(), typeSettings); portletDataContext.importPermissions( ExpandoColumn.class, columnId, expandoColumn.getColumnId()); } } }