本文整理汇总了Java中com.thoughtworks.xstream.security.NullPermission类的典型用法代码示例。如果您正苦于以下问题:Java NullPermission类的具体用法?Java NullPermission怎么用?Java NullPermission使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NullPermission类属于com.thoughtworks.xstream.security包,在下文中一共展示了NullPermission类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: readFromXml
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
static Object readFromXml(InputStream bufferedInput) throws IOException {
final XStream xstream = createXStream(false);
// see http://x-stream.github.io/security.html
// clear out existing permissions and set own ones
xstream.addPermission(NoTypePermission.NONE);
// allow some basics
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
xstream.allowTypesByWildcard(
new String[] { "java.lang.*", "java.util.*", "java.util.concurrent.*" });
// allow any type from the same package
xstream.allowTypesByWildcard(new String[] { PACKAGE_NAME + ".*" });
final InputStreamReader reader = new InputStreamReader(bufferedInput, XML_CHARSET_NAME);
try {
return xstream.fromXML(reader);
} finally {
reader.close();
}
}
开发者ID:javamelody,项目名称:javamelody,代码行数:20,代码来源:TransportFormat.java
示例2: createXStream1
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
private static XStream createXStream1(boolean ignoreMissingMembers, StaxDriver staxDriver,
Class... annotatedClassesToProcess) {
XStream xstream = new ResilientXStream(ignoreMissingMembers, staxDriver);
xstream.registerConverter(new RepoPathConverter());
xstream.registerConverter(new PropertiesConverter());
xstream.registerConverter(new ChecksumsInfoConverter());
xstream.registerConverter(new UserGroupInfoConverter());
for (Class annotatedClass : annotatedClassesToProcess) {
xstream.processAnnotations(annotatedClass);
}
xstream.alias("repoPath", RepoPath.class, RepoPathImpl.class);
// clear out existing permissions and set own ones
xstream.addPermission(NoTypePermission.NONE);
// allow some basics
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
xstream.addPermission(ArrayTypePermission.ARRAYS);
xstream.allowTypeHierarchy(Collection.class);
xstream.allowTypeHierarchy(String.class);
// allow any type from the same package
xstream.allowTypesByWildcard(new String[]{"org.artifactory.**", "org.jfrog.**"});
return xstream;
}
开发者ID:alancnet,项目名称:artifactory,代码行数:26,代码来源:XStreamFactory.java
示例3: getInstance
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
public static XStream getInstance() {
XStream xstream = new XStream(new XppDriver() {
@Override
public HierarchicalStreamWriter createWriter(Writer out) {
return new PrettyPrintWriter(out, getNameCoder()) {
protected String PREFIX_CDATA = "<![CDATA[";
protected String SUFFIX_CDATA = "]]>";
protected String PREFIX_MEDIA_ID = "<MediaId>";
protected String SUFFIX_MEDIA_ID = "</MediaId>";
@Override
protected void writeText(QuickWriter writer, String text) {
if (text.startsWith(this.PREFIX_CDATA) && text.endsWith(this.SUFFIX_CDATA)) {
writer.write(text);
} else if (text.startsWith(this.PREFIX_MEDIA_ID) && text.endsWith(this.SUFFIX_MEDIA_ID)) {
writer.write(text);
} else {
super.writeText(writer, text);
}
}
@Override
public String encodeNode(String name) {
return name;//防止将_转换成__
}
};
}
});
xstream.ignoreUnknownElements();
xstream.setMode(XStream.NO_REFERENCES);
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
return xstream;
}
开发者ID:11590692,项目名称:Wechat-Group,代码行数:37,代码来源:XStreamInitializer.java
示例4: setupSecurity
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
protected void setupSecurity() {
if (securityMapper == null) {
return;
}
addPermission(NullPermission.NULL);
addPermission(PrimitiveTypePermission.PRIMITIVES);
addPermission(ArrayTypePermission.ARRAYS);
addPermission(InterfaceTypePermission.INTERFACES);
allowTypeHierarchy(Calendar.class);
allowTypeHierarchy(Collection.class);
allowTypeHierarchy(Enum.class);
allowTypeHierarchy(Map.class);
allowTypeHierarchy(Map.Entry.class);
allowTypeHierarchy(Member.class);
allowTypeHierarchy(Number.class);
allowTypeHierarchy(Throwable.class);
allowTypeHierarchy(TimeZone.class);
final Set<Class<?>> types = new HashSet<Class<?>>();
types.addAll(Arrays.<Class<?>>asList(BitSet.class, Charset.class, Class.class, Currency.class, Date.class,
DecimalFormatSymbols.class, File.class, Locale.class, Object.class, Pattern.class, StackTraceElement.class,
String.class, StringBuffer.class, StringBuilder.class, URL.class, URI.class, UUID.class));
if (JVM.isSQLAvailable()) {
types.add(JVM.loadClassForName("java.sql.Timestamp"));
types.add(JVM.loadClassForName("java.sql.Time"));
types.add(JVM.loadClassForName("java.sql.Date"));
}
types.remove(null);
allowTypes(types.toArray(new Class[types.size()]));
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:32,代码来源:XStream.java
示例5: getInstance
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
public static XStream getInstance() {
XStream xstream = new XStream(new XppDriver() {
@Override
public HierarchicalStreamWriter createWriter(Writer out) {
return new PrettyPrintWriter(out, getNameCoder()) {
protected String PREFIX_CDATA = "<![CDATA[";
protected String SUFFIX_CDATA = "]]>";
@Override
protected void writeText(QuickWriter writer, String text) {
if (text.startsWith(PREFIX_CDATA) && text.endsWith(SUFFIX_CDATA)) {
writer.write(text);
} else {
super.writeText(writer, text);
}
}
};
}
});
xstream.ignoreUnknownElements();
xstream.setMode(XStream.NO_REFERENCES);
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
return xstream;
}
开发者ID:benyzhous,项目名称:springboot-quick-build,代码行数:28,代码来源:XStreamInitializer.java
示例6: testNullType
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
public void testNullType() {
register(String.class, Mapper.Null.class);
mapper.addPermission(NullPermission.NULL);
assertSame(Mapper.Null.class, mapper.realClass(Mapper.Null.class.getName()));
assertNull(mapper.realClass(null));
try {
mapper.realClass(String.class.getName());
fail("Thrown " + ForbiddenClassException.class.getName() + " expected");
} catch (final ForbiddenClassException e) {
assertEquals(String.class.getName(), e.getMessage());
}
}
开发者ID:x-stream,项目名称:xstream,代码行数:13,代码来源:SecurityMapperTest.java
示例7: getInstance
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
public static XStream getInstance() {
XStream xstream = new XStream(new XppDriver() {
@Override
public HierarchicalStreamWriter createWriter(Writer out) {
return new PrettyPrintWriter(out, getNameCoder()) {
protected String PREFIX_CDATA = "<![CDATA[";
protected String SUFFIX_CDATA = "]]>";
protected String PREFIX_MEDIA_ID = "<MediaId>";
protected String SUFFIX_MEDIA_ID = "</MediaId>";
@Override
protected void writeText(QuickWriter writer, String text) {
if (text.startsWith(PREFIX_CDATA) && text.endsWith(SUFFIX_CDATA)) {
writer.write(text);
} else if (text.startsWith(PREFIX_MEDIA_ID) && text.endsWith(SUFFIX_MEDIA_ID)) {
writer.write(text);
} else {
super.writeText(writer, text);
}
}
};
}
});
xstream.ignoreUnknownElements();
xstream.setMode(XStream.NO_REFERENCES);
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
return xstream;
}
开发者ID:danileyang,项目名称:mmp,代码行数:31,代码来源:XStreamInitializer.java
示例8: initXStream
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
private static XStream initXStream() {
XStream xstream = new XStream();
// clear out existing permissions and set own ones
xstream.addPermission(NoTypePermission.NONE);
// allow some classes
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
xstream.allowTypeHierarchy(Collection.class);
xstream.allowTypesByWildcard(new String[] { "java.lang.**", "java.util.**", "java.awt.**", "java.time.**",
"org.zephyrsoft.sdb2.**" });
// aliases and omitted fields of model classes are defined via annotations
xstream.processAnnotations(SongsModel.class);
xstream.processAnnotations(Song.class);
xstream.processAnnotations(SettingsModel.class);
xstream.processAnnotations(StatisticsModel.class);
xstream.processAnnotations(SongStatistics.class);
// custom converters
xstream.registerConverter(new GenericEnumConverter<>(FilterTypeEnum.class));
xstream.registerConverter(new GenericEnumConverter<>(LanguageEnum.class));
xstream.registerConverter(new GenericEnumConverter<>(ScreenContentsEnum.class));
xstream.registerConverter(new FontConverter());
xstream.registerConverter(new DateWithoutTimeConverter());
// unknown XML elements can be ignored (e.g. <linkedSongs> which was removed)
xstream.ignoreUnknownElements();
return xstream;
}
开发者ID:mathisdt,项目名称:sdb2,代码行数:31,代码来源:XMLConverter.java
示例9: setupSecurity
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
protected void setupSecurity() {
if (securityMapper == null) {
return;
}
addPermission(NullPermission.NULL);
addPermission(PrimitiveTypePermission.PRIMITIVES);
addPermission(ArrayTypePermission.ARRAYS);
addPermission(InterfaceTypePermission.INTERFACES);
allowTypeHierarchy(Calendar.class);
allowTypeHierarchy(Collection.class);
allowTypeHierarchy(Enum.class);
allowTypeHierarchy(Map.class);
allowTypeHierarchy(Map.Entry.class);
allowTypeHierarchy(Member.class);
allowTypeHierarchy(Number.class);
allowTypeHierarchy(Throwable.class);
allowTypeHierarchy(TimeZone.class);
allowTypeHierarchy(Path.class);
final Set<Class<?>> types = new HashSet<>();
types.addAll(Arrays.<Class<?>>asList(BitSet.class, Charset.class, Class.class, Currency.class, Date.class,
DecimalFormatSymbols.class, File.class, Locale.class, Object.class, Pattern.class, StackTraceElement.class,
String.class, StringBuffer.class, StringBuilder.class, URL.class, URI.class, UUID.class));
if (JVM.isSQLAvailable()) {
types.add(JVM.loadClassForName("java.sql.Timestamp"));
types.add(JVM.loadClassForName("java.sql.Time"));
types.add(JVM.loadClassForName("java.sql.Date"));
}
if (JVM.is18()) {
allowTypeHierarchy(JVM.loadClassForName("java.time.Clock"));
types.add(JVM.loadClassForName("java.time.Duration"));
types.add(JVM.loadClassForName("java.time.Instant"));
types.add(JVM.loadClassForName("java.time.LocalDate"));
types.add(JVM.loadClassForName("java.time.LocalDateTime"));
types.add(JVM.loadClassForName("java.time.LocalTime"));
types.add(JVM.loadClassForName("java.time.MonthDay"));
types.add(JVM.loadClassForName("java.time.OffsetDateTime"));
types.add(JVM.loadClassForName("java.time.OffsetTime"));
types.add(JVM.loadClassForName("java.time.Period"));
types.add(JVM.loadClassForName("java.time.Ser"));
types.add(JVM.loadClassForName("java.time.Year"));
types.add(JVM.loadClassForName("java.time.YearMonth"));
types.add(JVM.loadClassForName("java.time.ZonedDateTime"));
allowTypeHierarchy(JVM.loadClassForName("java.time.ZoneId"));
types.add(JVM.loadClassForName("java.time.chrono.HijrahDate"));
types.add(JVM.loadClassForName("java.time.chrono.JapaneseDate"));
types.add(JVM.loadClassForName("java.time.chrono.JapaneseEra"));
types.add(JVM.loadClassForName("java.time.chrono.MinguoDate"));
types.add(JVM.loadClassForName("java.time.chrono.ThaiBuddhistDate"));
types.add(JVM.loadClassForName("java.time.chrono.Ser"));
allowTypeHierarchy(JVM.loadClassForName("java.time.chrono.Chronology"));
types.add(JVM.loadClassForName("java.time.temporal.ValueRange"));
types.add(JVM.loadClassForName("java.time.temporal.WeekFields"));
}
types.remove(null);
allowTypes(types.toArray(new Class[types.size()]));
}
开发者ID:x-stream,项目名称:xstream,代码行数:59,代码来源:XStream.java
示例10: loadFromFile
import com.thoughtworks.xstream.security.NullPermission; //导入依赖的package包/类
@Override
public List<Song> loadFromFile(File inputFile) {
LOG.debug("importing songs from file {}", inputFile.getAbsolutePath());
try {
XStream xstream = new XStream();
// clear out existing permissions and set own ones
xstream.addPermission(NoTypePermission.NONE);
// allow some classes
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
xstream.allowTypeHierarchy(Collection.class);
xstream.allowTypesByWildcard(new String[] { "java.lang.**", "java.util.**", "java.awt.**",
"org.zephyrsoft.sdb2.**" });
// aliases and omitted fields of model classes are defined via annotations
xstream.processAnnotations(EasiSlides.class);
xstream.processAnnotations(EasiSlidesSong.class);
// unknown XML elements can be ignored (e.g. <linkedSongs> which was removed)
xstream.ignoreUnknownElements();
InputStream xmlInputStream = new FileInputStream(inputFile);
EasiSlides easiSlides = (EasiSlides) xstream.fromXML(xmlInputStream);
xmlInputStream.close();
List<Song> songs = new LinkedList<>();
// map EasiSlides items to SDB2 songs
for (EasiSlidesSong easiSlidesSong : easiSlides.getEasiSlidesSongs()) {
Song song = new Song(StringTools.createUUID());
song.setTitle(easiSlidesSong.getTitle1());
String lyrics = easiSlidesSong.getContents().replaceAll("([^\n])\n\\[", "$1\n\n[");
song.setLyrics(lyrics);
if (StringUtils.isBlank(easiSlidesSong.getWriter())) {
easiSlidesSong.setWriter(null);
}
if (StringUtils.isBlank(easiSlidesSong.getCopyright())) {
easiSlidesSong.setCopyright(null);
}
if (StringUtils.isBlank(easiSlidesSong.getLicenceAdmin1())) {
easiSlidesSong.setLicenceAdmin1(null);
}
String copyrightNotes = Joiner.on(", ").skipNulls()
.join(easiSlidesSong.getWriter(), easiSlidesSong.getCopyright(), easiSlidesSong.getLicenceAdmin1());
song.setAdditionalCopyrightNotes(copyrightNotes);
songs.add(song);
}
return songs;
} catch (IOException e) {
LOG.error("could not import songs from " + inputFile.getAbsolutePath());
return null;
}
}
开发者ID:mathisdt,项目名称:sdb2,代码行数:56,代码来源:ImportFromEasiSlides.java
注:本文中的com.thoughtworks.xstream.security.NullPermission类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论